From bbb02d18e59e266932269f2b77eaf2eea07e0e49 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Sun, 3 Apr 2022 14:22:20 +0000 Subject: [PATCH 01/20] refactor: format files using prettier --- .eslintrc.js | 20 +- .prettierrc | 10 + commitlint.config.js | 6 +- jest.config.js | 17 +- package-lock.json | 22 + package.json | 1 + src/Adhan.js | 26 +- src/Astronomical.js | 727 +++++++++------- src/CalculationMethod.js | 142 +-- src/CalculationParameters.js | 102 ++- src/Coordinates.js | 8 +- src/DateUtils.js | 54 +- src/HighLatitudeRule.js | 20 +- src/Madhab.js | 20 +- src/MathUtils.js | 16 +- src/PolarCircleResolution.js | 37 +- src/Prayer.js | 16 +- src/PrayerTimes.js | 444 ++++++---- src/Qibla.js | 36 +- src/Rounding.js | 6 +- src/Shafaq.js | 12 +- src/SolarCoordinates.js | 50 +- src/SolarTime.js | 109 ++- src/SunnahTimes.js | 33 +- src/TimeComponents.js | 24 +- test/adhan.test.js | 1577 +++++++++++++++++++++------------- test/astronomical.test.js | 452 +++++----- test/dist.test.js | 316 ++++--- test/math.test.js | 165 ++-- test/qibla.test.js | 61 +- test/sunnah.test.js | 226 +++-- test/times.test.js | 219 +++-- webpack.config.js | 2 +- 33 files changed, 2925 insertions(+), 2051 deletions(-) create mode 100644 .prettierrc diff --git a/.eslintrc.js b/.eslintrc.js index 35a721d..cfcb42d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,24 +1,24 @@ module.exports = { parserOptions: { ecmaVersion: 2018, - sourceType: "module", + sourceType: 'module', }, - extends: ["eslint:recommended", "plugin:jest/recommended"], + extends: ['eslint:recommended', 'plugin:jest/recommended'], env: { node: true, browser: true, - "jest/globals": true, + 'jest/globals': true, }, rules: { - "complexity": ["warn", 10], - "max-lines": ["warn", 300], - "max-params": ["warn", 5], - "eqeqeq": ["error", "smart"], - "no-var": "error", - "prefer-const": "error", - "object-shorthand": "error", + complexity: ['warn', 10], + 'max-lines': ['warn', 300], + 'max-params': ['warn', 5], + eqeqeq: ['error', 'smart'], + 'no-var': 'error', + 'prefer-const': 'error', + 'object-shorthand': 'error', }, }; diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..b9da9c8 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "endOfLine": "lf", + "tabWidth": 2, + "arrowParens": "always", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "semi": true, + "singleQuote": true, + "trailingComma": "all" +} diff --git a/commitlint.config.js b/commitlint.config.js index ad4958f..f1dc4af 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,7 +1,7 @@ -module.exports = { +module.exports = { extends: ['@commitlint/config-conventional'], ignores: [(message) => message.startsWith('chore(release)')], rules: { 'footer-max-line-length': [0], - } -} \ No newline at end of file + }, +}; diff --git a/jest.config.js b/jest.config.js index 9fd5b58..ea36495 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,22 +2,13 @@ module.exports = { collectCoverage: true, // The directory where Jest should output its coverage files - coverageDirectory: "coverage", + coverageDirectory: 'coverage', // An array of file extensions your modules use - moduleFileExtensions: [ - "js", - "json", - "jsx", - "ts", - "tsx", - "node" - ], + moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node'], - collectCoverageFrom: [ - "src/**/*.js" - ], + collectCoverageFrom: ['src/**/*.js'], // The test environment that will be used for testing - testEnvironment: "node", + testEnvironment: 'node', }; diff --git a/package-lock.json b/package-lock.json index 0c84b7c..d0882de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,7 @@ "moment": "^2.24.0", "moment-timezone": "^0.5.28", "npm-run-all": "^4.1.5", + "prettier": "^2.6.2", "semantic-release": "^17.4.0", "webpack": "^4.42.1", "webpack-cli": "^3.3.11" @@ -15516,6 +15517,21 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -32097,6 +32113,12 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true + }, "pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", diff --git a/package.json b/package.json index 436277b..eaf7587 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "moment": "^2.24.0", "moment-timezone": "^0.5.28", "npm-run-all": "^4.1.5", + "prettier": "^2.6.2", "semantic-release": "^17.4.0", "webpack": "^4.42.1", "webpack-cli": "^3.3.11" diff --git a/src/Adhan.js b/src/Adhan.js index 25c0e50..de3d8df 100644 --- a/src/Adhan.js +++ b/src/Adhan.js @@ -12,18 +12,18 @@ import { Rounding } from './Rounding'; import { Shafaq } from './Shafaq'; const adhan = { - Prayer, - Madhab, - HighLatitudeRule, - Coordinates, - CalculationParameters, - CalculationMethod, - PrayerTimes, - SunnahTimes, - Qibla, - PolarCircleResolution, - Rounding, - Shafaq + Prayer, + Madhab, + HighLatitudeRule, + Coordinates, + CalculationParameters, + CalculationMethod, + PrayerTimes, + SunnahTimes, + Qibla, + PolarCircleResolution, + Rounding, + Shafaq, }; -export default adhan; \ No newline at end of file +export default adhan; diff --git a/src/Astronomical.js b/src/Astronomical.js index eab389e..aa2b87f 100644 --- a/src/Astronomical.js +++ b/src/Astronomical.js @@ -1,349 +1,410 @@ /* eslint-disable max-params, max-lines */ -import { degreesToRadians, radiansToDegrees, unwindAngle, normalizeToScale, quadrantShiftAngle } from './MathUtils'; import { dateByAddingSeconds } from './DateUtils'; +import { + degreesToRadians, + normalizeToScale, + quadrantShiftAngle, + radiansToDegrees, + unwindAngle, +} from './MathUtils'; import { Shafaq } from './Shafaq'; const Astronomical = { - - /* The geometric mean longitude of the sun in degrees. */ - meanSolarLongitude(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 163 */ - const term1 = 280.4664567; - const term2 = 36000.76983 * T; - const term3 = 0.0003032 * Math.pow(T, 2); - const L0 = term1 + term2 + term3; - return unwindAngle(L0); - }, - - /* The geometric mean longitude of the moon in degrees. */ - meanLunarLongitude(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 144 */ - const term1 = 218.3165; - const term2 = 481267.8813 * T; - const Lp = term1 + term2; - return unwindAngle(Lp); - }, - - ascendingLunarNodeLongitude(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 144 */ - const term1 = 125.04452; - const term2 = 1934.136261 * T; - const term3 = 0.0020708 * Math.pow(T, 2); - const term4 = Math.pow(T, 3) / 450000; - const Omega = term1 - term2 + term3 + term4; - return unwindAngle(Omega); - }, - - /* The mean anomaly of the sun. */ - meanSolarAnomaly(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 163 */ - const term1 = 357.52911; - const term2 = 35999.05029 * T; - const term3 = 0.0001537 * Math.pow(T, 2); - const M = term1 + term2 - term3; - return unwindAngle(M); - }, - - /* The Sun's equation of the center in degrees. */ - solarEquationOfTheCenter(julianCentury, meanAnomaly) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 164 */ - const Mrad = degreesToRadians(meanAnomaly); - const term1 = (1.914602 - (0.004817 * T) - (0.000014 * Math.pow(T, 2))) * Math.sin(Mrad); - const term2 = (0.019993 - (0.000101 * T)) * Math.sin(2 * Mrad); - const term3 = 0.000289 * Math.sin(3 * Mrad); - return term1 + term2 + term3; - }, - - /* The apparent longitude of the Sun, referred to the + /* The geometric mean longitude of the sun in degrees. */ + meanSolarLongitude(julianCentury) { + const T = julianCentury; + /* Equation from Astronomical Algorithms page 163 */ + const term1 = 280.4664567; + const term2 = 36000.76983 * T; + const term3 = 0.0003032 * Math.pow(T, 2); + const L0 = term1 + term2 + term3; + return unwindAngle(L0); + }, + + /* The geometric mean longitude of the moon in degrees. */ + meanLunarLongitude(julianCentury) { + const T = julianCentury; + /* Equation from Astronomical Algorithms page 144 */ + const term1 = 218.3165; + const term2 = 481267.8813 * T; + const Lp = term1 + term2; + return unwindAngle(Lp); + }, + + ascendingLunarNodeLongitude(julianCentury) { + const T = julianCentury; + /* Equation from Astronomical Algorithms page 144 */ + const term1 = 125.04452; + const term2 = 1934.136261 * T; + const term3 = 0.0020708 * Math.pow(T, 2); + const term4 = Math.pow(T, 3) / 450000; + const Omega = term1 - term2 + term3 + term4; + return unwindAngle(Omega); + }, + + /* The mean anomaly of the sun. */ + meanSolarAnomaly(julianCentury) { + const T = julianCentury; + /* Equation from Astronomical Algorithms page 163 */ + const term1 = 357.52911; + const term2 = 35999.05029 * T; + const term3 = 0.0001537 * Math.pow(T, 2); + const M = term1 + term2 - term3; + return unwindAngle(M); + }, + + /* The Sun's equation of the center in degrees. */ + solarEquationOfTheCenter(julianCentury, meanAnomaly) { + const T = julianCentury; + /* Equation from Astronomical Algorithms page 164 */ + const Mrad = degreesToRadians(meanAnomaly); + const term1 = + (1.914602 - 0.004817 * T - 0.000014 * Math.pow(T, 2)) * Math.sin(Mrad); + const term2 = (0.019993 - 0.000101 * T) * Math.sin(2 * Mrad); + const term3 = 0.000289 * Math.sin(3 * Mrad); + return term1 + term2 + term3; + }, + + /* The apparent longitude of the Sun, referred to the true equinox of the date. */ - apparentSolarLongitude(julianCentury, meanLongitude) { - const T = julianCentury; - const L0 = meanLongitude; - /* Equation from Astronomical Algorithms page 164 */ - const longitude = L0 + Astronomical.solarEquationOfTheCenter(T, Astronomical.meanSolarAnomaly(T)); - const Omega = 125.04 - (1934.136 * T); - const Lambda = longitude - 0.00569 - (0.00478 * Math.sin(degreesToRadians(Omega))); - return unwindAngle(Lambda); - }, - - /* The mean obliquity of the ecliptic, formula + apparentSolarLongitude(julianCentury, meanLongitude) { + const T = julianCentury; + const L0 = meanLongitude; + /* Equation from Astronomical Algorithms page 164 */ + const longitude = + L0 + + Astronomical.solarEquationOfTheCenter( + T, + Astronomical.meanSolarAnomaly(T), + ); + const Omega = 125.04 - 1934.136 * T; + const Lambda = + longitude - 0.00569 - 0.00478 * Math.sin(degreesToRadians(Omega)); + return unwindAngle(Lambda); + }, + + /* The mean obliquity of the ecliptic, formula adopted by the International Astronomical Union. Represented in degrees. */ - meanObliquityOfTheEcliptic(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 147 */ - const term1 = 23.439291; - const term2 = 0.013004167 * T; - const term3 = 0.0000001639 * Math.pow(T, 2); - const term4 = 0.0000005036 * Math.pow(T, 3); - return term1 - term2 - term3 + term4; - }, - - /* The mean obliquity of the ecliptic, corrected for + meanObliquityOfTheEcliptic(julianCentury) { + const T = julianCentury; + /* Equation from Astronomical Algorithms page 147 */ + const term1 = 23.439291; + const term2 = 0.013004167 * T; + const term3 = 0.0000001639 * Math.pow(T, 2); + const term4 = 0.0000005036 * Math.pow(T, 3); + return term1 - term2 - term3 + term4; + }, + + /* The mean obliquity of the ecliptic, corrected for calculating the apparent position of the sun, in degrees. */ - apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) { - const T = julianCentury; - const Epsilon0 = meanObliquityOfTheEcliptic; - /* Equation from Astronomical Algorithms page 165 */ - const O = 125.04 - (1934.136 * T); - return Epsilon0 + (0.00256 * Math.cos(degreesToRadians(O))); - }, - - /* Mean sidereal time, the hour angle of the vernal equinox, in degrees. */ - meanSiderealTime(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 165 */ - const JD = (T * 36525) + 2451545.0; - const term1 = 280.46061837; - const term2 = 360.98564736629 * (JD - 2451545); - const term3 = 0.000387933 * Math.pow(T, 2); - const term4 = Math.pow(T, 3) / 38710000; - const Theta = term1 + term2 + term3 - term4; - return unwindAngle(Theta) - }, - - nutationInLongitude(julianCentury, solarLongitude, lunarLongitude, ascendingNode) { - const L0 = solarLongitude; - const Lp = lunarLongitude; - const Omega = ascendingNode; - /* Equation from Astronomical Algorithms page 144 */ - const term1 = (-17.2/3600) * Math.sin(degreesToRadians(Omega)); - const term2 = (1.32/3600) * Math.sin(2 * degreesToRadians(L0)); - const term3 = (0.23/3600) * Math.sin(2 * degreesToRadians(Lp)); - const term4 = (0.21/3600) * Math.sin(2 * degreesToRadians(Omega)); - return term1 - term2 - term3 + term4; - }, - - nutationInObliquity(julianCentury, solarLongitude, lunarLongitude, ascendingNode) { - const L0 = solarLongitude; - const Lp = lunarLongitude; - const Omega = ascendingNode; - /* Equation from Astronomical Algorithms page 144 */ - const term1 = (9.2/3600) * Math.cos(degreesToRadians(Omega)); - const term2 = (0.57/3600) * Math.cos(2 * degreesToRadians(L0)); - const term3 = (0.10/3600) * Math.cos(2 * degreesToRadians(Lp)); - const term4 = (0.09/3600) * Math.cos(2 * degreesToRadians(Omega)); - return term1 + term2 + term3 - term4; - }, - - altitudeOfCelestialBody(observerLatitude, declination, localHourAngle) { - const Phi = observerLatitude; - const delta = declination; - const H = localHourAngle; - /* Equation from Astronomical Algorithms page 93 */ - const term1 = Math.sin(degreesToRadians(Phi)) * Math.sin(degreesToRadians(delta)); - const term2 = Math.cos(degreesToRadians(Phi)) * Math.cos(degreesToRadians(delta)) * Math.cos(degreesToRadians(H)); - return radiansToDegrees(Math.asin(term1 + term2)); - }, - - approximateTransit(longitude, siderealTime, rightAscension) { - const L = longitude; - const Theta0 = siderealTime; - const a2 = rightAscension; - /* Equation from page Astronomical Algorithms 102 */ - const Lw = L * -1; - return normalizeToScale((a2 + Lw - Theta0) / 360, 1); - }, - - /* The time at which the sun is at its highest point in the sky (in universal time) */ - correctedTransit(approximateTransit, longitude, siderealTime, rightAscension, previousRightAscension, nextRightAscension) { - const m0 = approximateTransit; - const L = longitude; - const Theta0 = siderealTime; - const a2 = rightAscension; - const a1 = previousRightAscension; - const a3 = nextRightAscension; - /* Equation from page Astronomical Algorithms 102 */ - const Lw = L * -1; - const Theta = unwindAngle((Theta0 + (360.985647 * m0))); - const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m0)); - const H = quadrantShiftAngle(Theta - Lw - a); - const dm = H / -360; - return (m0 + dm) * 24; - }, - - correctedHourAngle(approximateTransit, angle, coordinates, afterTransit, siderealTime, - rightAscension, previousRightAscension, nextRightAscension, declination, previousDeclination, nextDeclination) { - const m0 = approximateTransit; - const h0 = angle; - const Theta0 = siderealTime; - const a2 = rightAscension; - const a1 = previousRightAscension; - const a3 = nextRightAscension; - const d2 = declination; - const d1 = previousDeclination; - const d3 = nextDeclination; - - /* Equation from page Astronomical Algorithms 102 */ - const Lw = coordinates.longitude * -1; - const term1 = Math.sin(degreesToRadians(h0)) - (Math.sin(degreesToRadians(coordinates.latitude)) * Math.sin(degreesToRadians(d2))); - const term2 = Math.cos(degreesToRadians(coordinates.latitude)) * Math.cos(degreesToRadians(d2)); - const H0 = radiansToDegrees(Math.acos(term1 / term2)); - const m = afterTransit ? m0 + (H0 / 360) : m0 - (H0 / 360); - const Theta = unwindAngle((Theta0 + (360.985647 * m))); - const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m)); - const delta = Astronomical.interpolate(d2, d1, d3, m); - const H = (Theta - Lw - a); - const h = Astronomical.altitudeOfCelestialBody(coordinates.latitude, delta, H); - const term3 = h - h0; - const term4 = 360 * Math.cos(degreesToRadians(delta)) * Math.cos(degreesToRadians(coordinates.latitude)) * Math.sin(degreesToRadians(H)); - const dm = term3 / term4; - return (m + dm) * 24; - }, - - /* Interpolation of a value given equidistant + apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) { + const T = julianCentury; + const Epsilon0 = meanObliquityOfTheEcliptic; + /* Equation from Astronomical Algorithms page 165 */ + const O = 125.04 - 1934.136 * T; + return Epsilon0 + 0.00256 * Math.cos(degreesToRadians(O)); + }, + + /* Mean sidereal time, the hour angle of the vernal equinox, in degrees. */ + meanSiderealTime(julianCentury) { + const T = julianCentury; + /* Equation from Astronomical Algorithms page 165 */ + const JD = T * 36525 + 2451545.0; + const term1 = 280.46061837; + const term2 = 360.98564736629 * (JD - 2451545); + const term3 = 0.000387933 * Math.pow(T, 2); + const term4 = Math.pow(T, 3) / 38710000; + const Theta = term1 + term2 + term3 - term4; + return unwindAngle(Theta); + }, + + nutationInLongitude( + julianCentury, + solarLongitude, + lunarLongitude, + ascendingNode, + ) { + const L0 = solarLongitude; + const Lp = lunarLongitude; + const Omega = ascendingNode; + /* Equation from Astronomical Algorithms page 144 */ + const term1 = (-17.2 / 3600) * Math.sin(degreesToRadians(Omega)); + const term2 = (1.32 / 3600) * Math.sin(2 * degreesToRadians(L0)); + const term3 = (0.23 / 3600) * Math.sin(2 * degreesToRadians(Lp)); + const term4 = (0.21 / 3600) * Math.sin(2 * degreesToRadians(Omega)); + return term1 - term2 - term3 + term4; + }, + + nutationInObliquity( + julianCentury, + solarLongitude, + lunarLongitude, + ascendingNode, + ) { + const L0 = solarLongitude; + const Lp = lunarLongitude; + const Omega = ascendingNode; + /* Equation from Astronomical Algorithms page 144 */ + const term1 = (9.2 / 3600) * Math.cos(degreesToRadians(Omega)); + const term2 = (0.57 / 3600) * Math.cos(2 * degreesToRadians(L0)); + const term3 = (0.1 / 3600) * Math.cos(2 * degreesToRadians(Lp)); + const term4 = (0.09 / 3600) * Math.cos(2 * degreesToRadians(Omega)); + return term1 + term2 + term3 - term4; + }, + + altitudeOfCelestialBody(observerLatitude, declination, localHourAngle) { + const Phi = observerLatitude; + const delta = declination; + const H = localHourAngle; + /* Equation from Astronomical Algorithms page 93 */ + const term1 = + Math.sin(degreesToRadians(Phi)) * Math.sin(degreesToRadians(delta)); + const term2 = + Math.cos(degreesToRadians(Phi)) * + Math.cos(degreesToRadians(delta)) * + Math.cos(degreesToRadians(H)); + return radiansToDegrees(Math.asin(term1 + term2)); + }, + + approximateTransit(longitude, siderealTime, rightAscension) { + const L = longitude; + const Theta0 = siderealTime; + const a2 = rightAscension; + /* Equation from page Astronomical Algorithms 102 */ + const Lw = L * -1; + return normalizeToScale((a2 + Lw - Theta0) / 360, 1); + }, + + /* The time at which the sun is at its highest point in the sky (in universal time) */ + correctedTransit( + approximateTransit, + longitude, + siderealTime, + rightAscension, + previousRightAscension, + nextRightAscension, + ) { + const m0 = approximateTransit; + const L = longitude; + const Theta0 = siderealTime; + const a2 = rightAscension; + const a1 = previousRightAscension; + const a3 = nextRightAscension; + /* Equation from page Astronomical Algorithms 102 */ + const Lw = L * -1; + const Theta = unwindAngle(Theta0 + 360.985647 * m0); + const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m0)); + const H = quadrantShiftAngle(Theta - Lw - a); + const dm = H / -360; + return (m0 + dm) * 24; + }, + + correctedHourAngle( + approximateTransit, + angle, + coordinates, + afterTransit, + siderealTime, + rightAscension, + previousRightAscension, + nextRightAscension, + declination, + previousDeclination, + nextDeclination, + ) { + const m0 = approximateTransit; + const h0 = angle; + const Theta0 = siderealTime; + const a2 = rightAscension; + const a1 = previousRightAscension; + const a3 = nextRightAscension; + const d2 = declination; + const d1 = previousDeclination; + const d3 = nextDeclination; + + /* Equation from page Astronomical Algorithms 102 */ + const Lw = coordinates.longitude * -1; + const term1 = + Math.sin(degreesToRadians(h0)) - + Math.sin(degreesToRadians(coordinates.latitude)) * + Math.sin(degreesToRadians(d2)); + const term2 = + Math.cos(degreesToRadians(coordinates.latitude)) * + Math.cos(degreesToRadians(d2)); + const H0 = radiansToDegrees(Math.acos(term1 / term2)); + const m = afterTransit ? m0 + H0 / 360 : m0 - H0 / 360; + const Theta = unwindAngle(Theta0 + 360.985647 * m); + const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m)); + const delta = Astronomical.interpolate(d2, d1, d3, m); + const H = Theta - Lw - a; + const h = Astronomical.altitudeOfCelestialBody( + coordinates.latitude, + delta, + H, + ); + const term3 = h - h0; + const term4 = + 360 * + Math.cos(degreesToRadians(delta)) * + Math.cos(degreesToRadians(coordinates.latitude)) * + Math.sin(degreesToRadians(H)); + const dm = term3 / term4; + return (m + dm) * 24; + }, + + /* Interpolation of a value given equidistant previous and next values and a factor equal to the fraction of the interpolated point's time over the time between values. */ - interpolate(y2, y1, y3, n) { - /* Equation from Astronomical Algorithms page 24 */ - const a = y2 - y1; - const b = y3 - y2; - const c = b - a; - return y2 + ((n/2) * (a + b + (n * c))); - }, - - /* Interpolation of three angles, accounting for + interpolate(y2, y1, y3, n) { + /* Equation from Astronomical Algorithms page 24 */ + const a = y2 - y1; + const b = y3 - y2; + const c = b - a; + return y2 + (n / 2) * (a + b + n * c); + }, + + /* Interpolation of three angles, accounting for angle unwinding. */ - interpolateAngles(y2, y1, y3, n) { - /* Equation from Astronomical Algorithms page 24 */ - const a = unwindAngle(y2 - y1); - const b = unwindAngle(y3 - y2); - const c = b - a; - return y2 + ((n/2) * (a + b + (n * c))); - }, - - /* The Julian Day for the given Gregorian date components. */ - julianDay(year, month, day, hours) { - /* Equation from Astronomical Algorithms page 60 */ - if (typeof hours === 'undefined') { - hours = 0; - } - - const trunc = Math.trunc || function (x) { return x < 0 ? Math.ceil(x) : Math.floor(x); }; - - const Y = trunc(month > 2 ? year : year - 1); - const M = trunc(month > 2 ? month : month + 12); - const D = day + (hours / 24); - - const A = trunc(Y/100); - const B = trunc(2 - A + trunc(A/4)); - - const i0 = trunc(365.25 * (Y + 4716)); - const i1 = trunc(30.6001 * (M + 1)); - - return i0 + i1 + D + B - 1524.5; - }, - - /* Julian century from the epoch. */ - julianCentury(julianDay) { - /* Equation from Astronomical Algorithms page 163 */ - return (julianDay - 2451545.0) / 36525; - }, - - /* Whether or not a year is a leap year (has 366 days). */ - isLeapYear(year) { - if (year % 4 !== 0) { - return false; - } - - if (year % 100 === 0 && year % 400 !== 0) { - return false; - } - - return true; - }, - - seasonAdjustedMorningTwilight(latitude, dayOfYear, year, sunrise) { - const a = 75 + ((28.65 / 55.0) * Math.abs(latitude)); - const b = 75 + ((19.44 / 55.0) * Math.abs(latitude)); - const c = 75 + ((32.74 / 55.0) * Math.abs(latitude)); - const d = 75 + ((48.10 / 55.0) * Math.abs(latitude)); - - const adjustment = (function() { - const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude); - if ( dyy < 91) { - return a + ( b - a ) / 91.0 * dyy; - } else if ( dyy < 137) { - return b + ( c - b ) / 46.0 * ( dyy - 91 ); - } else if ( dyy < 183 ) { - return c + ( d - c ) / 46.0 * ( dyy - 137 ); - } else if ( dyy < 229 ) { - return d + ( c - d ) / 46.0 * ( dyy - 183 ); - } else if ( dyy < 275 ) { - return c + ( b - c ) / 46.0 * ( dyy - 229 ); - } else { - return b + ( a - b ) / 91.0 * ( dyy - 275 ); - } - })(); - - return dateByAddingSeconds(sunrise, Math.round(adjustment * -60.0)); - }, - - seasonAdjustedEveningTwilight(latitude, dayOfYear, year, sunset, shafaq) { - let a, b, c, d; - if (shafaq === Shafaq.Ahmer) { - a = 62 + ((17.40 / 55.0) * Math.abs(latitude)); - b = 62 - ((7.160 / 55.0) * Math.abs(latitude)); - c = 62 + ((5.120 / 55.0) * Math.abs(latitude)); - d = 62 + ((19.44 / 55.0) * Math.abs(latitude)); - } else if (shafaq === Shafaq.Abyad) { - a = 75 + ((25.60 / 55.0) * Math.abs(latitude)); - b = 75 + ((7.160 / 55.0) * Math.abs(latitude)); - c = 75 + ((36.84 / 55.0) * Math.abs(latitude)); - d = 75 + ((81.84 / 55.0) * Math.abs(latitude)); - } else { - a = 75 + ((25.60 / 55.0) * Math.abs(latitude)); - b = 75 + ((2.050 / 55.0) * Math.abs(latitude)); - c = 75 - ((9.210 / 55.0) * Math.abs(latitude)); - d = 75 + ((6.140 / 55.0) * Math.abs(latitude)); - } - - const adjustment = (function() { - const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude); - if ( dyy < 91) { - return a + ( b - a ) / 91.0 * dyy; - } else if ( dyy < 137) { - return b + ( c - b ) / 46.0 * ( dyy - 91 ); - } else if ( dyy < 183 ) { - return c + ( d - c ) / 46.0 * ( dyy - 137 ); - } else if ( dyy < 229 ) { - return d + ( c - d ) / 46.0 * ( dyy - 183 ); - } else if ( dyy < 275 ) { - return c + ( b - c ) / 46.0 * ( dyy - 229 ); - } else { - return b + ( a - b ) / 91.0 * ( dyy - 275 ); - } - })(); - - return dateByAddingSeconds(sunset, Math.round(adjustment * 60.0)); - }, - - daysSinceSolstice(dayOfYear, year, latitude) { - let daysSinceSolstice = 0; - const northernOffset = 10; - const southernOffset = Astronomical.isLeapYear(year) ? 173 : 172; - const daysInYear = Astronomical.isLeapYear(year) ? 366 : 365; - - if (latitude >= 0) { - daysSinceSolstice = dayOfYear + northernOffset; - if (daysSinceSolstice >= daysInYear) { - daysSinceSolstice = daysSinceSolstice - daysInYear; - } - } else { - daysSinceSolstice = dayOfYear - southernOffset; - if (daysSinceSolstice < 0) { - daysSinceSolstice = daysSinceSolstice + daysInYear; - } - } - - return daysSinceSolstice; + interpolateAngles(y2, y1, y3, n) { + /* Equation from Astronomical Algorithms page 24 */ + const a = unwindAngle(y2 - y1); + const b = unwindAngle(y3 - y2); + const c = b - a; + return y2 + (n / 2) * (a + b + n * c); + }, + + /* The Julian Day for the given Gregorian date components. */ + julianDay(year, month, day, hours) { + /* Equation from Astronomical Algorithms page 60 */ + if (typeof hours === 'undefined') { + hours = 0; + } + + const trunc = + Math.trunc || + function (x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); + }; + + const Y = trunc(month > 2 ? year : year - 1); + const M = trunc(month > 2 ? month : month + 12); + const D = day + hours / 24; + + const A = trunc(Y / 100); + const B = trunc(2 - A + trunc(A / 4)); + + const i0 = trunc(365.25 * (Y + 4716)); + const i1 = trunc(30.6001 * (M + 1)); + + return i0 + i1 + D + B - 1524.5; + }, + + /* Julian century from the epoch. */ + julianCentury(julianDay) { + /* Equation from Astronomical Algorithms page 163 */ + return (julianDay - 2451545.0) / 36525; + }, + + /* Whether or not a year is a leap year (has 366 days). */ + isLeapYear(year) { + if (year % 4 !== 0) { + return false; + } + + if (year % 100 === 0 && year % 400 !== 0) { + return false; + } + + return true; + }, + + seasonAdjustedMorningTwilight(latitude, dayOfYear, year, sunrise) { + const a = 75 + (28.65 / 55.0) * Math.abs(latitude); + const b = 75 + (19.44 / 55.0) * Math.abs(latitude); + const c = 75 + (32.74 / 55.0) * Math.abs(latitude); + const d = 75 + (48.1 / 55.0) * Math.abs(latitude); + + const adjustment = (function () { + const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude); + if (dyy < 91) { + return a + ((b - a) / 91.0) * dyy; + } else if (dyy < 137) { + return b + ((c - b) / 46.0) * (dyy - 91); + } else if (dyy < 183) { + return c + ((d - c) / 46.0) * (dyy - 137); + } else if (dyy < 229) { + return d + ((c - d) / 46.0) * (dyy - 183); + } else if (dyy < 275) { + return c + ((b - c) / 46.0) * (dyy - 229); + } else { + return b + ((a - b) / 91.0) * (dyy - 275); + } + })(); + + return dateByAddingSeconds(sunrise, Math.round(adjustment * -60.0)); + }, + + seasonAdjustedEveningTwilight(latitude, dayOfYear, year, sunset, shafaq) { + let a, b, c, d; + if (shafaq === Shafaq.Ahmer) { + a = 62 + (17.4 / 55.0) * Math.abs(latitude); + b = 62 - (7.16 / 55.0) * Math.abs(latitude); + c = 62 + (5.12 / 55.0) * Math.abs(latitude); + d = 62 + (19.44 / 55.0) * Math.abs(latitude); + } else if (shafaq === Shafaq.Abyad) { + a = 75 + (25.6 / 55.0) * Math.abs(latitude); + b = 75 + (7.16 / 55.0) * Math.abs(latitude); + c = 75 + (36.84 / 55.0) * Math.abs(latitude); + d = 75 + (81.84 / 55.0) * Math.abs(latitude); + } else { + a = 75 + (25.6 / 55.0) * Math.abs(latitude); + b = 75 + (2.05 / 55.0) * Math.abs(latitude); + c = 75 - (9.21 / 55.0) * Math.abs(latitude); + d = 75 + (6.14 / 55.0) * Math.abs(latitude); + } + + const adjustment = (function () { + const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude); + if (dyy < 91) { + return a + ((b - a) / 91.0) * dyy; + } else if (dyy < 137) { + return b + ((c - b) / 46.0) * (dyy - 91); + } else if (dyy < 183) { + return c + ((d - c) / 46.0) * (dyy - 137); + } else if (dyy < 229) { + return d + ((c - d) / 46.0) * (dyy - 183); + } else if (dyy < 275) { + return c + ((b - c) / 46.0) * (dyy - 229); + } else { + return b + ((a - b) / 91.0) * (dyy - 275); + } + })(); + + return dateByAddingSeconds(sunset, Math.round(adjustment * 60.0)); + }, + + daysSinceSolstice(dayOfYear, year, latitude) { + let daysSinceSolstice = 0; + const northernOffset = 10; + const southernOffset = Astronomical.isLeapYear(year) ? 173 : 172; + const daysInYear = Astronomical.isLeapYear(year) ? 366 : 365; + + if (latitude >= 0) { + daysSinceSolstice = dayOfYear + northernOffset; + if (daysSinceSolstice >= daysInYear) { + daysSinceSolstice = daysSinceSolstice - daysInYear; + } + } else { + daysSinceSolstice = dayOfYear - southernOffset; + if (daysSinceSolstice < 0) { + daysSinceSolstice = daysSinceSolstice + daysInYear; + } } + + return daysSinceSolstice; + }, }; -export default Astronomical; \ No newline at end of file +export default Astronomical; diff --git a/src/CalculationMethod.js b/src/CalculationMethod.js index b0169a8..4cfa673 100644 --- a/src/CalculationMethod.js +++ b/src/CalculationMethod.js @@ -2,88 +2,88 @@ import CalculationParameters from './CalculationParameters'; import { Rounding } from './Rounding'; const CalculationMethod = { - // Muslim World League - MuslimWorldLeague() { - const params = new CalculationParameters("MuslimWorldLeague", 18, 17); - params.methodAdjustments = { dhuhr: 1 }; - return params; - }, + // Muslim World League + MuslimWorldLeague() { + const params = new CalculationParameters('MuslimWorldLeague', 18, 17); + params.methodAdjustments = { dhuhr: 1 }; + return params; + }, - // Egyptian General Authority of Survey - Egyptian() { - const params = new CalculationParameters("Egyptian", 19.5, 17.5); - params.methodAdjustments = { dhuhr: 1 }; - return params; - }, + // Egyptian General Authority of Survey + Egyptian() { + const params = new CalculationParameters('Egyptian', 19.5, 17.5); + params.methodAdjustments = { dhuhr: 1 }; + return params; + }, - // University of Islamic Sciences, Karachi - Karachi() { - const params = new CalculationParameters("Karachi", 18, 18); - params.methodAdjustments = { dhuhr: 1 }; - return params; - }, + // University of Islamic Sciences, Karachi + Karachi() { + const params = new CalculationParameters('Karachi', 18, 18); + params.methodAdjustments = { dhuhr: 1 }; + return params; + }, - // Umm al-Qura University, Makkah - UmmAlQura() { - return new CalculationParameters("UmmAlQura", 18.5, 0, 90); - }, + // Umm al-Qura University, Makkah + UmmAlQura() { + return new CalculationParameters('UmmAlQura', 18.5, 0, 90); + }, - // Dubai - Dubai() { - const params = new CalculationParameters("Dubai", 18.2, 18.2); - params.methodAdjustments = { sunrise: -3, dhuhr: 3, asr: 3, maghrib: 3 }; - return params; - }, + // Dubai + Dubai() { + const params = new CalculationParameters('Dubai', 18.2, 18.2); + params.methodAdjustments = { sunrise: -3, dhuhr: 3, asr: 3, maghrib: 3 }; + return params; + }, - // Moonsighting Committee - MoonsightingCommittee() { - const params = new CalculationParameters("MoonsightingCommittee", 18, 18); - params.methodAdjustments = { dhuhr: 5, maghrib: 3 }; - return params; - }, + // Moonsighting Committee + MoonsightingCommittee() { + const params = new CalculationParameters('MoonsightingCommittee', 18, 18); + params.methodAdjustments = { dhuhr: 5, maghrib: 3 }; + return params; + }, - // ISNA - NorthAmerica() { - const params = new CalculationParameters("NorthAmerica", 15, 15); - params.methodAdjustments = { dhuhr: 1 }; - return params; - }, + // ISNA + NorthAmerica() { + const params = new CalculationParameters('NorthAmerica', 15, 15); + params.methodAdjustments = { dhuhr: 1 }; + return params; + }, - // Kuwait - Kuwait() { - return new CalculationParameters("Kuwait", 18, 17.5); - }, + // Kuwait + Kuwait() { + return new CalculationParameters('Kuwait', 18, 17.5); + }, - // Qatar - Qatar() { - return new CalculationParameters("Qatar", 18, 0, 90); - }, + // Qatar + Qatar() { + return new CalculationParameters('Qatar', 18, 0, 90); + }, - // Singapore - Singapore() { - const params = new CalculationParameters("Singapore", 20, 18); - params.methodAdjustments = { dhuhr: 1 }; - params.rounding = Rounding.Up; - return params; - }, + // Singapore + Singapore() { + const params = new CalculationParameters('Singapore', 20, 18); + params.methodAdjustments = { dhuhr: 1 }; + params.rounding = Rounding.Up; + return params; + }, - // Institute of Geophysics, University of Tehran - Tehran() { - const params = new CalculationParameters("Tehran", 17.7, 14, 0, 4.5); - return params; - }, + // Institute of Geophysics, University of Tehran + Tehran() { + const params = new CalculationParameters('Tehran', 17.7, 14, 0, 4.5); + return params; + }, - // Dianet - Turkey() { - const params = new CalculationParameters("Turkey", 18, 17); - params.methodAdjustments = { sunrise: -7, dhuhr: 5, asr: 4, maghrib: 7 }; - return params; - }, + // Dianet + Turkey() { + const params = new CalculationParameters('Turkey', 18, 17); + params.methodAdjustments = { sunrise: -7, dhuhr: 5, asr: 4, maghrib: 7 }; + return params; + }, - // Other - Other() { - return new CalculationParameters("Other", 0, 0); - } + // Other + Other() { + return new CalculationParameters('Other', 0, 0); + }, }; -export default CalculationMethod; \ No newline at end of file +export default CalculationMethod; diff --git a/src/CalculationParameters.js b/src/CalculationParameters.js index 0817c60..9033ff0 100644 --- a/src/CalculationParameters.js +++ b/src/CalculationParameters.js @@ -5,61 +5,75 @@ import { Rounding } from './Rounding'; import { Shafaq } from './Shafaq'; export default class CalculationParameters { - constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) { - // Name of the method, can be used to apply special behavior in calculations. - // This property should not be manually modified. - this.method = methodName || "Other"; + constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) { + // Name of the method, can be used to apply special behavior in calculations. + // This property should not be manually modified. + this.method = methodName || 'Other'; - // Angle of the sun below the horizon used for calculating Fajr. - this.fajrAngle = fajrAngle || 0; + // Angle of the sun below the horizon used for calculating Fajr. + this.fajrAngle = fajrAngle || 0; - // Angle of the sun below the horizon used for calculating Isha. - this.ishaAngle = ishaAngle || 0; + // Angle of the sun below the horizon used for calculating Isha. + this.ishaAngle = ishaAngle || 0; - // Minutes after Maghrib to determine time for Isha - // if this value is greater than 0 then ishaAngle is not used. - this.ishaInterval = ishaInterval || 0; + // Minutes after Maghrib to determine time for Isha + // if this value is greater than 0 then ishaAngle is not used. + this.ishaInterval = ishaInterval || 0; - // Angle of the sun below the horizon used for calculating Maghrib. - // Only used by the Tehran method to account for lightness in the sky. - this.maghribAngle = maghribAngle; + // Angle of the sun below the horizon used for calculating Maghrib. + // Only used by the Tehran method to account for lightness in the sky. + this.maghribAngle = maghribAngle; - // Madhab to determine how Asr is calculated. - this.madhab = Madhab.Shafi; + // Madhab to determine how Asr is calculated. + this.madhab = Madhab.Shafi; - // Rule to determine the earliest time for Fajr and latest time for Isha - // needed for high latitude locations where Fajr and Isha may not truly exist - // or may present a hardship unless bound to a reasonable time. - this.highLatitudeRule = HighLatitudeRule.MiddleOfTheNight; + // Rule to determine the earliest time for Fajr and latest time for Isha + // needed for high latitude locations where Fajr and Isha may not truly exist + // or may present a hardship unless bound to a reasonable time. + this.highLatitudeRule = HighLatitudeRule.MiddleOfTheNight; - // Manual adjustments (in minutes) to be added to each prayer time. - this.adjustments = { fajr: 0, sunrise: 0, dhuhr: 0, asr: 0, maghrib: 0, isha: 0 }; + // Manual adjustments (in minutes) to be added to each prayer time. + this.adjustments = { + fajr: 0, + sunrise: 0, + dhuhr: 0, + asr: 0, + maghrib: 0, + isha: 0, + }; - // Adjustments set by a calculation method. This value should not be manually modified. - this.methodAdjustments = { fajr: 0, sunrise: 0, dhuhr: 0, asr: 0, maghrib: 0, isha: 0 }; + // Adjustments set by a calculation method. This value should not be manually modified. + this.methodAdjustments = { + fajr: 0, + sunrise: 0, + dhuhr: 0, + asr: 0, + maghrib: 0, + isha: 0, + }; - // Rule to determine how to resolve prayer times inside the Polar Circle - // where daylight or night may persist for more than 24 hours depending - // on the season - this.polarCircleResolution = PolarCircleResolution.Unresolved; + // Rule to determine how to resolve prayer times inside the Polar Circle + // where daylight or night may persist for more than 24 hours depending + // on the season + this.polarCircleResolution = PolarCircleResolution.Unresolved; - // How seconds are rounded when calculating prayer times - this.rounding = Rounding.Nearest; + // How seconds are rounded when calculating prayer times + this.rounding = Rounding.Nearest; - // Used by the MoonsightingCommittee method to determine how to calculate Isha - this.shafaq = Shafaq.General; - } + // Used by the MoonsightingCommittee method to determine how to calculate Isha + this.shafaq = Shafaq.General; + } - nightPortions() { - switch (this.highLatitudeRule) { - case HighLatitudeRule.MiddleOfTheNight: - return { fajr: 1 / 2, isha: 1 / 2 }; - case HighLatitudeRule.SeventhOfTheNight: - return { fajr: 1 / 7, isha: 1 / 7 }; - case HighLatitudeRule.TwilightAngle: - return { fajr: this.fajrAngle / 60, isha: this.ishaAngle / 60 }; - default: - throw(`Invalid high latitude rule found when attempting to compute night portions: ${this.highLatitudeRule}`); - } + nightPortions() { + switch (this.highLatitudeRule) { + case HighLatitudeRule.MiddleOfTheNight: + return { fajr: 1 / 2, isha: 1 / 2 }; + case HighLatitudeRule.SeventhOfTheNight: + return { fajr: 1 / 7, isha: 1 / 7 }; + case HighLatitudeRule.TwilightAngle: + return { fajr: this.fajrAngle / 60, isha: this.ishaAngle / 60 }; + default: + throw `Invalid high latitude rule found when attempting to compute night portions: ${this.highLatitudeRule}`; } + } } diff --git a/src/Coordinates.js b/src/Coordinates.js index e7cb356..a0b9324 100644 --- a/src/Coordinates.js +++ b/src/Coordinates.js @@ -1,6 +1,6 @@ export default class Coordinates { - constructor(latitude, longitude) { - this.latitude = latitude; - this.longitude = longitude; - } + constructor(latitude, longitude) { + this.latitude = latitude; + this.longitude = longitude; + } } diff --git a/src/DateUtils.js b/src/DateUtils.js index d88c490..754db29 100644 --- a/src/DateUtils.js +++ b/src/DateUtils.js @@ -2,48 +2,48 @@ import Astronomical from './Astronomical'; import { Rounding } from './Rounding'; export function dateByAddingDays(date, days) { - const year = date.getFullYear(); - const month = date.getMonth(); - const day = date.getDate() + days; - const hours = date.getHours(); - const minutes = date.getMinutes(); - const seconds = date.getSeconds(); - return new Date(year, month, day, hours, minutes, seconds); + const year = date.getFullYear(); + const month = date.getMonth(); + const day = date.getDate() + days; + const hours = date.getHours(); + const minutes = date.getMinutes(); + const seconds = date.getSeconds(); + return new Date(year, month, day, hours, minutes, seconds); } export function dateByAddingMinutes(date, minutes) { - return dateByAddingSeconds(date, minutes * 60); + return dateByAddingSeconds(date, minutes * 60); } export function dateByAddingSeconds(date, seconds) { - return new Date(date.getTime() + (seconds * 1000)); + return new Date(date.getTime() + seconds * 1000); } export function roundedMinute(date, rounding = Rounding.Nearest) { - const seconds = date.getUTCSeconds(); - let offset = seconds >= 30 ? 60 - seconds : -1 * seconds; - if (rounding === Rounding.Up) { - offset = 60 - seconds; - } else if (rounding === Rounding.None) { - offset = 0; - } - - return dateByAddingSeconds(date, offset); + const seconds = date.getUTCSeconds(); + let offset = seconds >= 30 ? 60 - seconds : -1 * seconds; + if (rounding === Rounding.Up) { + offset = 60 - seconds; + } else if (rounding === Rounding.None) { + offset = 0; + } + + return dateByAddingSeconds(date, offset); } export function dayOfYear(date) { - let returnedDayOfYear = 0; - const feb = Astronomical.isLeapYear(date.getFullYear()) ? 29 : 28; - const months = [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; - for (let i = 0; i < date.getMonth(); i++) { - returnedDayOfYear += months[i]; - } + let returnedDayOfYear = 0; + const feb = Astronomical.isLeapYear(date.getFullYear()) ? 29 : 28; + const months = [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + for (let i = 0; i < date.getMonth(); i++) { + returnedDayOfYear += months[i]; + } - returnedDayOfYear += date.getDate(); + returnedDayOfYear += date.getDate(); - return returnedDayOfYear; + return returnedDayOfYear; } export function isValidDate(date) { - return date instanceof Date && !isNaN(date.valueOf()); + return date instanceof Date && !isNaN(date.valueOf()); } diff --git a/src/HighLatitudeRule.js b/src/HighLatitudeRule.js index 4d98a95..dc9c5e5 100644 --- a/src/HighLatitudeRule.js +++ b/src/HighLatitudeRule.js @@ -1,15 +1,15 @@ const HighLatitudeRule = { - MiddleOfTheNight: 'middleofthenight', - SeventhOfTheNight: 'seventhofthenight', - TwilightAngle: 'twilightangle', + MiddleOfTheNight: 'middleofthenight', + SeventhOfTheNight: 'seventhofthenight', + TwilightAngle: 'twilightangle', - recommended(coordinates) { - if (coordinates.latitude > 48) { - return HighLatitudeRule.SeventhOfTheNight; - } else { - return HighLatitudeRule.MiddleOfTheNight; - } + recommended(coordinates) { + if (coordinates.latitude > 48) { + return HighLatitudeRule.SeventhOfTheNight; + } else { + return HighLatitudeRule.MiddleOfTheNight; } + }, }; -export default HighLatitudeRule; \ No newline at end of file +export default HighLatitudeRule; diff --git a/src/Madhab.js b/src/Madhab.js index f0d226e..d29077b 100644 --- a/src/Madhab.js +++ b/src/Madhab.js @@ -1,15 +1,15 @@ export const Madhab = { - Shafi: 'shafi', - Hanafi: 'hanafi' + Shafi: 'shafi', + Hanafi: 'hanafi', }; export function shadowLength(madhab) { - switch (madhab) { - case Madhab.Shafi: - return 1; - case Madhab.Hanafi: - return 2 - default: - throw "Invalid Madhab"; - } + switch (madhab) { + case Madhab.Shafi: + return 1; + case Madhab.Hanafi: + return 2; + default: + throw 'Invalid Madhab'; + } } diff --git a/src/MathUtils.js b/src/MathUtils.js index 163f126..26c8bae 100644 --- a/src/MathUtils.js +++ b/src/MathUtils.js @@ -1,23 +1,23 @@ export function degreesToRadians(degrees) { - return (degrees * Math.PI) / 180.0; + return (degrees * Math.PI) / 180.0; } export function radiansToDegrees(radians) { - return (radians * 180.0) / Math.PI; + return (radians * 180.0) / Math.PI; } export function normalizeToScale(number, max) { - return number - (max * (Math.floor(number / max))) + return number - max * Math.floor(number / max); } export function unwindAngle(angle) { - return normalizeToScale(angle, 360.0); + return normalizeToScale(angle, 360.0); } export function quadrantShiftAngle(angle) { - if (angle >= -180 && angle <= 180) { - return angle; - } + if (angle >= -180 && angle <= 180) { + return angle; + } - return angle - (360 * Math.round(angle/360)); + return angle - 360 * Math.round(angle / 360); } diff --git a/src/PolarCircleResolution.js b/src/PolarCircleResolution.js index 1da3a0e..adf5b5d 100644 --- a/src/PolarCircleResolution.js +++ b/src/PolarCircleResolution.js @@ -4,26 +4,32 @@ import { dateByAddingDays } from './DateUtils'; export const PolarCircleResolution = { AqrabBalad: 'AqrabBalad', AqrabYaum: 'AqrabYaum', - Unresolved: 'Unresolved' + Unresolved: 'Unresolved', }; const LATITUDE_VARIATION_STEP = 0.5; // Degrees to add/remove at each resolution step const UNSAFE_LATITUDE = 65; // Based on https://en.wikipedia.org/wiki/Midnight_sun -const isValidSolarTime = (solarTime) => solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset); +const isValidSolarTime = (solarTime) => + solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset); const aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => { if (daysAdded > Math.ceil(365 / 2)) { return null; } const testDate = new Date(date.getTime()); - testDate.setDate(testDate.getDate() + (direction * daysAdded)); + testDate.setDate(testDate.getDate() + direction * daysAdded); const tomorrow = dateByAddingDays(testDate, 1); const solarTime = new SolarTime(testDate, coordinates); const tomorrowSolarTime = new SolarTime(tomorrow, coordinates); if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) { - return aqrabYaumResolver(coordinates, date, daysAdded + (direction > 0 ? 0 : 1), -direction); + return aqrabYaumResolver( + coordinates, + date, + daysAdded + (direction > 0 ? 0 : 1), + -direction, + ); } return { @@ -33,15 +39,22 @@ const aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => { solarTime, tomorrowSolarTime, }; -} +}; const aqrabBaladResolver = (coordinates, date, latitude) => { const solarTime = new SolarTime(date, { ...coordinates, latitude }); const tomorrow = dateByAddingDays(date, 1); - const tomorrowSolarTime = new SolarTime(tomorrow, { ...coordinates, latitude }); + const tomorrowSolarTime = new SolarTime(tomorrow, { + ...coordinates, + latitude, + }); if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) { - return (Math.abs(latitude) >= UNSAFE_LATITUDE) ? - aqrabBaladResolver(coordinates, date, latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP) + return Math.abs(latitude) >= UNSAFE_LATITUDE + ? aqrabBaladResolver( + coordinates, + date, + latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP, + ) : null; } @@ -69,7 +82,13 @@ export const polarCircleResolvedValues = (resolver, date, coordinates) => { } case PolarCircleResolution.AqrabBalad: { const { latitude } = coordinates; - return aqrabBaladResolver(coordinates, date, latitude - (Math.sign(latitude) * LATITUDE_VARIATION_STEP)) || defaultReturn; + return ( + aqrabBaladResolver( + coordinates, + date, + latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP, + ) || defaultReturn + ); } default: { return defaultReturn; diff --git a/src/Prayer.js b/src/Prayer.js index 264e567..a9a3433 100644 --- a/src/Prayer.js +++ b/src/Prayer.js @@ -1,11 +1,11 @@ const Prayer = { - Fajr: 'fajr', - Sunrise: 'sunrise', - Dhuhr: 'dhuhr', - Asr: 'asr', - Maghrib: 'maghrib', - Isha: 'isha', - None: 'none' + Fajr: 'fajr', + Sunrise: 'sunrise', + Dhuhr: 'dhuhr', + Asr: 'asr', + Maghrib: 'maghrib', + Isha: 'isha', + None: 'none', }; -export default Prayer; \ No newline at end of file +export default Prayer; diff --git a/src/PrayerTimes.js b/src/PrayerTimes.js index d749d8b..e2d2062 100644 --- a/src/PrayerTimes.js +++ b/src/PrayerTimes.js @@ -3,210 +3,284 @@ import TimeComponents from './TimeComponents'; import Prayer from './Prayer'; import Astronomical from './Astronomical'; import { - dateByAddingDays, - dateByAddingMinutes, - dateByAddingSeconds, - roundedMinute, - dayOfYear, - isValidDate + dateByAddingDays, + dateByAddingMinutes, + dateByAddingSeconds, + roundedMinute, + dayOfYear, + isValidDate, } from './DateUtils'; import { shadowLength } from './Madhab'; -import { PolarCircleResolution, polarCircleResolvedValues } from './PolarCircleResolution'; +import { + PolarCircleResolution, + polarCircleResolvedValues, +} from './PolarCircleResolution'; export default class PrayerTimes { - // eslint-disable-next-line complexity - constructor(coordinates, date, calculationParameters) { - this.coordinates = coordinates; - this.date = date; - this.calculationParameters = calculationParameters; - - let solarTime = new SolarTime(date, coordinates); - - let fajrTime; - let sunriseTime; - let dhuhrTime; - let asrTime; - let maghribTime; - let ishaTime; - - let nightFraction; - - dhuhrTime = new TimeComponents(solarTime.transit).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - let sunsetTime = new TimeComponents(solarTime.sunset).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - const tomorrow = dateByAddingDays(date, 1); - let tomorrowSolarTime = new SolarTime(tomorrow, coordinates); - - const polarCircleResolver = calculationParameters.polarCircleResolution; - if ( - (!isValidDate(sunriseTime) || !isValidDate(sunsetTime) || isNaN(tomorrowSolarTime.sunrise)) - && polarCircleResolver !== PolarCircleResolution.Unresolved - ) { - const resolved = polarCircleResolvedValues(polarCircleResolver, date, coordinates); - solarTime = resolved.solarTime; - tomorrowSolarTime = resolved.tomorrowSolarTime; - const dateComponents = [date.getFullYear(), date.getMonth(), date.getDate()]; - - dhuhrTime = new TimeComponents(solarTime.transit).utcDate(...dateComponents); - sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(...dateComponents); - sunsetTime = new TimeComponents(solarTime.sunset).utcDate(...dateComponents); - } + // eslint-disable-next-line complexity + constructor(coordinates, date, calculationParameters) { + this.coordinates = coordinates; + this.date = date; + this.calculationParameters = calculationParameters; - // eslint-disable-next-line prefer-const - asrTime = new TimeComponents(solarTime.afternoon(shadowLength(calculationParameters.madhab))).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); + let solarTime = new SolarTime(date, coordinates); - const tomorrowSunrise = new TimeComponents(tomorrowSolarTime.sunrise).utcDate(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate()); - const night = (tomorrowSunrise - sunsetTime) / 1000; + let fajrTime; + let sunriseTime; + let dhuhrTime; + let asrTime; + let maghribTime; + let ishaTime; - fajrTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); + let nightFraction; - // special case for moonsighting committee above latitude 55 - if (calculationParameters.method === "MoonsightingCommittee" && coordinates.latitude >= 55) { - nightFraction = night / 7; - fajrTime = dateByAddingSeconds(sunriseTime, -nightFraction); - } + dhuhrTime = new TimeComponents(solarTime.transit).utcDate( + date.getFullYear(), + date.getMonth(), + date.getDate(), + ); + sunriseTime = new TimeComponents(solarTime.sunrise).utcDate( + date.getFullYear(), + date.getMonth(), + date.getDate(), + ); + let sunsetTime = new TimeComponents(solarTime.sunset).utcDate( + date.getFullYear(), + date.getMonth(), + date.getDate(), + ); + const tomorrow = dateByAddingDays(date, 1); + let tomorrowSolarTime = new SolarTime(tomorrow, coordinates); - const safeFajr = (function () { - if (calculationParameters.method === "MoonsightingCommittee") { - return Astronomical.seasonAdjustedMorningTwilight(coordinates.latitude, dayOfYear(date), date.getFullYear(), sunriseTime); - } - else { - const portion = calculationParameters.nightPortions().fajr; - nightFraction = portion * night; - return dateByAddingSeconds(sunriseTime, -nightFraction); - } - })(); - - if (fajrTime === null || isNaN(fajrTime.getTime()) || safeFajr > fajrTime) { - fajrTime = safeFajr; - } + const polarCircleResolver = calculationParameters.polarCircleResolution; + if ( + (!isValidDate(sunriseTime) || + !isValidDate(sunsetTime) || + isNaN(tomorrowSolarTime.sunrise)) && + polarCircleResolver !== PolarCircleResolution.Unresolved + ) { + const resolved = polarCircleResolvedValues( + polarCircleResolver, + date, + coordinates, + ); + solarTime = resolved.solarTime; + tomorrowSolarTime = resolved.tomorrowSolarTime; + const dateComponents = [ + date.getFullYear(), + date.getMonth(), + date.getDate(), + ]; + + dhuhrTime = new TimeComponents(solarTime.transit).utcDate( + ...dateComponents, + ); + sunriseTime = new TimeComponents(solarTime.sunrise).utcDate( + ...dateComponents, + ); + sunsetTime = new TimeComponents(solarTime.sunset).utcDate( + ...dateComponents, + ); + } + + // eslint-disable-next-line prefer-const + asrTime = new TimeComponents( + solarTime.afternoon(shadowLength(calculationParameters.madhab)), + ).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); + + const tomorrowSunrise = new TimeComponents( + tomorrowSolarTime.sunrise, + ).utcDate(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate()); + const night = (tomorrowSunrise - sunsetTime) / 1000; + + fajrTime = new TimeComponents( + solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false), + ).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); + + // special case for moonsighting committee above latitude 55 + if ( + calculationParameters.method === 'MoonsightingCommittee' && + coordinates.latitude >= 55 + ) { + nightFraction = night / 7; + fajrTime = dateByAddingSeconds(sunriseTime, -nightFraction); + } + + const safeFajr = (function () { + if (calculationParameters.method === 'MoonsightingCommittee') { + return Astronomical.seasonAdjustedMorningTwilight( + coordinates.latitude, + dayOfYear(date), + date.getFullYear(), + sunriseTime, + ); + } else { + const portion = calculationParameters.nightPortions().fajr; + nightFraction = portion * night; + return dateByAddingSeconds(sunriseTime, -nightFraction); + } + })(); - if (calculationParameters.ishaInterval > 0) { - ishaTime = dateByAddingMinutes(sunsetTime, calculationParameters.ishaInterval); + if (fajrTime === null || isNaN(fajrTime.getTime()) || safeFajr > fajrTime) { + fajrTime = safeFajr; + } + + if (calculationParameters.ishaInterval > 0) { + ishaTime = dateByAddingMinutes( + sunsetTime, + calculationParameters.ishaInterval, + ); + } else { + ishaTime = new TimeComponents( + solarTime.hourAngle(-1 * calculationParameters.ishaAngle, true), + ).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); + + // special case for moonsighting committee above latitude 55 + if ( + calculationParameters.method === 'MoonsightingCommittee' && + coordinates.latitude >= 55 + ) { + nightFraction = night / 7; + ishaTime = dateByAddingSeconds(sunsetTime, nightFraction); + } + + const safeIsha = (function () { + if (calculationParameters.method === 'MoonsightingCommittee') { + return Astronomical.seasonAdjustedEveningTwilight( + coordinates.latitude, + dayOfYear(date), + date.getFullYear(), + sunsetTime, + calculationParameters.shafaq, + ); } else { - ishaTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.ishaAngle, true)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - - // special case for moonsighting committee above latitude 55 - if (calculationParameters.method === "MoonsightingCommittee" && coordinates.latitude >= 55) { - nightFraction = night / 7; - ishaTime = dateByAddingSeconds(sunsetTime, nightFraction); - } - - const safeIsha = (function () { - if (calculationParameters.method === "MoonsightingCommittee") { - return Astronomical.seasonAdjustedEveningTwilight(coordinates.latitude, dayOfYear(date), date.getFullYear(), sunsetTime, calculationParameters.shafaq); - } - else { - const portion = calculationParameters.nightPortions().isha; - nightFraction = portion * night; - return dateByAddingSeconds(sunsetTime, nightFraction); - } - })(); - - if (ishaTime == null || isNaN(ishaTime.getTime()) || safeIsha < ishaTime) { - ishaTime = safeIsha; - } + const portion = calculationParameters.nightPortions().isha; + nightFraction = portion * night; + return dateByAddingSeconds(sunsetTime, nightFraction); } + })(); - maghribTime = sunsetTime; - if (calculationParameters.maghribAngle) { - const angleBasedMaghrib = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.maghribAngle, true)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - if (sunsetTime < angleBasedMaghrib && ishaTime > angleBasedMaghrib) { - maghribTime = angleBasedMaghrib; - } - } + if ( + ishaTime == null || + isNaN(ishaTime.getTime()) || + safeIsha < ishaTime + ) { + ishaTime = safeIsha; + } + } - const fajrAdjustment = (calculationParameters.adjustments.fajr || 0) + (calculationParameters.methodAdjustments.fajr || 0); - const sunriseAdjustment = (calculationParameters.adjustments.sunrise || 0) + (calculationParameters.methodAdjustments.sunrise || 0); - const dhuhrAdjustment = (calculationParameters.adjustments.dhuhr || 0) + (calculationParameters.methodAdjustments.dhuhr || 0); - const asrAdjustment = (calculationParameters.adjustments.asr || 0) + (calculationParameters.methodAdjustments.asr || 0); - const maghribAdjustment = (calculationParameters.adjustments.maghrib || 0) + (calculationParameters.methodAdjustments.maghrib || 0); - const ishaAdjustment = (calculationParameters.adjustments.isha || 0) + (calculationParameters.methodAdjustments.isha || 0); - - this.fajr = roundedMinute(dateByAddingMinutes(fajrTime, fajrAdjustment), calculationParameters.rounding); - this.sunrise = roundedMinute(dateByAddingMinutes(sunriseTime, sunriseAdjustment), calculationParameters.rounding); - this.dhuhr = roundedMinute(dateByAddingMinutes(dhuhrTime, dhuhrAdjustment), calculationParameters.rounding); - this.asr = roundedMinute(dateByAddingMinutes(asrTime, asrAdjustment), calculationParameters.rounding); - this.maghrib = roundedMinute(dateByAddingMinutes(maghribTime, maghribAdjustment), calculationParameters.rounding); - this.isha = roundedMinute(dateByAddingMinutes(ishaTime, ishaAdjustment), calculationParameters.rounding); + maghribTime = sunsetTime; + if (calculationParameters.maghribAngle) { + const angleBasedMaghrib = new TimeComponents( + solarTime.hourAngle(-1 * calculationParameters.maghribAngle, true), + ).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); + if (sunsetTime < angleBasedMaghrib && ishaTime > angleBasedMaghrib) { + maghribTime = angleBasedMaghrib; + } } - timeForPrayer(prayer) { - if (prayer === Prayer.Fajr) { - return this.fajr; - } - else if (prayer === Prayer.Sunrise) { - return this.sunrise; - } - else if (prayer === Prayer.Dhuhr) { - return this.dhuhr; - } - else if (prayer === Prayer.Asr) { - return this.asr; - } - else if (prayer === Prayer.Maghrib) { - return this.maghrib; - } - else if (prayer === Prayer.Isha) { - return this.isha; - } - else { - return null; - } + const fajrAdjustment = + (calculationParameters.adjustments.fajr || 0) + + (calculationParameters.methodAdjustments.fajr || 0); + const sunriseAdjustment = + (calculationParameters.adjustments.sunrise || 0) + + (calculationParameters.methodAdjustments.sunrise || 0); + const dhuhrAdjustment = + (calculationParameters.adjustments.dhuhr || 0) + + (calculationParameters.methodAdjustments.dhuhr || 0); + const asrAdjustment = + (calculationParameters.adjustments.asr || 0) + + (calculationParameters.methodAdjustments.asr || 0); + const maghribAdjustment = + (calculationParameters.adjustments.maghrib || 0) + + (calculationParameters.methodAdjustments.maghrib || 0); + const ishaAdjustment = + (calculationParameters.adjustments.isha || 0) + + (calculationParameters.methodAdjustments.isha || 0); + + this.fajr = roundedMinute( + dateByAddingMinutes(fajrTime, fajrAdjustment), + calculationParameters.rounding, + ); + this.sunrise = roundedMinute( + dateByAddingMinutes(sunriseTime, sunriseAdjustment), + calculationParameters.rounding, + ); + this.dhuhr = roundedMinute( + dateByAddingMinutes(dhuhrTime, dhuhrAdjustment), + calculationParameters.rounding, + ); + this.asr = roundedMinute( + dateByAddingMinutes(asrTime, asrAdjustment), + calculationParameters.rounding, + ); + this.maghrib = roundedMinute( + dateByAddingMinutes(maghribTime, maghribAdjustment), + calculationParameters.rounding, + ); + this.isha = roundedMinute( + dateByAddingMinutes(ishaTime, ishaAdjustment), + calculationParameters.rounding, + ); + } + + timeForPrayer(prayer) { + if (prayer === Prayer.Fajr) { + return this.fajr; + } else if (prayer === Prayer.Sunrise) { + return this.sunrise; + } else if (prayer === Prayer.Dhuhr) { + return this.dhuhr; + } else if (prayer === Prayer.Asr) { + return this.asr; + } else if (prayer === Prayer.Maghrib) { + return this.maghrib; + } else if (prayer === Prayer.Isha) { + return this.isha; + } else { + return null; } + } - currentPrayer(date) { - if (typeof date === 'undefined') { - date = new Date(); - } - if (date >= this.isha) { - return Prayer.Isha; - } - else if (date >= this.maghrib) { - return Prayer.Maghrib; - } - else if (date >= this.asr) { - return Prayer.Asr; - } - else if (date >= this.dhuhr) { - return Prayer.Dhuhr; - } - else if (date >= this.sunrise) { - return Prayer.Sunrise; - } - else if (date >= this.fajr) { - return Prayer.Fajr; - } - else { - return Prayer.None; - } + currentPrayer(date) { + if (typeof date === 'undefined') { + date = new Date(); } + if (date >= this.isha) { + return Prayer.Isha; + } else if (date >= this.maghrib) { + return Prayer.Maghrib; + } else if (date >= this.asr) { + return Prayer.Asr; + } else if (date >= this.dhuhr) { + return Prayer.Dhuhr; + } else if (date >= this.sunrise) { + return Prayer.Sunrise; + } else if (date >= this.fajr) { + return Prayer.Fajr; + } else { + return Prayer.None; + } + } - nextPrayer(date) { - if (typeof date === 'undefined') { - date = new Date(); - } - if (date >= this.isha) { - return Prayer.None; - } - else if (date >= this.maghrib) { - return Prayer.Isha; - } - else if (date >= this.asr) { - return Prayer.Maghrib; - } - else if (date >= this.dhuhr) { - return Prayer.Asr; - } - else if (date >= this.sunrise) { - return Prayer.Dhuhr; - } - else if (date >= this.fajr) { - return Prayer.Sunrise; - } - else { - return Prayer.Fajr; - } + nextPrayer(date) { + if (typeof date === 'undefined') { + date = new Date(); } + if (date >= this.isha) { + return Prayer.None; + } else if (date >= this.maghrib) { + return Prayer.Isha; + } else if (date >= this.asr) { + return Prayer.Maghrib; + } else if (date >= this.dhuhr) { + return Prayer.Asr; + } else if (date >= this.sunrise) { + return Prayer.Dhuhr; + } else if (date >= this.fajr) { + return Prayer.Sunrise; + } else { + return Prayer.Fajr; + } + } } - diff --git a/src/Qibla.js b/src/Qibla.js index ee95ee2..fb05260 100644 --- a/src/Qibla.js +++ b/src/Qibla.js @@ -1,24 +1,24 @@ -import Coordinates from './Coordinates' -import { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils' +import Coordinates from './Coordinates'; +import { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils'; export default function qibla(coordinates) { - const makkah = new Coordinates(21.4225241, 39.8261818); + const makkah = new Coordinates(21.4225241, 39.8261818); - // Equation from "Spherical Trigonometry For the use of colleges and schools" page 50 - const term1 = ( - Math.sin(degreesToRadians(makkah.longitude) - - degreesToRadians(coordinates.longitude)) + // Equation from "Spherical Trigonometry For the use of colleges and schools" page 50 + const term1 = Math.sin( + degreesToRadians(makkah.longitude) - + degreesToRadians(coordinates.longitude), + ); + const term2 = + Math.cos(degreesToRadians(coordinates.latitude)) * + Math.tan(degreesToRadians(makkah.latitude)); + const term3 = + Math.sin(degreesToRadians(coordinates.latitude)) * + Math.cos( + degreesToRadians(makkah.longitude) - + degreesToRadians(coordinates.longitude), ); - const term2 = ( - Math.cos(degreesToRadians(coordinates.latitude)) * - Math.tan(degreesToRadians(makkah.latitude)) - ); - const term3 = ( - Math.sin(degreesToRadians(coordinates.latitude)) * - Math.cos(degreesToRadians(makkah.longitude) - - degreesToRadians(coordinates.longitude)) - ); - const angle = Math.atan2(term1, term2 - term3); + const angle = Math.atan2(term1, term2 - term3); - return unwindAngle(radiansToDegrees(angle)); + return unwindAngle(radiansToDegrees(angle)); } diff --git a/src/Rounding.js b/src/Rounding.js index 7314181..6d039ba 100644 --- a/src/Rounding.js +++ b/src/Rounding.js @@ -1,5 +1,5 @@ export const Rounding = { - Nearest: 'nearest', - Up: 'up', - None: 'none' + Nearest: 'nearest', + Up: 'up', + None: 'none', }; diff --git a/src/Shafaq.js b/src/Shafaq.js index 3e40ce3..701fcb8 100644 --- a/src/Shafaq.js +++ b/src/Shafaq.js @@ -2,12 +2,12 @@ // twilight differently. These values are used by the MoonsightingComittee method // for the different ways to calculate Isha. export const Shafaq = { - // General is a combination of Ahmer and Abyad. - General: 'general', + // General is a combination of Ahmer and Abyad. + General: 'general', - // Ahmer means the twilight is the red glow in the sky. Used by the Shafi, Maliki, and Hanbali madhabs. - Ahmer: 'ahmer', + // Ahmer means the twilight is the red glow in the sky. Used by the Shafi, Maliki, and Hanbali madhabs. + Ahmer: 'ahmer', - // Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab. - Abyad: 'abyad' + // Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab. + Abyad: 'abyad', }; diff --git a/src/SolarCoordinates.js b/src/SolarCoordinates.js index 1caec43..1e3be25 100644 --- a/src/SolarCoordinates.js +++ b/src/SolarCoordinates.js @@ -2,34 +2,46 @@ import Astronomical from './Astronomical'; import { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils'; export default class SolarCoordinates { - constructor(julianDay) { - const T = Astronomical.julianCentury(julianDay); - const L0 = Astronomical.meanSolarLongitude(T); - const Lp = Astronomical.meanLunarLongitude(T); - const Omega = Astronomical.ascendingLunarNodeLongitude(T); - const Lambda = degreesToRadians(Astronomical.apparentSolarLongitude(T, L0)); - const Theta0 = Astronomical.meanSiderealTime(T); - const dPsi = Astronomical.nutationInLongitude(T, L0, Lp, Omega); - const dEpsilon = Astronomical.nutationInObliquity(T, L0, Lp, Omega); - const Epsilon0 = Astronomical.meanObliquityOfTheEcliptic(T); - const EpsilonApparent = degreesToRadians(Astronomical.apparentObliquityOfTheEcliptic(T, Epsilon0)); + constructor(julianDay) { + const T = Astronomical.julianCentury(julianDay); + const L0 = Astronomical.meanSolarLongitude(T); + const Lp = Astronomical.meanLunarLongitude(T); + const Omega = Astronomical.ascendingLunarNodeLongitude(T); + const Lambda = degreesToRadians(Astronomical.apparentSolarLongitude(T, L0)); + const Theta0 = Astronomical.meanSiderealTime(T); + const dPsi = Astronomical.nutationInLongitude(T, L0, Lp, Omega); + const dEpsilon = Astronomical.nutationInObliquity(T, L0, Lp, Omega); + const Epsilon0 = Astronomical.meanObliquityOfTheEcliptic(T); + const EpsilonApparent = degreesToRadians( + Astronomical.apparentObliquityOfTheEcliptic(T, Epsilon0), + ); - /* declination: The declination of the sun, the angle between + /* declination: The declination of the sun, the angle between the rays of the Sun and the plane of the Earth's equator, in degrees. Equation from Astronomical Algorithms page 165 */ - this.declination = radiansToDegrees(Math.asin(Math.sin(EpsilonApparent) * Math.sin(Lambda))); + this.declination = radiansToDegrees( + Math.asin(Math.sin(EpsilonApparent) * Math.sin(Lambda)), + ); - /* rightAscension: Right ascension of the Sun, the angular distance on the + /* rightAscension: Right ascension of the Sun, the angular distance on the celestial equator from the vernal equinox to the hour circle, in degrees. Equation from Astronomical Algorithms page 165 */ - this.rightAscension = unwindAngle(radiansToDegrees(Math.atan2(Math.cos(EpsilonApparent) * Math.sin(Lambda), Math.cos(Lambda)))); + this.rightAscension = unwindAngle( + radiansToDegrees( + Math.atan2( + Math.cos(EpsilonApparent) * Math.sin(Lambda), + Math.cos(Lambda), + ), + ), + ); - /* apparentSiderealTime: Apparent sidereal time, the hour angle of the vernal + /* apparentSiderealTime: Apparent sidereal time, the hour angle of the vernal equinox, in degrees. Equation from Astronomical Algorithms page 88 */ - this.apparentSiderealTime = Theta0 + (((dPsi * 3600) * Math.cos(degreesToRadians(Epsilon0 + dEpsilon))) / 3600); - } + this.apparentSiderealTime = + Theta0 + + (dPsi * 3600 * Math.cos(degreesToRadians(Epsilon0 + dEpsilon))) / 3600; + } } - diff --git a/src/SolarTime.js b/src/SolarTime.js index fecb921..d5c78e4 100644 --- a/src/SolarTime.js +++ b/src/SolarTime.js @@ -1,47 +1,90 @@ import Astronomical from './Astronomical'; -import { degreesToRadians, radiansToDegrees } from './MathUtils' +import { degreesToRadians, radiansToDegrees } from './MathUtils'; import SolarCoordinates from './SolarCoordinates'; export default class SolarTime { - constructor(date, coordinates) { - const julianDay = Astronomical.julianDay(date.getFullYear(), date.getMonth() + 1, date.getDate(), 0); + constructor(date, coordinates) { + const julianDay = Astronomical.julianDay( + date.getFullYear(), + date.getMonth() + 1, + date.getDate(), + 0, + ); - this.observer = coordinates; - this.solar = new SolarCoordinates(julianDay); + this.observer = coordinates; + this.solar = new SolarCoordinates(julianDay); - this.prevSolar = new SolarCoordinates(julianDay - 1); - this.nextSolar = new SolarCoordinates(julianDay + 1); + this.prevSolar = new SolarCoordinates(julianDay - 1); + this.nextSolar = new SolarCoordinates(julianDay + 1); - const m0 = Astronomical.approximateTransit(coordinates.longitude, this.solar.apparentSiderealTime, this.solar.rightAscension); - const solarAltitude = -50.0 / 60.0; + const m0 = Astronomical.approximateTransit( + coordinates.longitude, + this.solar.apparentSiderealTime, + this.solar.rightAscension, + ); + const solarAltitude = -50.0 / 60.0; - this.approxTransit = m0; + this.approxTransit = m0; - this.transit = Astronomical.correctedTransit(m0, coordinates.longitude, this.solar.apparentSiderealTime, - this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension); + this.transit = Astronomical.correctedTransit( + m0, + coordinates.longitude, + this.solar.apparentSiderealTime, + this.solar.rightAscension, + this.prevSolar.rightAscension, + this.nextSolar.rightAscension, + ); - this.sunrise = Astronomical.correctedHourAngle(m0, solarAltitude, coordinates, false, this.solar.apparentSiderealTime, - this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, - this.solar.declination, this.prevSolar.declination, this.nextSolar.declination); + this.sunrise = Astronomical.correctedHourAngle( + m0, + solarAltitude, + coordinates, + false, + this.solar.apparentSiderealTime, + this.solar.rightAscension, + this.prevSolar.rightAscension, + this.nextSolar.rightAscension, + this.solar.declination, + this.prevSolar.declination, + this.nextSolar.declination, + ); - this.sunset = Astronomical.correctedHourAngle(m0, solarAltitude, coordinates, true, this.solar.apparentSiderealTime, - this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, - this.solar.declination, this.prevSolar.declination, this.nextSolar.declination); - } + this.sunset = Astronomical.correctedHourAngle( + m0, + solarAltitude, + coordinates, + true, + this.solar.apparentSiderealTime, + this.solar.rightAscension, + this.prevSolar.rightAscension, + this.nextSolar.rightAscension, + this.solar.declination, + this.prevSolar.declination, + this.nextSolar.declination, + ); + } - hourAngle(angle, afterTransit) { - return Astronomical.correctedHourAngle(this.approxTransit, angle, this.observer, afterTransit, this.solar.apparentSiderealTime, - this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, - this.solar.declination, this.prevSolar.declination, this.nextSolar.declination); - } + hourAngle(angle, afterTransit) { + return Astronomical.correctedHourAngle( + this.approxTransit, + angle, + this.observer, + afterTransit, + this.solar.apparentSiderealTime, + this.solar.rightAscension, + this.prevSolar.rightAscension, + this.nextSolar.rightAscension, + this.solar.declination, + this.prevSolar.declination, + this.nextSolar.declination, + ); + } - afternoon(shadowLength) { - // TODO source shadow angle calculation - const tangent = Math.abs(this.observer.latitude - this.solar.declination); - const inverse = shadowLength + Math.tan(degreesToRadians(tangent)); - const angle = radiansToDegrees(Math.atan(1.0 / inverse)); - return this.hourAngle(angle, true); - } + afternoon(shadowLength) { + // TODO source shadow angle calculation + const tangent = Math.abs(this.observer.latitude - this.solar.declination); + const inverse = shadowLength + Math.tan(degreesToRadians(tangent)); + const angle = radiansToDegrees(Math.atan(1.0 / inverse)); + return this.hourAngle(angle, true); + } } - - diff --git a/src/SunnahTimes.js b/src/SunnahTimes.js index 6e9b653..4adac40 100644 --- a/src/SunnahTimes.js +++ b/src/SunnahTimes.js @@ -1,16 +1,29 @@ -import { dateByAddingDays, dateByAddingSeconds, roundedMinute } from './DateUtils'; +import { + dateByAddingDays, + dateByAddingSeconds, + roundedMinute, +} from './DateUtils'; import PrayerTimes from './PrayerTimes'; export default class SunnahTimes { - constructor(prayerTimes) { - const date = prayerTimes.date; - const nextDay = dateByAddingDays(date, 1); - const nextDayPrayerTimes = new PrayerTimes(prayerTimes.coordinates, nextDay, prayerTimes.calculationParameters); + constructor(prayerTimes) { + const date = prayerTimes.date; + const nextDay = dateByAddingDays(date, 1); + const nextDayPrayerTimes = new PrayerTimes( + prayerTimes.coordinates, + nextDay, + prayerTimes.calculationParameters, + ); - const nightDuration = (nextDayPrayerTimes.fajr.getTime() - prayerTimes.maghrib.getTime()) / 1000.0; + const nightDuration = + (nextDayPrayerTimes.fajr.getTime() - prayerTimes.maghrib.getTime()) / + 1000.0; - this.middleOfTheNight = roundedMinute(dateByAddingSeconds(prayerTimes.maghrib, nightDuration / 2)); - this.lastThirdOfTheNight = roundedMinute(dateByAddingSeconds(prayerTimes.maghrib, nightDuration * (2 / 3))); - } + this.middleOfTheNight = roundedMinute( + dateByAddingSeconds(prayerTimes.maghrib, nightDuration / 2), + ); + this.lastThirdOfTheNight = roundedMinute( + dateByAddingSeconds(prayerTimes.maghrib, nightDuration * (2 / 3)), + ); + } } - diff --git a/src/TimeComponents.js b/src/TimeComponents.js index da05850..39bda18 100644 --- a/src/TimeComponents.js +++ b/src/TimeComponents.js @@ -1,12 +1,16 @@ export default class TimeComponents { - constructor(number) { - this.hours = Math.floor(number); - this.minutes = Math.floor((number - this.hours) * 60); - this.seconds = Math.floor((number - (this.hours + this.minutes / 60)) * 60 * 60); - return this; - } - - utcDate(year, month, date) { - return new Date(Date.UTC(year, month, date, this.hours, this.minutes, this.seconds)); - } + constructor(number) { + this.hours = Math.floor(number); + this.minutes = Math.floor((number - this.hours) * 60); + this.seconds = Math.floor( + (number - (this.hours + this.minutes / 60)) * 60 * 60, + ); + return this; + } + + utcDate(year, month, date) { + return new Date( + Date.UTC(year, month, date, this.hours, this.minutes, this.seconds), + ); + } } diff --git a/test/adhan.test.js b/test/adhan.test.js index 5093955..ac931e1 100644 --- a/test/adhan.test.js +++ b/test/adhan.test.js @@ -6,674 +6,1023 @@ import { shadowLength } from '../src/Madhab'; import * as polarCircleResolver from '../src/PolarCircleResolution'; import { Shafaq } from '../src/Shafaq'; -test("Verifying the night portion defined by the high latitude rule", () => { - const p1 = new adhan.CalculationParameters("Other", 18, 18); - p1.highLatitudeRule = adhan.HighLatitudeRule.MiddleOfTheNight; - expect(p1.nightPortions().fajr).toBe(0.5); - expect(p1.nightPortions().isha).toBe(0.5); - - const p2 = new adhan.CalculationParameters("Other", 18, 18); - p2.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; - expect(p2.nightPortions().fajr).toBe(1/7); - expect(p2.nightPortions().isha).toBe(1/7); - - const p3 = new adhan.CalculationParameters("Other", 10, 15); - p3.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - expect(p3.nightPortions().fajr).toBe(10/60); - expect(p3.nightPortions().isha).toBe(15/60); - - const p4 = new adhan.CalculationParameters("Other", 10, 15); - p4.highLatitudeRule = adhan.HighLatitudeRule.fake; - expect(() => { p4.nightPortions().fajr }).toThrow(); - expect(() => { p4.nightPortions().isha }).toThrow(); +test('Verifying the night portion defined by the high latitude rule', () => { + const p1 = new adhan.CalculationParameters('Other', 18, 18); + p1.highLatitudeRule = adhan.HighLatitudeRule.MiddleOfTheNight; + expect(p1.nightPortions().fajr).toBe(0.5); + expect(p1.nightPortions().isha).toBe(0.5); + + const p2 = new adhan.CalculationParameters('Other', 18, 18); + p2.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; + expect(p2.nightPortions().fajr).toBe(1 / 7); + expect(p2.nightPortions().isha).toBe(1 / 7); + + const p3 = new adhan.CalculationParameters('Other', 10, 15); + p3.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + expect(p3.nightPortions().fajr).toBe(10 / 60); + expect(p3.nightPortions().isha).toBe(15 / 60); + + const p4 = new adhan.CalculationParameters('Other', 10, 15); + p4.highLatitudeRule = adhan.HighLatitudeRule.fake; + expect(() => { + p4.nightPortions().fajr; + }).toThrow(); + expect(() => { + p4.nightPortions().isha; + }).toThrow(); }); -test("Verifying the angles defined by the calculation method", () => { - const p1 = adhan.CalculationMethod.MuslimWorldLeague(); - expect(p1.fajrAngle).toBe(18); - expect(p1.ishaAngle).toBe(17); - expect(p1.ishaInterval).toBe(0); - expect(p1.method).toBe("MuslimWorldLeague"); - - const p2 = adhan.CalculationMethod.Egyptian(); - expect(p2.fajrAngle).toBe(19.5); - expect(p2.ishaAngle).toBe(17.5); - expect(p2.ishaInterval).toBe(0); - expect(p2.method).toBe("Egyptian"); - - const p3 = adhan.CalculationMethod.Karachi(); - expect(p3.fajrAngle).toBe(18); - expect(p3.ishaAngle).toBe(18); - expect(p3.ishaInterval).toBe(0); - expect(p3.method).toBe("Karachi"); - - const p4 = adhan.CalculationMethod.UmmAlQura(); - expect(p4.fajrAngle).toBe(18.5); - expect(p4.ishaAngle).toBe(0); - expect(p4.ishaInterval).toBe(90); - expect(p4.method).toBe("UmmAlQura"); - - const p5 = adhan.CalculationMethod.Dubai(); - expect(p5.fajrAngle).toBe(18.2); - expect(p5.ishaAngle).toBe(18.2); - expect(p5.ishaInterval).toBe(0); - expect(p5.method).toBe("Dubai"); - - const p6 = adhan.CalculationMethod.MoonsightingCommittee(); - expect(p6.fajrAngle).toBe(18); - expect(p6.ishaAngle).toBe(18); - expect(p6.ishaInterval).toBe(0); - expect(p6.method).toBe("MoonsightingCommittee"); - - const p7 = adhan.CalculationMethod.NorthAmerica(); - expect(p7.fajrAngle).toBe(15); - expect(p7.ishaAngle).toBe(15); - expect(p7.ishaInterval).toBe(0); - expect(p7.method).toBe("NorthAmerica"); - - const p8 = adhan.CalculationMethod.Other(); - expect(p8.fajrAngle).toBe(0); - expect(p8.ishaAngle).toBe(0); - expect(p8.ishaInterval).toBe(0); - expect(p8.method).toBe("Other"); - - const p9 = adhan.CalculationMethod.Kuwait(); - expect(p9.fajrAngle).toBe(18); - expect(p9.ishaAngle).toBe(17.5); - expect(p9.ishaInterval).toBe(0); - expect(p9.method).toBe("Kuwait"); - - const p10 = adhan.CalculationMethod.Qatar(); - expect(p10.fajrAngle).toBe(18); - expect(p10.ishaAngle).toBe(0); - expect(p10.ishaInterval).toBe(90); - expect(p10.method).toBe("Qatar"); - - const p11 = adhan.CalculationMethod.Singapore(); - expect(p11.fajrAngle).toBe(20); - expect(p11.ishaAngle).toBe(18); - expect(p11.ishaInterval).toBe(0); - expect(p11.method).toBe("Singapore"); - - const p12 = adhan.CalculationMethod.Tehran(); - expect(p12.fajrAngle).toBe(17.7); - expect(p12.ishaAngle).toBe(14); - expect(p12.ishaInterval).toBe(0); - expect(p12.method).toBe("Tehran"); - - const p13 = adhan.CalculationMethod.Turkey(); - expect(p13.fajrAngle).toBe(18); - expect(p13.ishaAngle).toBe(17); - expect(p13.ishaInterval).toBe(0); - expect(p13.method).toBe("Turkey"); - - const p14 = new adhan.CalculationParameters(null, 18, 17); - expect(p14.fajrAngle).toBe(18); - expect(p14.ishaAngle).toBe(17); - expect(p14.ishaInterval).toBe(0); - expect(p14.method).toBe("Other"); +test('Verifying the angles defined by the calculation method', () => { + const p1 = adhan.CalculationMethod.MuslimWorldLeague(); + expect(p1.fajrAngle).toBe(18); + expect(p1.ishaAngle).toBe(17); + expect(p1.ishaInterval).toBe(0); + expect(p1.method).toBe('MuslimWorldLeague'); + + const p2 = adhan.CalculationMethod.Egyptian(); + expect(p2.fajrAngle).toBe(19.5); + expect(p2.ishaAngle).toBe(17.5); + expect(p2.ishaInterval).toBe(0); + expect(p2.method).toBe('Egyptian'); + + const p3 = adhan.CalculationMethod.Karachi(); + expect(p3.fajrAngle).toBe(18); + expect(p3.ishaAngle).toBe(18); + expect(p3.ishaInterval).toBe(0); + expect(p3.method).toBe('Karachi'); + + const p4 = adhan.CalculationMethod.UmmAlQura(); + expect(p4.fajrAngle).toBe(18.5); + expect(p4.ishaAngle).toBe(0); + expect(p4.ishaInterval).toBe(90); + expect(p4.method).toBe('UmmAlQura'); + + const p5 = adhan.CalculationMethod.Dubai(); + expect(p5.fajrAngle).toBe(18.2); + expect(p5.ishaAngle).toBe(18.2); + expect(p5.ishaInterval).toBe(0); + expect(p5.method).toBe('Dubai'); + + const p6 = adhan.CalculationMethod.MoonsightingCommittee(); + expect(p6.fajrAngle).toBe(18); + expect(p6.ishaAngle).toBe(18); + expect(p6.ishaInterval).toBe(0); + expect(p6.method).toBe('MoonsightingCommittee'); + + const p7 = adhan.CalculationMethod.NorthAmerica(); + expect(p7.fajrAngle).toBe(15); + expect(p7.ishaAngle).toBe(15); + expect(p7.ishaInterval).toBe(0); + expect(p7.method).toBe('NorthAmerica'); + + const p8 = adhan.CalculationMethod.Other(); + expect(p8.fajrAngle).toBe(0); + expect(p8.ishaAngle).toBe(0); + expect(p8.ishaInterval).toBe(0); + expect(p8.method).toBe('Other'); + + const p9 = adhan.CalculationMethod.Kuwait(); + expect(p9.fajrAngle).toBe(18); + expect(p9.ishaAngle).toBe(17.5); + expect(p9.ishaInterval).toBe(0); + expect(p9.method).toBe('Kuwait'); + + const p10 = adhan.CalculationMethod.Qatar(); + expect(p10.fajrAngle).toBe(18); + expect(p10.ishaAngle).toBe(0); + expect(p10.ishaInterval).toBe(90); + expect(p10.method).toBe('Qatar'); + + const p11 = adhan.CalculationMethod.Singapore(); + expect(p11.fajrAngle).toBe(20); + expect(p11.ishaAngle).toBe(18); + expect(p11.ishaInterval).toBe(0); + expect(p11.method).toBe('Singapore'); + + const p12 = adhan.CalculationMethod.Tehran(); + expect(p12.fajrAngle).toBe(17.7); + expect(p12.ishaAngle).toBe(14); + expect(p12.ishaInterval).toBe(0); + expect(p12.method).toBe('Tehran'); + + const p13 = adhan.CalculationMethod.Turkey(); + expect(p13.fajrAngle).toBe(18); + expect(p13.ishaAngle).toBe(17); + expect(p13.ishaInterval).toBe(0); + expect(p13.method).toBe('Turkey'); + + const p14 = new adhan.CalculationParameters(null, 18, 17); + expect(p14.fajrAngle).toBe(18); + expect(p14.ishaAngle).toBe(17); + expect(p14.ishaInterval).toBe(0); + expect(p14.method).toBe('Other'); }); -test("calculating prayer times", () => { - const date = new Date(2015, 6, 12); - const params = adhan.CalculationMethod.NorthAmerica(); - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); - - expect(moment(p.fajr).tz('America/New_York').format("h:mm A")).toBe("4:42 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("6:08 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:21 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("6:22 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("8:32 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("9:57 PM"); - expect(moment(p.isha).tz("America/New_York").format("HH:mm")).toBe("21:57"); +test('calculating prayer times', () => { + const date = new Date(2015, 6, 12); + const params = adhan.CalculationMethod.NorthAmerica(); + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); + + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '4:42 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '6:08 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:21 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe('6:22 PM'); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '8:32 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '9:57 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('HH:mm')).toBe('21:57'); }); -test("using offsets to manually adjust prayer times", () => { - const date = new Date(2015, 11, 1); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.madhab = adhan.Madhab.Shafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("5:35 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:06 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:05 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("2:42 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("5:01 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("6:26 PM"); - - params.adjustments.fajr = 10; - params.adjustments.sunrise = 10; - params.adjustments.dhuhr = 10; - params.adjustments.asr = 10; - params.adjustments.maghrib = 10; - params.adjustments.isha = 10; - - const p2 = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); - expect(moment(p2.fajr).tz("America/New_York").format("h:mm A")).toBe("5:45 AM"); - expect(moment(p2.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:16 AM"); - expect(moment(p2.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:15 PM"); - expect(moment(p2.asr).tz("America/New_York").format("h:mm A")).toBe("2:52 PM"); - expect(moment(p2.maghrib).tz("America/New_York").format("h:mm A")).toBe("5:11 PM"); - expect(moment(p2.isha).tz("America/New_York").format("h:mm A")).toBe("6:36 PM"); +test('using offsets to manually adjust prayer times', () => { + const date = new Date(2015, 11, 1); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.madhab = adhan.Madhab.Shafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:35 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:06 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:05 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe('2:42 PM'); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '5:01 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '6:26 PM', + ); + + params.adjustments.fajr = 10; + params.adjustments.sunrise = 10; + params.adjustments.dhuhr = 10; + params.adjustments.asr = 10; + params.adjustments.maghrib = 10; + params.adjustments.isha = 10; + + const p2 = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); + expect(moment(p2.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:45 AM', + ); + expect(moment(p2.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:16 AM', + ); + expect(moment(p2.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:15 PM', + ); + expect(moment(p2.asr).tz('America/New_York').format('h:mm A')).toBe( + '2:52 PM', + ); + expect(moment(p2.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '5:11 PM', + ); + expect(moment(p2.isha).tz('America/New_York').format('h:mm A')).toBe( + '6:36 PM', + ); }); -test("calculating prayer times using the Moonsighting Committee calculation method", () => { - // Values from http://www.moonsighting.com/pray.php - const date = new Date(2016, 0, 31); - const p = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, adhan.CalculationMethod.MoonsightingCommittee()); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("5:48 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:16 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:33 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("3:20 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("5:43 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("7:05 PM"); +test('calculating prayer times using the Moonsighting Committee calculation method', () => { + // Values from http://www.moonsighting.com/pray.php + const date = new Date(2016, 0, 31); + const p = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + adhan.CalculationMethod.MoonsightingCommittee(), + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:48 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:16 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:33 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe('3:20 PM'); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '5:43 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '7:05 PM', + ); }); -test("calculating Moonsighting Committee prayer times at a high latitude location", () => { - // Values from http://www.moonsighting.com/pray.php - const date = new Date(2016, 0, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(59.9094, 10.7349), date, params); - expect(moment(p.fajr).tz("Europe/Oslo").format("h:mm A")).toBe("7:34 AM"); - expect(moment(p.sunrise).tz("Europe/Oslo").format("h:mm A")).toBe("9:19 AM"); - expect(moment(p.dhuhr).tz("Europe/Oslo").format("h:mm A")).toBe("12:25 PM"); - expect(moment(p.asr).tz("Europe/Oslo").format("h:mm A")).toBe("1:36 PM"); - expect(moment(p.maghrib).tz("Europe/Oslo").format("h:mm A")).toBe("3:25 PM"); - expect(moment(p.isha).tz("Europe/Oslo").format("h:mm A")).toBe("5:02 PM"); -}); - -test("calculating times for turkey method", () => { - // values from https://namazvakitleri.diyanet.gov.tr/en-US/9541/prayer-time-for-istanbul - const date = new Date(2020, 3, 16); - const params = adhan.CalculationMethod.Turkey(); - const p = new adhan.PrayerTimes(new adhan.Coordinates(41.005616, 28.976380), date, params); - expect(moment(p.fajr).tz("Europe/Istanbul").format("h:mm A")).toBe("4:44 AM"); - expect(moment(p.sunrise).tz("Europe/Istanbul").format("h:mm A")).toBe("6:16 AM"); - expect(moment(p.dhuhr).tz("Europe/Istanbul").format("h:mm A")).toBe("1:09 PM"); - expect(moment(p.asr).tz("Europe/Istanbul").format("h:mm A")).toBe("4:53 PM"); // original time 4:52 PM - expect(moment(p.maghrib).tz("Europe/Istanbul").format("h:mm A")).toBe("7:52 PM"); - expect(moment(p.isha).tz("Europe/Istanbul").format("h:mm A")).toBe("9:19 PM"); // original time 9:18 PM +test('calculating Moonsighting Committee prayer times at a high latitude location', () => { + // Values from http://www.moonsighting.com/pray.php + const date = new Date(2016, 0, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(59.9094, 10.7349), + date, + params, + ); + expect(moment(p.fajr).tz('Europe/Oslo').format('h:mm A')).toBe('7:34 AM'); + expect(moment(p.sunrise).tz('Europe/Oslo').format('h:mm A')).toBe('9:19 AM'); + expect(moment(p.dhuhr).tz('Europe/Oslo').format('h:mm A')).toBe('12:25 PM'); + expect(moment(p.asr).tz('Europe/Oslo').format('h:mm A')).toBe('1:36 PM'); + expect(moment(p.maghrib).tz('Europe/Oslo').format('h:mm A')).toBe('3:25 PM'); + expect(moment(p.isha).tz('Europe/Oslo').format('h:mm A')).toBe('5:02 PM'); }); -test("calculating times for the egyptian method", () => { - const date = new Date(2020, 0, 1); - const params = adhan.CalculationMethod.Egyptian(); - const p = new adhan.PrayerTimes(new adhan.Coordinates(30.028703, 31.249528), date, params); - expect(moment(p.fajr).tz("Africa/Cairo").format("h:mm A")).toBe("5:18 AM"); - expect(moment(p.sunrise).tz("Africa/Cairo").format("h:mm A")).toBe("6:51 AM"); - expect(moment(p.dhuhr).tz("Africa/Cairo").format("h:mm A")).toBe("11:59 AM"); - expect(moment(p.asr).tz("Africa/Cairo").format("h:mm A")).toBe("2:47 PM"); - expect(moment(p.maghrib).tz("Africa/Cairo").format("h:mm A")).toBe("5:06 PM"); - expect(moment(p.isha).tz("Africa/Cairo").format("h:mm A")).toBe("6:29 PM"); +test('calculating times for turkey method', () => { + // values from https://namazvakitleri.diyanet.gov.tr/en-US/9541/prayer-time-for-istanbul + const date = new Date(2020, 3, 16); + const params = adhan.CalculationMethod.Turkey(); + const p = new adhan.PrayerTimes( + new adhan.Coordinates(41.005616, 28.97638), + date, + params, + ); + expect(moment(p.fajr).tz('Europe/Istanbul').format('h:mm A')).toBe('4:44 AM'); + expect(moment(p.sunrise).tz('Europe/Istanbul').format('h:mm A')).toBe( + '6:16 AM', + ); + expect(moment(p.dhuhr).tz('Europe/Istanbul').format('h:mm A')).toBe( + '1:09 PM', + ); + expect(moment(p.asr).tz('Europe/Istanbul').format('h:mm A')).toBe('4:53 PM'); // original time 4:52 PM + expect(moment(p.maghrib).tz('Europe/Istanbul').format('h:mm A')).toBe( + '7:52 PM', + ); + expect(moment(p.isha).tz('Europe/Istanbul').format('h:mm A')).toBe('9:19 PM'); // original time 9:18 PM }); -test("calculating times for the singapore method", () => { - const date = new Date(2021, 5, 14); - const params = adhan.CalculationMethod.Singapore(); - const p = new adhan.PrayerTimes(new adhan.Coordinates(3.7333333333, 101.3833333333), date, params); - expect(moment(p.fajr).tz("Asia/Kuala_Lumpur").format("h:mm A")).toBe("5:41 AM"); - expect(moment(p.sunrise).tz("Asia/Kuala_Lumpur").format("h:mm A")).toBe("7:05 AM"); - expect(moment(p.dhuhr).tz("Asia/Kuala_Lumpur").format("h:mm A")).toBe("1:16 PM"); - expect(moment(p.asr).tz("Asia/Kuala_Lumpur").format("h:mm A")).toBe("4:42 PM"); - expect(moment(p.maghrib).tz("Asia/Kuala_Lumpur").format("h:mm A")).toBe("7:25 PM"); - expect(moment(p.isha).tz("Asia/Kuala_Lumpur").format("h:mm A")).toBe("8:41 PM"); +test('calculating times for the egyptian method', () => { + const date = new Date(2020, 0, 1); + const params = adhan.CalculationMethod.Egyptian(); + const p = new adhan.PrayerTimes( + new adhan.Coordinates(30.028703, 31.249528), + date, + params, + ); + expect(moment(p.fajr).tz('Africa/Cairo').format('h:mm A')).toBe('5:18 AM'); + expect(moment(p.sunrise).tz('Africa/Cairo').format('h:mm A')).toBe('6:51 AM'); + expect(moment(p.dhuhr).tz('Africa/Cairo').format('h:mm A')).toBe('11:59 AM'); + expect(moment(p.asr).tz('Africa/Cairo').format('h:mm A')).toBe('2:47 PM'); + expect(moment(p.maghrib).tz('Africa/Cairo').format('h:mm A')).toBe('5:06 PM'); + expect(moment(p.isha).tz('Africa/Cairo').format('h:mm A')).toBe('6:29 PM'); }); -test("getting the time for a given prayer", () => { - const date = new Date(2016, 6, 1); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(59.9094, 10.7349), date, params); - expect(p.timeForPrayer(adhan.Prayer.Fajr)).toBe(p.fajr); - expect(p.timeForPrayer(adhan.Prayer.Sunrise)).toBe(p.sunrise); - expect(p.timeForPrayer(adhan.Prayer.Dhuhr)).toBe(p.dhuhr); - expect(p.timeForPrayer(adhan.Prayer.Asr)).toBe(p.asr); - expect(p.timeForPrayer(adhan.Prayer.Maghrib)).toBe(p.maghrib); - expect(p.timeForPrayer(adhan.Prayer.Isha)).toBe(p.isha); - expect(p.timeForPrayer(adhan.Prayer.None)).toBe(null); +test('calculating times for the singapore method', () => { + const date = new Date(2021, 5, 14); + const params = adhan.CalculationMethod.Singapore(); + const p = new adhan.PrayerTimes( + new adhan.Coordinates(3.7333333333, 101.3833333333), + date, + params, + ); + expect(moment(p.fajr).tz('Asia/Kuala_Lumpur').format('h:mm A')).toBe( + '5:41 AM', + ); + expect(moment(p.sunrise).tz('Asia/Kuala_Lumpur').format('h:mm A')).toBe( + '7:05 AM', + ); + expect(moment(p.dhuhr).tz('Asia/Kuala_Lumpur').format('h:mm A')).toBe( + '1:16 PM', + ); + expect(moment(p.asr).tz('Asia/Kuala_Lumpur').format('h:mm A')).toBe( + '4:42 PM', + ); + expect(moment(p.maghrib).tz('Asia/Kuala_Lumpur').format('h:mm A')).toBe( + '7:25 PM', + ); + expect(moment(p.isha).tz('Asia/Kuala_Lumpur').format('h:mm A')).toBe( + '8:41 PM', + ); }); -test("getting the current prayer", () => { - const date = new Date(2015, 8, 1); - const params = adhan.CalculationMethod.Karachi(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(33.720817, 73.090032), date, params); - expect(p.currentPrayer(dateByAddingSeconds(p.fajr, -1))).toBe(adhan.Prayer.None); - expect(p.currentPrayer(p.fajr)).toBe(adhan.Prayer.Fajr); - expect(p.currentPrayer(dateByAddingSeconds(p.fajr, 1))).toBe(adhan.Prayer.Fajr); - expect(p.currentPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe(adhan.Prayer.Sunrise); - expect(p.currentPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe(adhan.Prayer.Dhuhr); - expect(p.currentPrayer(dateByAddingSeconds(p.asr, 1))).toBe(adhan.Prayer.Asr); - expect(p.currentPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe(adhan.Prayer.Maghrib); - expect(p.currentPrayer(dateByAddingSeconds(p.isha, 1))).toBe(adhan.Prayer.Isha); +test('getting the time for a given prayer', () => { + const date = new Date(2016, 6, 1); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(59.9094, 10.7349), + date, + params, + ); + expect(p.timeForPrayer(adhan.Prayer.Fajr)).toBe(p.fajr); + expect(p.timeForPrayer(adhan.Prayer.Sunrise)).toBe(p.sunrise); + expect(p.timeForPrayer(adhan.Prayer.Dhuhr)).toBe(p.dhuhr); + expect(p.timeForPrayer(adhan.Prayer.Asr)).toBe(p.asr); + expect(p.timeForPrayer(adhan.Prayer.Maghrib)).toBe(p.maghrib); + expect(p.timeForPrayer(adhan.Prayer.Isha)).toBe(p.isha); + expect(p.timeForPrayer(adhan.Prayer.None)).toBe(null); }); -test("changing the time for asr with different madhabs", () => { - const date = new Date(2015, 11, 1); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.madhab = adhan.Madhab.Shafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("2:42 PM"); +test('getting the current prayer', () => { + const date = new Date(2015, 8, 1); + const params = adhan.CalculationMethod.Karachi(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(33.720817, 73.090032), + date, + params, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.fajr, -1))).toBe( + adhan.Prayer.None, + ); + expect(p.currentPrayer(p.fajr)).toBe(adhan.Prayer.Fajr); + expect(p.currentPrayer(dateByAddingSeconds(p.fajr, 1))).toBe( + adhan.Prayer.Fajr, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe( + adhan.Prayer.Sunrise, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe( + adhan.Prayer.Dhuhr, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.asr, 1))).toBe(adhan.Prayer.Asr); + expect(p.currentPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe( + adhan.Prayer.Maghrib, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.isha, 1))).toBe( + adhan.Prayer.Isha, + ); +}); - params.madhab = adhan.Madhab.Hanafi; +test('changing the time for asr with different madhabs', () => { + const date = new Date(2015, 11, 1); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.madhab = adhan.Madhab.Shafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe('2:42 PM'); + + params.madhab = adhan.Madhab.Hanafi; + + const p2 = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); + expect(moment(p2.asr).tz('America/New_York').format('h:mm A')).toBe( + '3:22 PM', + ); +}); - const p2 = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); - expect(moment(p2.asr).tz("America/New_York").format("h:mm A")).toBe("3:22 PM"); +test('getting the next prayer', () => { + const date = new Date(2015, 8, 1); + const params = adhan.CalculationMethod.Karachi(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(33.720817, 73.090032), + date, + params, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.fajr, -1))).toBe(adhan.Prayer.Fajr); + expect(p.nextPrayer(p.fajr)).toBe(adhan.Prayer.Sunrise); + expect(p.nextPrayer(dateByAddingSeconds(p.fajr, 1))).toBe( + adhan.Prayer.Sunrise, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe( + adhan.Prayer.Dhuhr, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe(adhan.Prayer.Asr); + expect(p.nextPrayer(dateByAddingSeconds(p.asr, 1))).toBe( + adhan.Prayer.Maghrib, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe( + adhan.Prayer.Isha, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.isha, 1))).toBe(adhan.Prayer.None); }); -test("getting the next prayer", () => { - const date = new Date(2015, 8, 1); - const params = adhan.CalculationMethod.Karachi(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(33.720817, 73.090032), date, params); - expect(p.nextPrayer(dateByAddingSeconds(p.fajr, -1))).toBe(adhan.Prayer.Fajr); - expect(p.nextPrayer(p.fajr)).toBe(adhan.Prayer.Sunrise); - expect(p.nextPrayer(dateByAddingSeconds(p.fajr, 1))).toBe(adhan.Prayer.Sunrise); - expect(p.nextPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe(adhan.Prayer.Dhuhr); - expect(p.nextPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe(adhan.Prayer.Asr); - expect(p.nextPrayer(dateByAddingSeconds(p.asr, 1))).toBe(adhan.Prayer.Maghrib); - expect(p.nextPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe(adhan.Prayer.Isha); - expect(p.nextPrayer(dateByAddingSeconds(p.isha, 1))).toBe(adhan.Prayer.None); +test('getting the current next prayer', () => { + const date = new Date(); + const params = adhan.CalculationMethod.Karachi(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(33.720817, 73.090032), + date, + params, + ); + const current = p.currentPrayer(); + const next = p.nextPrayer(); + expect(current != null || next != null).toBeTruthy(); }); -test("getting the current next prayer", () => { - const date = new Date(); - const params = adhan.CalculationMethod.Karachi(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(33.720817, 73.090032), date, params); - const current = p.currentPrayer(); - const next = p.nextPrayer(); - expect(current != null || next != null).toBeTruthy(); +test('getting the madhab shadow length', () => { + expect(shadowLength(adhan.Madhab.Shafi)).toBe(1); + expect(shadowLength(adhan.Madhab.Hanafi)).toBe(2); + expect(() => { + shadowLength(adhan.Madhab.Foo); + }).toThrow(); }); -test("getting the madhab shadow length", () => { - expect(shadowLength(adhan.Madhab.Shafi)).toBe(1); - expect(shadowLength(adhan.Madhab.Hanafi)).toBe(2); - expect(() => { shadowLength(adhan.Madhab.Foo) }).toThrow(); +test('adjusting prayer time with high latitude rule', () => { + const date = new Date(2020, 5, 15); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + const tzid = 'Europe/London'; + const coords = new adhan.Coordinates(55.983226, -3.216649); + + const p1 = new adhan.PrayerTimes(coords, date, params); + expect(moment(p1.fajr).tz(tzid).format('h:mm A')).toBe('1:14 AM'); + expect(moment(p1.sunrise).tz(tzid).format('h:mm A')).toBe('4:26 AM'); + expect(moment(p1.dhuhr).tz(tzid).format('h:mm A')).toBe('1:14 PM'); + expect(moment(p1.asr).tz(tzid).format('h:mm A')).toBe('5:46 PM'); + expect(moment(p1.maghrib).tz(tzid).format('h:mm A')).toBe('10:01 PM'); + expect(moment(p1.isha).tz(tzid).format('h:mm A')).toBe('1:14 AM'); + + params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; + const p2 = new adhan.PrayerTimes(coords, date, params); + expect(moment(p2.fajr).tz(tzid).format('h:mm A')).toBe('3:31 AM'); + expect(moment(p2.sunrise).tz(tzid).format('h:mm A')).toBe('4:26 AM'); + expect(moment(p2.dhuhr).tz(tzid).format('h:mm A')).toBe('1:14 PM'); + expect(moment(p2.asr).tz(tzid).format('h:mm A')).toBe('5:46 PM'); + expect(moment(p2.maghrib).tz(tzid).format('h:mm A')).toBe('10:01 PM'); + expect(moment(p2.isha).tz(tzid).format('h:mm A')).toBe('10:56 PM'); + + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p3 = new adhan.PrayerTimes(coords, date, params); + expect(moment(p3.fajr).tz(tzid).format('h:mm A')).toBe('2:31 AM'); + expect(moment(p3.sunrise).tz(tzid).format('h:mm A')).toBe('4:26 AM'); + expect(moment(p3.dhuhr).tz(tzid).format('h:mm A')).toBe('1:14 PM'); + expect(moment(p3.asr).tz(tzid).format('h:mm A')).toBe('5:46 PM'); + expect(moment(p3.maghrib).tz(tzid).format('h:mm A')).toBe('10:01 PM'); + expect(moment(p3.isha).tz(tzid).format('h:mm A')).toBe('11:50 PM'); }); -test("adjusting prayer time with high latitude rule", () => { - const date = new Date(2020, 5, 15); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - const tzid = "Europe/London"; - const coords = new adhan.Coordinates(55.983226, -3.216649); - - const p1 = new adhan.PrayerTimes(coords, date, params); - expect(moment(p1.fajr).tz(tzid).format("h:mm A")).toBe("1:14 AM"); - expect(moment(p1.sunrise).tz(tzid).format("h:mm A")).toBe("4:26 AM"); - expect(moment(p1.dhuhr).tz(tzid).format("h:mm A")).toBe("1:14 PM"); - expect(moment(p1.asr).tz(tzid).format("h:mm A")).toBe("5:46 PM"); - expect(moment(p1.maghrib).tz(tzid).format("h:mm A")).toBe("10:01 PM"); - expect(moment(p1.isha).tz(tzid).format("h:mm A")).toBe("1:14 AM"); - - params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; - const p2 = new adhan.PrayerTimes(coords, date, params); - expect(moment(p2.fajr).tz(tzid).format("h:mm A")).toBe("3:31 AM"); - expect(moment(p2.sunrise).tz(tzid).format("h:mm A")).toBe("4:26 AM"); - expect(moment(p2.dhuhr).tz(tzid).format("h:mm A")).toBe("1:14 PM"); - expect(moment(p2.asr).tz(tzid).format("h:mm A")).toBe("5:46 PM"); - expect(moment(p2.maghrib).tz(tzid).format("h:mm A")).toBe("10:01 PM"); - expect(moment(p2.isha).tz(tzid).format("h:mm A")).toBe("10:56 PM"); - - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p3 = new adhan.PrayerTimes(coords, date, params); - expect(moment(p3.fajr).tz(tzid).format("h:mm A")).toBe("2:31 AM"); - expect(moment(p3.sunrise).tz(tzid).format("h:mm A")).toBe("4:26 AM"); - expect(moment(p3.dhuhr).tz(tzid).format("h:mm A")).toBe("1:14 PM"); - expect(moment(p3.asr).tz(tzid).format("h:mm A")).toBe("5:46 PM"); - expect(moment(p3.maghrib).tz(tzid).format("h:mm A")).toBe("10:01 PM"); - expect(moment(p3.isha).tz(tzid).format("h:mm A")).toBe("11:50 PM"); +test('getting recommended high latitude rule', () => { + const coords1 = new adhan.Coordinates(45.983226, -3.216649); + expect(adhan.HighLatitudeRule.recommended(coords1)).toBe( + adhan.HighLatitudeRule.MiddleOfTheNight, + ); + + const coords2 = new adhan.Coordinates(48.983226, -3.216649); + expect(adhan.HighLatitudeRule.recommended(coords2)).toBe( + adhan.HighLatitudeRule.SeventhOfTheNight, + ); }); -test("getting recommended high latitude rule", () => { - const coords1 = new adhan.Coordinates(45.983226, -3.216649) - expect(adhan.HighLatitudeRule.recommended(coords1)).toBe(adhan.HighLatitudeRule.MiddleOfTheNight); +describe('Moonsighting Committee method with shafaq general', () => { + // Values from http://www.moonsighting.com/pray.php + test('Shafaq general in winter', () => { + const date = new Date(2021, 0, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.General; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '6:16 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:52 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '3:12 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '4:57 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '6:27 PM', + ); + }); + + test('Shafaq general in Spring', () => { + const date = new Date(2021, 3, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.General; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:28 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:01 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '5:53 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '7:49 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '9:01 PM', + ); + }); + + test('Shafaq general in Summer', () => { + const date = new Date(2021, 6, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.General; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '3:52 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '5:42 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '6:42 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '9:07 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '10:22 PM', + ); + }); + + test('Shafaq general in Fall', () => { + const date = new Date(2021, 10, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.General; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '6:22 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:55 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:08 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '4:26 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '6:13 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '7:35 PM', + ); + }); +}); - const coords2 = new adhan.Coordinates(48.983226, -3.216649) - expect(adhan.HighLatitudeRule.recommended(coords2)).toBe(adhan.HighLatitudeRule.SeventhOfTheNight); +describe('Moonsighting Committee method with shafaq ahmer', () => { + // Values from http://www.moonsighting.com/pray.php + test('Shafaq ahmer in winter', () => { + const date = new Date(2021, 0, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Ahmer; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '6:16 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:52 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '2:37 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '4:57 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '6:07 PM', + ); // value from source is 6:08 PM + }); + + test('Shafaq ahmer in Spring', () => { + const date = new Date(2021, 3, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Ahmer; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:28 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:01 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '4:59 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '7:49 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '8:45 PM', + ); + }); + + test('Shafaq ahmer in Summer', () => { + const date = new Date(2021, 6, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Ahmer; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '3:52 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '5:42 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '5:29 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '9:07 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '10:19 PM', + ); + }); + + test('Shafaq ahmer in Fall', () => { + const date = new Date(2021, 10, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Ahmer; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '6:22 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:55 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:08 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '3:45 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '6:13 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '7:15 PM', + ); + }); }); -describe("Moonsighting Committee method with shafaq general", () => { - // Values from http://www.moonsighting.com/pray.php - test ('Shafaq general in winter', () => { - const date = new Date(2021, 0, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.General; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("6:16 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:52 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("3:12 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("4:57 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("6:27 PM"); - }); +describe('Moonsighting Committee method with shafaq abyad', () => { + // Values from http://www.moonsighting.com/pray.php + test('Shafaq abyad in winter', () => { + const date = new Date(2021, 0, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Abyad; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '6:16 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:52 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '3:12 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '4:57 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '6:28 PM', + ); + }); + + test('Shafaq abyad in Spring', () => { + const date = new Date(2021, 3, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Abyad; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:28 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:01 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '5:53 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '7:49 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '9:12 PM', + ); + }); + + test('Shafaq abyad in Summer', () => { + const date = new Date(2021, 6, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Abyad; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '3:52 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '5:42 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:28 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '6:42 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '9:07 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '11:17 PM', + ); + }); + + test('Shafaq abyad in Fall', () => { + const date = new Date(2021, 10, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.shafaq = Shafaq.Abyad; + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(43.494, -79.844), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '6:22 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:55 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:08 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe( + '4:26 PM', + ); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '6:13 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '7:37 PM', + ); + }); +}); - test ('Shafaq general in Spring', () => { - const date = new Date(2021, 3, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.General; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("5:28 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:01 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("5:53 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("7:49 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("9:01 PM"); +describe('Polar circle resolution cases', () => { + const prayersToCheck = ['fajr', 'sunrise', 'maghrib', 'isha']; + const regularDate = new Date(2020, 4, 15, 20, 0, 0, 0); + const dateAffectedByPolarNight = new Date(2020, 11, 21, 20, 0, 0, 0); + const dateAffectedByMidnightSun = new Date(2020, 5, 21, 20, 0, 0, 0); + const regularCoordinates = new adhan.Coordinates(31.947351, 35.227163); + const ArjeplogSweden = new adhan.Coordinates(66.7222444, 17.7189); + const AmundsenScottAntarctic = new adhan.Coordinates(-84.996, 0.01013); + const unresolvedParams = adhan.CalculationMethod.MuslimWorldLeague(); + const aqrabBaladParams = adhan.CalculationMethod.MuslimWorldLeague(); + aqrabBaladParams.polarCircleResolution = + adhan.PolarCircleResolution.AqrabBalad; + const aqrabYaumParams = adhan.CalculationMethod.MuslimWorldLeague(); + aqrabYaumParams.polarCircleResolution = adhan.PolarCircleResolution.AqrabYaum; + + describe('Regular computation', () => { + it('should not attempt to do any resolution if the resolver is set to unresolved', () => { + const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); + // eslint-disable-next-line no-unused-vars + const prayersTimes1 = new adhan.PrayerTimes( + ArjeplogSweden, + dateAffectedByMidnightSun, + unresolvedParams, + ); + // eslint-disable-next-line no-unused-vars + const prayersTimes2 = new adhan.PrayerTimes( + ArjeplogSweden, + dateAffectedByMidnightSun, + unresolvedParams, + ); + + expect(spy).not.toHaveBeenCalled(); }); - test ('Shafaq general in Summer', () => { - const date = new Date(2021, 6, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.General; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("3:52 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("5:42 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("6:42 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("9:07 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("10:22 PM"); + it('should not attempt to do any resolution if the date is affected neither by the polar night nor by the midnight sun', () => { + const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); + // eslint-disable-next-line no-unused-vars + const prayersTimes1 = new adhan.PrayerTimes( + ArjeplogSweden, + regularDate, + aqrabBaladParams, + ); + // eslint-disable-next-line no-unused-vars + const prayersTimes2 = new adhan.PrayerTimes( + ArjeplogSweden, + regularDate, + aqrabYaumParams, + ); + + expect(spy).not.toHaveBeenCalled(); }); - test ('Shafaq general in Fall', () => { - const date = new Date(2021, 10, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.General; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("6:22 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:55 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:08 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("4:26 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("6:13 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("7:35 PM"); + it('should not make any search if the location is outside the polar circles', () => { + const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); + // eslint-disable-next-line no-unused-vars + const prayersTimes1 = new adhan.PrayerTimes( + regularCoordinates, + dateAffectedByPolarNight, + aqrabBaladParams, + ); + // eslint-disable-next-line no-unused-vars + const prayersTimes2 = new adhan.PrayerTimes( + regularCoordinates, + dateAffectedByPolarNight, + aqrabYaumParams, + ); + + expect(spy).not.toHaveBeenCalled(); }); - -}); - -describe("Moonsighting Committee method with shafaq ahmer", () => { - // Values from http://www.moonsighting.com/pray.php - test ('Shafaq ahmer in winter', () => { - const date = new Date(2021, 0, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Ahmer; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("6:16 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:52 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("2:37 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("4:57 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("6:07 PM"); // value from source is 6:08 PM + }); + + describe('Midnight Sun case', () => { + it('should fail to compute targeted prayer times with the "unresolved" resolver', () => { + const prayersTimes = new adhan.PrayerTimes( + ArjeplogSweden, + dateAffectedByMidnightSun, + unresolvedParams, + ); + + prayersToCheck.forEach((prayerName) => { + expect(isValidDate(prayersTimes[prayerName])).toEqual(false); + }); }); - test ('Shafaq ahmer in Spring', () => { - const date = new Date(2021, 3, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Ahmer; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("5:28 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:01 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("4:59 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("7:49 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("8:45 PM"); - }); + it('should succeed in computing all prayers times with the "aqrabBalad" resolver', () => { + const prayersTimes = new adhan.PrayerTimes( + ArjeplogSweden, + dateAffectedByMidnightSun, + aqrabBaladParams, + ); - test ('Shafaq ahmer in Summer', () => { - const date = new Date(2021, 6, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Ahmer; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("3:52 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("5:42 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("5:29 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("9:07 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("10:19 PM"); + prayersToCheck.forEach((prayerName) => { + expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + }); }); - test ('Shafaq ahmer in Fall', () => { - const date = new Date(2021, 10, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Ahmer; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("6:22 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:55 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:08 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("3:45 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("6:13 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("7:15 PM"); - }); - -}); + it('should succeed in computing all prayers times with the "aqrabYaum" resolver', () => { + const prayersTimes = new adhan.PrayerTimes( + ArjeplogSweden, + dateAffectedByMidnightSun, + aqrabYaumParams, + ); -describe("Moonsighting Committee method with shafaq abyad", () => { - // Values from http://www.moonsighting.com/pray.php - test ('Shafaq abyad in winter', () => { - const date = new Date(2021, 0, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Abyad; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("6:16 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:52 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("3:12 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("4:57 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("6:28 PM"); + prayersToCheck.forEach((prayerName) => { + expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + }); }); - - test ('Shafaq abyad in Spring', () => { - const date = new Date(2021, 3, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Abyad; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("5:28 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:01 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("5:53 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("7:49 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("9:12 PM"); + }); + + describe('Polar Night case', () => { + it('should fail to compute targeted prayer times with the "unresolved" resolver', () => { + const prayersTimes = new adhan.PrayerTimes( + AmundsenScottAntarctic, + dateAffectedByPolarNight, + unresolvedParams, + ); + + prayersToCheck.forEach((prayerName) => { + expect(isValidDate(prayersTimes[prayerName])).toEqual(false); + }); }); - test ('Shafaq abyad in Summer', () => { - const date = new Date(2021, 6, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Abyad; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("3:52 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("5:42 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:28 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("6:42 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("9:07 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("11:17 PM"); - }); + it('should succeed in computing all prayers times with the "aqrabBalad" resolver', () => { + const prayersTimes = new adhan.PrayerTimes( + AmundsenScottAntarctic, + dateAffectedByPolarNight, + aqrabBaladParams, + ); - test ('Shafaq abyad in Fall', () => { - const date = new Date(2021, 10, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.shafaq = Shafaq.Abyad; - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(43.494,-79.844), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("6:22 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:55 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:08 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("4:26 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("6:13 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("7:37 PM"); + prayersToCheck.forEach((prayerName) => { + expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + }); }); - -}); -describe('Polar circle resolution cases', () => { - const prayersToCheck = ['fajr', 'sunrise', 'maghrib', 'isha']; - const regularDate = new Date(2020, 4, 15, 20, 0, 0, 0); - const dateAffectedByPolarNight = new Date(2020, 11, 21, 20, 0, 0, 0); - const dateAffectedByMidnightSun = new Date(2020, 5, 21, 20, 0, 0, 0); - const regularCoordinates = new adhan.Coordinates(31.947351, 35.227163); - const ArjeplogSweden = new adhan.Coordinates(66.7222444, 17.7189); - const AmundsenScottAntarctic = new adhan.Coordinates(-84.996, 0.01013); - const unresolvedParams = adhan.CalculationMethod.MuslimWorldLeague(); - const aqrabBaladParams = adhan.CalculationMethod.MuslimWorldLeague(); - aqrabBaladParams.polarCircleResolution = adhan.PolarCircleResolution.AqrabBalad; - const aqrabYaumParams = adhan.CalculationMethod.MuslimWorldLeague(); - aqrabYaumParams.polarCircleResolution = adhan.PolarCircleResolution.AqrabYaum; - - describe('Regular computation', () => { - it ('should not attempt to do any resolution if the resolver is set to unresolved', () => { - const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); - // eslint-disable-next-line no-unused-vars - const prayersTimes1 = new adhan.PrayerTimes( - ArjeplogSweden, - dateAffectedByMidnightSun, - unresolvedParams, - ); - // eslint-disable-next-line no-unused-vars - const prayersTimes2 = new adhan.PrayerTimes( - ArjeplogSweden, - dateAffectedByMidnightSun, - unresolvedParams, - ); - - expect(spy).not.toHaveBeenCalled(); - }); - - it ('should not attempt to do any resolution if the date is affected neither by the polar night nor by the midnight sun', () => { - const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); - // eslint-disable-next-line no-unused-vars - const prayersTimes1 = new adhan.PrayerTimes( - ArjeplogSweden, - regularDate, - aqrabBaladParams, - ); - // eslint-disable-next-line no-unused-vars - const prayersTimes2 = new adhan.PrayerTimes( - ArjeplogSweden, - regularDate, - aqrabYaumParams, - ); - - expect(spy).not.toHaveBeenCalled(); - }); - - it ('should not make any search if the location is outside the polar circles', () => { - const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); - // eslint-disable-next-line no-unused-vars - const prayersTimes1 = new adhan.PrayerTimes( - regularCoordinates, - dateAffectedByPolarNight, - aqrabBaladParams, - ); - // eslint-disable-next-line no-unused-vars - const prayersTimes2 = new adhan.PrayerTimes( - regularCoordinates, - dateAffectedByPolarNight, - aqrabYaumParams, - ); - - expect(spy).not.toHaveBeenCalled(); - }); - }); + it('should succeed in computing all prayers times with the "aqrabYaum" resolver', () => { + const prayersTimes = new adhan.PrayerTimes( + AmundsenScottAntarctic, + dateAffectedByPolarNight, + aqrabYaumParams, + ); - describe('Midnight Sun case', () => { - it ('should fail to compute targeted prayer times with the "unresolved" resolver', () => { - const prayersTimes = new adhan.PrayerTimes( - ArjeplogSweden, - dateAffectedByMidnightSun, - unresolvedParams, - ); - - prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(false); - }); - }); - - it ('should succeed in computing all prayers times with the "aqrabBalad" resolver', () => { - const prayersTimes = new adhan.PrayerTimes( - ArjeplogSweden, - dateAffectedByMidnightSun, - aqrabBaladParams, - ); - - prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); - }); - }); - - it ('should succeed in computing all prayers times with the "aqrabYaum" resolver', () => { - const prayersTimes = new adhan.PrayerTimes( - ArjeplogSweden, - dateAffectedByMidnightSun, - aqrabYaumParams, - ); - - prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); - }); - }); + prayersToCheck.forEach((prayerName) => { + expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + }); }); - describe('Polar Night case', () => { - it ('should fail to compute targeted prayer times with the "unresolved" resolver', () => { - const prayersTimes = new adhan.PrayerTimes( - AmundsenScottAntarctic, - dateAffectedByPolarNight, - unresolvedParams, - ); - - prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(false); - }); - }); - - it ('should succeed in computing all prayers times with the "aqrabBalad" resolver', () => { - const prayersTimes = new adhan.PrayerTimes( - AmundsenScottAntarctic, - dateAffectedByPolarNight, - aqrabBaladParams, - ); - - prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); - }); - }); - - it ('should succeed in computing all prayers times with the "aqrabYaum" resolver', () => { - const prayersTimes = new adhan.PrayerTimes( - AmundsenScottAntarctic, - dateAffectedByPolarNight, - aqrabYaumParams, - ); - - prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); - }); - }); - - test("calculating times for the polar circle", () => { - const coordinates = new adhan.Coordinates(66.7222444, 17.7189); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.polarCircleResolution = adhan.PolarCircleResolution.AqrabYaum; - params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; - const date = new Date(2020, 5, 21); - - const p = new adhan.PrayerTimes(coordinates, date, params); - expect(moment(p.fajr).tz("Europe/Stockholm").format("MMMM DD, YYYY h:mm A")).toBe("June 21, 2020 12:40 AM"); - expect(moment(p.sunrise).tz("Europe/Stockholm").format("MMMM DD, YYYY h:mm A")).toBe("June 21, 2020 12:54 AM"); - expect(moment(p.dhuhr).tz("Europe/Stockholm").format("MMMM DD, YYYY h:mm A")).toBe("June 21, 2020 12:55 PM"); - expect(moment(p.asr).tz("Europe/Stockholm").format("MMMM DD, YYYY h:mm A")).toBe("June 21, 2020 5:49 PM"); - expect(moment(p.maghrib).tz("Europe/Stockholm").format("MMMM DD, YYYY h:mm A")).toBe("June 21, 2020 11:36 PM"); - expect(moment(p.isha).tz("Europe/Stockholm").format("MMMM DD, YYYY h:mm A")).toBe("June 21, 2020 11:51 PM"); - }); - + test('calculating times for the polar circle', () => { + const coordinates = new adhan.Coordinates(66.7222444, 17.7189); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.polarCircleResolution = adhan.PolarCircleResolution.AqrabYaum; + params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; + const date = new Date(2020, 5, 21); + + const p = new adhan.PrayerTimes(coordinates, date, params); + expect( + moment(p.fajr).tz('Europe/Stockholm').format('MMMM DD, YYYY h:mm A'), + ).toBe('June 21, 2020 12:40 AM'); + expect( + moment(p.sunrise).tz('Europe/Stockholm').format('MMMM DD, YYYY h:mm A'), + ).toBe('June 21, 2020 12:54 AM'); + expect( + moment(p.dhuhr).tz('Europe/Stockholm').format('MMMM DD, YYYY h:mm A'), + ).toBe('June 21, 2020 12:55 PM'); + expect( + moment(p.asr).tz('Europe/Stockholm').format('MMMM DD, YYYY h:mm A'), + ).toBe('June 21, 2020 5:49 PM'); + expect( + moment(p.maghrib).tz('Europe/Stockholm').format('MMMM DD, YYYY h:mm A'), + ).toBe('June 21, 2020 11:36 PM'); + expect( + moment(p.isha).tz('Europe/Stockholm').format('MMMM DD, YYYY h:mm A'), + ).toBe('June 21, 2020 11:51 PM'); }); -}); \ No newline at end of file + }); +}); diff --git a/test/astronomical.test.js b/test/astronomical.test.js index 03e9153..134e797 100644 --- a/test/astronomical.test.js +++ b/test/astronomical.test.js @@ -7,230 +7,284 @@ import { unwindAngle } from '../src/MathUtils'; import { dayOfYear } from '../src/DateUtils'; function timeString(hours) { - const comps = new TimeComponents(hours); - if (isNaN(comps.hours) || isNaN(comps.minutes) || isNaN(comps.seconds)) { - return ""; - } - - // round to the nearest minute - let minutes = (comps.minutes + Math.round((comps.seconds)/60)).toString(); - if (minutes.length === 1) { - minutes = "0" + minutes; - } - return comps.hours + ":" + minutes; + const comps = new TimeComponents(hours); + if (isNaN(comps.hours) || isNaN(comps.minutes) || isNaN(comps.seconds)) { + return ''; + } + + // round to the nearest minute + let minutes = (comps.minutes + Math.round(comps.seconds / 60)).toString(); + if (minutes.length === 1) { + minutes = '0' + minutes; + } + return comps.hours + ':' + minutes; } -test("Calculate solar coordinate values",() => { - // values from Astronomical Algorithms page 165 - - let jd = Astronomical.julianDay(1992, 10, 13); - let solar = new SolarCoordinates(jd); - - let T = Astronomical.julianCentury(jd); - let L0 = Astronomical.meanSolarLongitude(T); - let E0 = Astronomical.meanObliquityOfTheEcliptic(T); - const Eapp = Astronomical.apparentObliquityOfTheEcliptic(T, E0); - const M = Astronomical.meanSolarAnomaly(T); - const C = Astronomical.solarEquationOfTheCenter(T, M); - const Lambda = Astronomical.apparentSolarLongitude(T, L0); - const Delta = solar.declination; - const Alpha = unwindAngle(solar.rightAscension); - - expect(T).toBeCloseTo(-0.072183436, 9); - expect(L0).toBeCloseTo(201.80720, 4); - expect(E0).toBeCloseTo(23.44023, 4); - expect(Eapp).toBeCloseTo(23.43999, 4); - expect(M).toBeCloseTo(278.99397, 4); - expect(C).toBeCloseTo(-1.89732, 4); - expect(Lambda).toBeCloseTo(199.90895, 4); - expect(Delta).toBeCloseTo(-7.78507, 4); - expect(Alpha).toBeCloseTo(198.38083, 4); - - // values from Astronomical Algorithms page 88 - - jd = Astronomical.julianDay(1987, 4, 10); - solar = new SolarCoordinates(jd); - T = Astronomical.julianCentury(jd); - - const Theta0 = Astronomical.meanSiderealTime(T); - const Thetaapp = solar.apparentSiderealTime; - const Omega = Astronomical.ascendingLunarNodeLongitude(T); - E0 = Astronomical.meanObliquityOfTheEcliptic(T); - L0 = Astronomical.meanSolarLongitude(T); - const Lp = Astronomical.meanLunarLongitude(T); - const dPsi = Astronomical.nutationInLongitude(T, L0, Lp, Omega); - const dE = Astronomical.nutationInObliquity(T, L0, Lp, Omega); - const E = E0 + dE; - - expect(Theta0).toBeCloseTo(197.693195, 5); - expect(Thetaapp).toBeCloseTo(197.6922295833, 3); - - // values from Astronomical Algorithms page 148 - - expect(Omega).toBeCloseTo(11.2531, 3); - expect(dPsi).toBeCloseTo(-0.0010522, 3); - expect(dE).toBeCloseTo(0.0026230556, 4); - expect(E0).toBeCloseTo(23.4409463889, 5); - expect(E).toBeCloseTo(23.4435694444, 4); +test('Calculate solar coordinate values', () => { + // values from Astronomical Algorithms page 165 + + let jd = Astronomical.julianDay(1992, 10, 13); + let solar = new SolarCoordinates(jd); + + let T = Astronomical.julianCentury(jd); + let L0 = Astronomical.meanSolarLongitude(T); + let E0 = Astronomical.meanObliquityOfTheEcliptic(T); + const Eapp = Astronomical.apparentObliquityOfTheEcliptic(T, E0); + const M = Astronomical.meanSolarAnomaly(T); + const C = Astronomical.solarEquationOfTheCenter(T, M); + const Lambda = Astronomical.apparentSolarLongitude(T, L0); + const Delta = solar.declination; + const Alpha = unwindAngle(solar.rightAscension); + + expect(T).toBeCloseTo(-0.072183436, 9); + expect(L0).toBeCloseTo(201.8072, 4); + expect(E0).toBeCloseTo(23.44023, 4); + expect(Eapp).toBeCloseTo(23.43999, 4); + expect(M).toBeCloseTo(278.99397, 4); + expect(C).toBeCloseTo(-1.89732, 4); + expect(Lambda).toBeCloseTo(199.90895, 4); + expect(Delta).toBeCloseTo(-7.78507, 4); + expect(Alpha).toBeCloseTo(198.38083, 4); + + // values from Astronomical Algorithms page 88 + + jd = Astronomical.julianDay(1987, 4, 10); + solar = new SolarCoordinates(jd); + T = Astronomical.julianCentury(jd); + + const Theta0 = Astronomical.meanSiderealTime(T); + const Thetaapp = solar.apparentSiderealTime; + const Omega = Astronomical.ascendingLunarNodeLongitude(T); + E0 = Astronomical.meanObliquityOfTheEcliptic(T); + L0 = Astronomical.meanSolarLongitude(T); + const Lp = Astronomical.meanLunarLongitude(T); + const dPsi = Astronomical.nutationInLongitude(T, L0, Lp, Omega); + const dE = Astronomical.nutationInObliquity(T, L0, Lp, Omega); + const E = E0 + dE; + + expect(Theta0).toBeCloseTo(197.693195, 5); + expect(Thetaapp).toBeCloseTo(197.6922295833, 3); + + // values from Astronomical Algorithms page 148 + + expect(Omega).toBeCloseTo(11.2531, 3); + expect(dPsi).toBeCloseTo(-0.0010522, 3); + expect(dE).toBeCloseTo(0.0026230556, 4); + expect(E0).toBeCloseTo(23.4409463889, 5); + expect(E).toBeCloseTo(23.4435694444, 4); }); -test("Calculate the Altitude Of Celestial Body",() => { - const Phi = 38 + (55 / 60) + (17.0 / 3600); - const Delta = -6 - (43 / 60) - (11.61 / 3600); - const H = 64.352133; - const altitude = Astronomical.altitudeOfCelestialBody(Phi, Delta, H); - expect(altitude).toBeCloseTo(15.1249, 3); +test('Calculate the Altitude Of Celestial Body', () => { + const Phi = 38 + 55 / 60 + 17.0 / 3600; + const Delta = -6 - 43 / 60 - 11.61 / 3600; + const H = 64.352133; + const altitude = Astronomical.altitudeOfCelestialBody(Phi, Delta, H); + expect(altitude).toBeCloseTo(15.1249, 3); }); -test("Calculate the Transit and Hour Angle",() => { - // values from Astronomical Algorithms page 103 - const longitude = -71.0833; - const Theta = 177.74208; - const Alpha1 = 40.68021; - const Alpha2 = 41.73129; - const Alpha3 = 42.78204; - const m0 = Astronomical.approximateTransit(longitude, Theta, Alpha2); - - expect(m0).toBeCloseTo(0.81965, 4); - - const transit = Astronomical.correctedTransit(m0, longitude, Theta, Alpha2, Alpha1, Alpha3) / 24; - - expect(transit).toBeCloseTo(0.81980, 4); - - const Delta1 = 18.04761; - const Delta2 = 18.44092; - const Delta3 = 18.82742; - const coordinates = new Coordinates(42.3333, longitude); - - const rise = Astronomical.correctedHourAngle(m0, -0.5667, coordinates, false, Theta, Alpha2, Alpha1, Alpha3, Delta2, Delta1, Delta3) / 24; - expect(rise).toBeCloseTo(0.51766, 4); +test('Calculate the Transit and Hour Angle', () => { + // values from Astronomical Algorithms page 103 + const longitude = -71.0833; + const Theta = 177.74208; + const Alpha1 = 40.68021; + const Alpha2 = 41.73129; + const Alpha3 = 42.78204; + const m0 = Astronomical.approximateTransit(longitude, Theta, Alpha2); + + expect(m0).toBeCloseTo(0.81965, 4); + + const transit = + Astronomical.correctedTransit( + m0, + longitude, + Theta, + Alpha2, + Alpha1, + Alpha3, + ) / 24; + + expect(transit).toBeCloseTo(0.8198, 4); + + const Delta1 = 18.04761; + const Delta2 = 18.44092; + const Delta3 = 18.82742; + const coordinates = new Coordinates(42.3333, longitude); + + const rise = + Astronomical.correctedHourAngle( + m0, + -0.5667, + coordinates, + false, + Theta, + Alpha2, + Alpha1, + Alpha3, + Delta2, + Delta1, + Delta3, + ) / 24; + expect(rise).toBeCloseTo(0.51766, 4); }); -test("calculate Solar Time values",() => { - // Comparison values generated from http://aa.usno.navy.mil/rstt/onedaytable?form=1&ID=AA&year=2015&month=7&day=12&state=NC&place=raleigh - const coordinates = new Coordinates(35 + 47/60, -78 - 39/60); - const solar = new SolarTime(new Date(2015, 6, 12), coordinates); - - const transit = solar.transit; - const sunrise = solar.sunrise; - const sunset = solar.sunset; - const twilightStart = solar.hourAngle(-6, false); - const twilightEnd = solar.hourAngle(-6, true); - const invalid = solar.hourAngle(-36, true); - expect(timeString(twilightStart)).toBe("9:38"); - expect(timeString(sunrise)).toBe("10:08"); - expect(timeString(transit)).toBe("17:20"); - expect(timeString(sunset)).toBe("24:32"); - expect(timeString(twilightEnd)).toBe("25:02"); - expect(timeString(invalid)).toBe(""); +test('calculate Solar Time values', () => { + // Comparison values generated from http://aa.usno.navy.mil/rstt/onedaytable?form=1&ID=AA&year=2015&month=7&day=12&state=NC&place=raleigh + const coordinates = new Coordinates(35 + 47 / 60, -78 - 39 / 60); + const solar = new SolarTime(new Date(2015, 6, 12), coordinates); + + const transit = solar.transit; + const sunrise = solar.sunrise; + const sunset = solar.sunset; + const twilightStart = solar.hourAngle(-6, false); + const twilightEnd = solar.hourAngle(-6, true); + const invalid = solar.hourAngle(-36, true); + expect(timeString(twilightStart)).toBe('9:38'); + expect(timeString(sunrise)).toBe('10:08'); + expect(timeString(transit)).toBe('17:20'); + expect(timeString(sunset)).toBe('24:32'); + expect(timeString(twilightEnd)).toBe('25:02'); + expect(timeString(invalid)).toBe(''); }); -test("verify Right Ascension Edge Case",() => { - const coordinates = new Coordinates(35 + 47/60, -78 - 39/60); - const solar = []; - for (let i = 0; i <= 365; i++) { - solar.push(new SolarTime(new Date(2016, 0, i), coordinates)); - } - - for (let i = 1; i < solar.length; i++) { - const time = solar[i]; - const previousTime = solar[i-1]; - expect(Math.abs(time.transit - previousTime.transit)).toBeLessThan(1/60); - expect(Math.abs(time.sunrise - previousTime.sunrise)).toBeLessThan(2/60); - expect(Math.abs(time.sunset - previousTime.sunset)).toBeLessThan(2/60); - } +test('verify Right Ascension Edge Case', () => { + const coordinates = new Coordinates(35 + 47 / 60, -78 - 39 / 60); + const solar = []; + for (let i = 0; i <= 365; i++) { + solar.push(new SolarTime(new Date(2016, 0, i), coordinates)); + } + + for (let i = 1; i < solar.length; i++) { + const time = solar[i]; + const previousTime = solar[i - 1]; + expect(Math.abs(time.transit - previousTime.transit)).toBeLessThan(1 / 60); + expect(Math.abs(time.sunrise - previousTime.sunrise)).toBeLessThan(2 / 60); + expect(Math.abs(time.sunset - previousTime.sunset)).toBeLessThan(2 / 60); + } }); -test("verify the correct calendar date is being used for calculations",() => { - // generated from http://aa.usno.navy.mil/data/docs/RS_OneYear.php for KUKUIHAELE, HAWAII - const coordinates = new Coordinates(20 + 7/60, -155 - 34/60); - const day1solar = new SolarTime(new Date(2015, 3, 2), coordinates); - const day2solar = new SolarTime(new Date(2015, 3, 3), coordinates); +test('verify the correct calendar date is being used for calculations', () => { + // generated from http://aa.usno.navy.mil/data/docs/RS_OneYear.php for KUKUIHAELE, HAWAII + const coordinates = new Coordinates(20 + 7 / 60, -155 - 34 / 60); + const day1solar = new SolarTime(new Date(2015, 3, 2), coordinates); + const day2solar = new SolarTime(new Date(2015, 3, 3), coordinates); - const day1 = day1solar.sunrise; - const day2 = day2solar.sunrise; + const day1 = day1solar.sunrise; + const day2 = day2solar.sunrise; - expect(timeString(day1)).toBe("16:15") - expect(timeString(day2)).toBe("16:14") + expect(timeString(day1)).toBe('16:15'); + expect(timeString(day2)).toBe('16:14'); }); -test("interpolate a value given previous and next values along with an interpolation factor",() => { - const interpolatedValue = Astronomical.interpolate(0.877366, 0.884226, 0.870531, 4.35/24) - expect(interpolatedValue).toBeCloseTo(0.876125, 5); +test('interpolate a value given previous and next values along with an interpolation factor', () => { + const interpolatedValue = Astronomical.interpolate( + 0.877366, + 0.884226, + 0.870531, + 4.35 / 24, + ); + expect(interpolatedValue).toBeCloseTo(0.876125, 5); - const i1 = Astronomical.interpolate(1, -1, 3, 0.6); - expect(i1).toBeCloseTo(2.2, 5); + const i1 = Astronomical.interpolate(1, -1, 3, 0.6); + expect(i1).toBeCloseTo(2.2, 5); - const i2 = Astronomical.interpolateAngles(1, -1, 3, 0.6); - expect(i2).toBeCloseTo(2.2, 5); + const i2 = Astronomical.interpolateAngles(1, -1, 3, 0.6); + expect(i2).toBeCloseTo(2.2, 5); - const i3 = Astronomical.interpolateAngles(1, 359, 3, 0.6); - expect(i3).toBeCloseTo(2.2, 5); + const i3 = Astronomical.interpolateAngles(1, 359, 3, 0.6); + expect(i3).toBeCloseTo(2.2, 5); }); -test("calculate the Julian day for a given Gregorian date",() => { - // Comparison values generated from http://aa.usno.navy.mil/data/docs/JulianDate.php - expect(Astronomical.julianDay(2010, 1, 2)).toBe(2455198.500000); - expect(Astronomical.julianDay(2011, 2, 4)).toBe(2455596.500000); - expect(Astronomical.julianDay(2012, 3, 6)).toBe(2455992.500000); - expect(Astronomical.julianDay(2013, 4, 8)).toBe(2456390.500000); - expect(Astronomical.julianDay(2014, 5, 10)).toBe(2456787.500000); - expect(Astronomical.julianDay(2015, 6, 12)).toBe(2457185.500000); - expect(Astronomical.julianDay(2016, 7, 14)).toBe(2457583.500000); - expect(Astronomical.julianDay(2017, 8, 16)).toBe(2457981.500000); - expect(Astronomical.julianDay(2018, 9, 18)).toBe(2458379.500000); - expect(Astronomical.julianDay(2019, 10, 20)).toBe(2458776.500000); - expect(Astronomical.julianDay(2020, 11, 22)).toBe(2459175.500000); - expect(Astronomical.julianDay(2021, 12, 24)).toBe(2459572.500000); - - const jdVal = 2457215.67708333; - expect(Astronomical.julianDay(2015, 7, 12, 4.25)).toBeCloseTo(jdVal, 5); - - expect(Astronomical.julianDay(2015, 7, 12, 8.0)).toBeCloseTo(2457215.833333, 5); - expect(Astronomical.julianDay(1992, 10, 13, 0.0)).toBeCloseTo(2448908.5, 5); - - const j1 = Astronomical.julianDay(2010, 1, 3); - const j2 = Astronomical.julianDay(2010, 1, 1, 48); - expect(j1).toBe(j2); +test('calculate the Julian day for a given Gregorian date', () => { + // Comparison values generated from http://aa.usno.navy.mil/data/docs/JulianDate.php + expect(Astronomical.julianDay(2010, 1, 2)).toBe(2455198.5); + expect(Astronomical.julianDay(2011, 2, 4)).toBe(2455596.5); + expect(Astronomical.julianDay(2012, 3, 6)).toBe(2455992.5); + expect(Astronomical.julianDay(2013, 4, 8)).toBe(2456390.5); + expect(Astronomical.julianDay(2014, 5, 10)).toBe(2456787.5); + expect(Astronomical.julianDay(2015, 6, 12)).toBe(2457185.5); + expect(Astronomical.julianDay(2016, 7, 14)).toBe(2457583.5); + expect(Astronomical.julianDay(2017, 8, 16)).toBe(2457981.5); + expect(Astronomical.julianDay(2018, 9, 18)).toBe(2458379.5); + expect(Astronomical.julianDay(2019, 10, 20)).toBe(2458776.5); + expect(Astronomical.julianDay(2020, 11, 22)).toBe(2459175.5); + expect(Astronomical.julianDay(2021, 12, 24)).toBe(2459572.5); + + const jdVal = 2457215.67708333; + expect(Astronomical.julianDay(2015, 7, 12, 4.25)).toBeCloseTo(jdVal, 5); + + expect(Astronomical.julianDay(2015, 7, 12, 8.0)).toBeCloseTo( + 2457215.833333, + 5, + ); + expect(Astronomical.julianDay(1992, 10, 13, 0.0)).toBeCloseTo(2448908.5, 5); + + const j1 = Astronomical.julianDay(2010, 1, 3); + const j2 = Astronomical.julianDay(2010, 1, 1, 48); + expect(j1).toBe(j2); }); -test("determine if a year is a leap year",() => { - expect(Astronomical.isLeapYear(2015)).toBeFalsy(); - expect(Astronomical.isLeapYear(2016)).toBeTruthy(); - expect(Astronomical.isLeapYear(1600)).toBeTruthy(); - expect(Astronomical.isLeapYear(2000)).toBeTruthy(); - expect(Astronomical.isLeapYear(2400)).toBeTruthy(); - expect(Astronomical.isLeapYear(1700)).toBeFalsy(); - expect(Astronomical.isLeapYear(1800)).toBeFalsy(); - expect(Astronomical.isLeapYear(1900)).toBeFalsy(); - expect(Astronomical.isLeapYear(2100)).toBeFalsy(); - expect(Astronomical.isLeapYear(2200)).toBeFalsy(); - expect(Astronomical.isLeapYear(2300)).toBeFalsy(); - expect(Astronomical.isLeapYear(2500)).toBeFalsy(); - expect(Astronomical.isLeapYear(2600)).toBeFalsy(); +test('determine if a year is a leap year', () => { + expect(Astronomical.isLeapYear(2015)).toBeFalsy(); + expect(Astronomical.isLeapYear(2016)).toBeTruthy(); + expect(Astronomical.isLeapYear(1600)).toBeTruthy(); + expect(Astronomical.isLeapYear(2000)).toBeTruthy(); + expect(Astronomical.isLeapYear(2400)).toBeTruthy(); + expect(Astronomical.isLeapYear(1700)).toBeFalsy(); + expect(Astronomical.isLeapYear(1800)).toBeFalsy(); + expect(Astronomical.isLeapYear(1900)).toBeFalsy(); + expect(Astronomical.isLeapYear(2100)).toBeFalsy(); + expect(Astronomical.isLeapYear(2200)).toBeFalsy(); + expect(Astronomical.isLeapYear(2300)).toBeFalsy(); + expect(Astronomical.isLeapYear(2500)).toBeFalsy(); + expect(Astronomical.isLeapYear(2600)).toBeFalsy(); }); -test("get the day of the year for a date",() => { - expect(dayOfYear(new Date(2015, 0, 1))).toBe(1); - expect(dayOfYear(new Date(2015, 11, 31))).toBe(365); - expect(dayOfYear(new Date(2016, 11, 31))).toBe(366); - expect(dayOfYear(new Date(2015, 1, 1))).toBe(32); +test('get the day of the year for a date', () => { + expect(dayOfYear(new Date(2015, 0, 1))).toBe(1); + expect(dayOfYear(new Date(2015, 11, 31))).toBe(365); + expect(dayOfYear(new Date(2016, 11, 31))).toBe(366); + expect(dayOfYear(new Date(2015, 1, 1))).toBe(32); }); -test("calculate the days since the winter or summer solstice",() => { - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 0, 1)), 2016, 1)).toBe(11); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 11, 31)), 2015, 1)).toBe(10); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 31)), 2016, 1)).toBe(10); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 21)), 2016, 1)).toBe(0); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 22)), 2016, 1)).toBe(1); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 2, 1)), 2016, 1)).toBe(71); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 2, 1)), 2015, 1)).toBe(70); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 20)), 2016, 1)).toBe(365); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 11, 20)), 2015, 1)).toBe(364); - - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 5, 21)), 2015, -1)).toBe(0); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 5, 21)), 2016, -1)).toBe(0); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 5, 20)), 2015, -1)).toBe(364); - expect(Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 5, 20)), 2016, -1)).toBe(365); +test('calculate the days since the winter or summer solstice', () => { + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 0, 1)), 2016, 1), + ).toBe(11); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 11, 31)), 2015, 1), + ).toBe(10); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 31)), 2016, 1), + ).toBe(10); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 21)), 2016, 1), + ).toBe(0); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 22)), 2016, 1), + ).toBe(1); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 2, 1)), 2016, 1), + ).toBe(71); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 2, 1)), 2015, 1), + ).toBe(70); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 11, 20)), 2016, 1), + ).toBe(365); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 11, 20)), 2015, 1), + ).toBe(364); + + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 5, 21)), 2015, -1), + ).toBe(0); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 5, 21)), 2016, -1), + ).toBe(0); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2015, 5, 20)), 2015, -1), + ).toBe(364); + expect( + Astronomical.daysSinceSolstice(dayOfYear(new Date(2016, 5, 20)), 2016, -1), + ).toBe(365); }); - diff --git a/test/dist.test.js b/test/dist.test.js index 4db37db..416d581 100644 --- a/test/dist.test.js +++ b/test/dist.test.js @@ -2,129 +2,227 @@ import adhan from '../Adhan'; import moment from 'moment-timezone'; import { dateByAddingSeconds } from '../src/DateUtils'; -test("calculating prayer times", () => { - const date = new Date(2015, 6, 12); - const params = adhan.CalculationMethod.NorthAmerica(); - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); +test('calculating prayer times', () => { + const date = new Date(2015, 6, 12); + const params = adhan.CalculationMethod.NorthAmerica(); + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); - expect(moment(p.fajr).tz('America/New_York').format("h:mm A")).toBe("4:42 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("6:08 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("1:21 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("6:22 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("8:32 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("9:57 PM"); - expect(moment(p.isha).tz("America/New_York").format("HH:mm")).toBe("21:57"); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '4:42 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '6:08 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '1:21 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe('6:22 PM'); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '8:32 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '9:57 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('HH:mm')).toBe('21:57'); }); -test("useing offsets to manually adjust prayer times", () => { - const date = new Date(2015, 11, 1); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.madhab = adhan.Madhab.Shafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("5:35 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:06 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:05 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("2:42 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("5:01 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("6:26 PM"); +test('useing offsets to manually adjust prayer times', () => { + const date = new Date(2015, 11, 1); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.madhab = adhan.Madhab.Shafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:35 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:06 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:05 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe('2:42 PM'); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '5:01 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '6:26 PM', + ); - params.adjustments.fajr = 10; - params.adjustments.sunrise = 10; - params.adjustments.dhuhr = 10; - params.adjustments.asr = 10; - params.adjustments.maghrib = 10; - params.adjustments.isha = 10; + params.adjustments.fajr = 10; + params.adjustments.sunrise = 10; + params.adjustments.dhuhr = 10; + params.adjustments.asr = 10; + params.adjustments.maghrib = 10; + params.adjustments.isha = 10; - const p2 = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, params); - expect(moment(p2.fajr).tz("America/New_York").format("h:mm A")).toBe("5:45 AM"); - expect(moment(p2.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:16 AM"); - expect(moment(p2.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:15 PM"); - expect(moment(p2.asr).tz("America/New_York").format("h:mm A")).toBe("2:52 PM"); - expect(moment(p2.maghrib).tz("America/New_York").format("h:mm A")).toBe("5:11 PM"); - expect(moment(p2.isha).tz("America/New_York").format("h:mm A")).toBe("6:36 PM"); + const p2 = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + params, + ); + expect(moment(p2.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:45 AM', + ); + expect(moment(p2.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:16 AM', + ); + expect(moment(p2.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:15 PM', + ); + expect(moment(p2.asr).tz('America/New_York').format('h:mm A')).toBe( + '2:52 PM', + ); + expect(moment(p2.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '5:11 PM', + ); + expect(moment(p2.isha).tz('America/New_York').format('h:mm A')).toBe( + '6:36 PM', + ); }); -test("calculating prayer times using the Moonsighting Committee calculation method", () => { - // Values from http://www.moonsighting.com/pray.php - const date = new Date(2016, 0, 31); - const p = new adhan.PrayerTimes(new adhan.Coordinates(35.7750, -78.6336), date, adhan.CalculationMethod.MoonsightingCommittee()); - expect(moment(p.fajr).tz("America/New_York").format("h:mm A")).toBe("5:48 AM"); - expect(moment(p.sunrise).tz("America/New_York").format("h:mm A")).toBe("7:16 AM"); - expect(moment(p.dhuhr).tz("America/New_York").format("h:mm A")).toBe("12:33 PM"); - expect(moment(p.asr).tz("America/New_York").format("h:mm A")).toBe("3:20 PM"); - expect(moment(p.maghrib).tz("America/New_York").format("h:mm A")).toBe("5:43 PM"); - expect(moment(p.isha).tz("America/New_York").format("h:mm A")).toBe("7:05 PM"); +test('calculating prayer times using the Moonsighting Committee calculation method', () => { + // Values from http://www.moonsighting.com/pray.php + const date = new Date(2016, 0, 31); + const p = new adhan.PrayerTimes( + new adhan.Coordinates(35.775, -78.6336), + date, + adhan.CalculationMethod.MoonsightingCommittee(), + ); + expect(moment(p.fajr).tz('America/New_York').format('h:mm A')).toBe( + '5:48 AM', + ); + expect(moment(p.sunrise).tz('America/New_York').format('h:mm A')).toBe( + '7:16 AM', + ); + expect(moment(p.dhuhr).tz('America/New_York').format('h:mm A')).toBe( + '12:33 PM', + ); + expect(moment(p.asr).tz('America/New_York').format('h:mm A')).toBe('3:20 PM'); + expect(moment(p.maghrib).tz('America/New_York').format('h:mm A')).toBe( + '5:43 PM', + ); + expect(moment(p.isha).tz('America/New_York').format('h:mm A')).toBe( + '7:05 PM', + ); }); -test("calculating Moonsighting Committee prayer times at a high latitude location", () => { - // Values from http://www.moonsighting.com/pray.php - const date = new Date(2016, 0, 1); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - params.madhab = adhan.Madhab.Hanafi; - const p = new adhan.PrayerTimes(new adhan.Coordinates(59.9094, 10.7349), date, params); - expect(moment(p.fajr).tz("Europe/Oslo").format("h:mm A")).toBe("7:34 AM"); - expect(moment(p.sunrise).tz("Europe/Oslo").format("h:mm A")).toBe("9:19 AM"); - expect(moment(p.dhuhr).tz("Europe/Oslo").format("h:mm A")).toBe("12:25 PM"); - expect(moment(p.asr).tz("Europe/Oslo").format("h:mm A")).toBe("1:36 PM"); - expect(moment(p.maghrib).tz("Europe/Oslo").format("h:mm A")).toBe("3:25 PM"); - expect(moment(p.isha).tz("Europe/Oslo").format("h:mm A")).toBe("5:02 PM"); -}); +test('calculating Moonsighting Committee prayer times at a high latitude location', () => { + // Values from http://www.moonsighting.com/pray.php + const date = new Date(2016, 0, 1); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + params.madhab = adhan.Madhab.Hanafi; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(59.9094, 10.7349), + date, + params, + ); + expect(moment(p.fajr).tz('Europe/Oslo').format('h:mm A')).toBe('7:34 AM'); + expect(moment(p.sunrise).tz('Europe/Oslo').format('h:mm A')).toBe('9:19 AM'); + expect(moment(p.dhuhr).tz('Europe/Oslo').format('h:mm A')).toBe('12:25 PM'); + expect(moment(p.asr).tz('Europe/Oslo').format('h:mm A')).toBe('1:36 PM'); + expect(moment(p.maghrib).tz('Europe/Oslo').format('h:mm A')).toBe('3:25 PM'); + expect(moment(p.isha).tz('Europe/Oslo').format('h:mm A')).toBe('5:02 PM'); +}); -test("getting the time for a given prayer", () => { - const date = new Date(2016, 6, 1); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(59.9094, 10.7349), date, params); - expect(p.timeForPrayer(adhan.Prayer.Fajr)).toBe(p.fajr); - expect(p.timeForPrayer(adhan.Prayer.Sunrise)).toBe(p.sunrise); - expect(p.timeForPrayer(adhan.Prayer.Dhuhr)).toBe(p.dhuhr); - expect(p.timeForPrayer(adhan.Prayer.Asr)).toBe(p.asr); - expect(p.timeForPrayer(adhan.Prayer.Maghrib)).toBe(p.maghrib); - expect(p.timeForPrayer(adhan.Prayer.Isha)).toBe(p.isha); - expect(p.timeForPrayer(adhan.Prayer.None)).toBe(null); +test('getting the time for a given prayer', () => { + const date = new Date(2016, 6, 1); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(59.9094, 10.7349), + date, + params, + ); + expect(p.timeForPrayer(adhan.Prayer.Fajr)).toBe(p.fajr); + expect(p.timeForPrayer(adhan.Prayer.Sunrise)).toBe(p.sunrise); + expect(p.timeForPrayer(adhan.Prayer.Dhuhr)).toBe(p.dhuhr); + expect(p.timeForPrayer(adhan.Prayer.Asr)).toBe(p.asr); + expect(p.timeForPrayer(adhan.Prayer.Maghrib)).toBe(p.maghrib); + expect(p.timeForPrayer(adhan.Prayer.Isha)).toBe(p.isha); + expect(p.timeForPrayer(adhan.Prayer.None)).toBe(null); }); -test("getting the current prayer", () => { - const date = new Date(2015, 8, 1); - const params = adhan.CalculationMethod.Karachi(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(33.720817, 73.090032), date, params); - expect(p.currentPrayer(dateByAddingSeconds(p.fajr, -1))).toBe(adhan.Prayer.None); - expect(p.currentPrayer(p.fajr)).toBe(adhan.Prayer.Fajr); - expect(p.currentPrayer(dateByAddingSeconds(p.fajr, 1))).toBe(adhan.Prayer.Fajr); - expect(p.currentPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe(adhan.Prayer.Sunrise); - expect(p.currentPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe(adhan.Prayer.Dhuhr); - expect(p.currentPrayer(dateByAddingSeconds(p.asr, 1))).toBe(adhan.Prayer.Asr); - expect(p.currentPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe(adhan.Prayer.Maghrib); - expect(p.currentPrayer(dateByAddingSeconds(p.isha, 1))).toBe(adhan.Prayer.Isha); +test('getting the current prayer', () => { + const date = new Date(2015, 8, 1); + const params = adhan.CalculationMethod.Karachi(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(33.720817, 73.090032), + date, + params, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.fajr, -1))).toBe( + adhan.Prayer.None, + ); + expect(p.currentPrayer(p.fajr)).toBe(adhan.Prayer.Fajr); + expect(p.currentPrayer(dateByAddingSeconds(p.fajr, 1))).toBe( + adhan.Prayer.Fajr, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe( + adhan.Prayer.Sunrise, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe( + adhan.Prayer.Dhuhr, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.asr, 1))).toBe(adhan.Prayer.Asr); + expect(p.currentPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe( + adhan.Prayer.Maghrib, + ); + expect(p.currentPrayer(dateByAddingSeconds(p.isha, 1))).toBe( + adhan.Prayer.Isha, + ); }); -test("getting the next prayer", () => { - const date = new Date(2015, 8, 1); - const params = adhan.CalculationMethod.Karachi(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(33.720817, 73.090032), date, params); - expect(p.nextPrayer(dateByAddingSeconds(p.fajr, -1))).toBe(adhan.Prayer.Fajr); - expect(p.nextPrayer(p.fajr)).toBe(adhan.Prayer.Sunrise); - expect(p.nextPrayer(dateByAddingSeconds(p.fajr, 1))).toBe(adhan.Prayer.Sunrise); - expect(p.nextPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe(adhan.Prayer.Dhuhr); - expect(p.nextPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe(adhan.Prayer.Asr); - expect(p.nextPrayer(dateByAddingSeconds(p.asr, 1))).toBe(adhan.Prayer.Maghrib); - expect(p.nextPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe(adhan.Prayer.Isha); - expect(p.nextPrayer(dateByAddingSeconds(p.isha, 1))).toBe(adhan.Prayer.None); +test('getting the next prayer', () => { + const date = new Date(2015, 8, 1); + const params = adhan.CalculationMethod.Karachi(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(33.720817, 73.090032), + date, + params, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.fajr, -1))).toBe(adhan.Prayer.Fajr); + expect(p.nextPrayer(p.fajr)).toBe(adhan.Prayer.Sunrise); + expect(p.nextPrayer(dateByAddingSeconds(p.fajr, 1))).toBe( + adhan.Prayer.Sunrise, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.sunrise, 1))).toBe( + adhan.Prayer.Dhuhr, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.dhuhr, 1))).toBe(adhan.Prayer.Asr); + expect(p.nextPrayer(dateByAddingSeconds(p.asr, 1))).toBe( + adhan.Prayer.Maghrib, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.maghrib, 1))).toBe( + adhan.Prayer.Isha, + ); + expect(p.nextPrayer(dateByAddingSeconds(p.isha, 1))).toBe(adhan.Prayer.None); }); -test("getting the current next prayer", () => { - const date = new Date(); - const params = adhan.CalculationMethod.Karachi(); - params.madhab = adhan.Madhab.Hanafi; - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - const p = new adhan.PrayerTimes(new adhan.Coordinates(33.720817, 73.090032), date, params); - const current = p.currentPrayer(); - const next = p.nextPrayer(); - expect(current != null || next != null).toBeTruthy(); +test('getting the current next prayer', () => { + const date = new Date(); + const params = adhan.CalculationMethod.Karachi(); + params.madhab = adhan.Madhab.Hanafi; + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + const p = new adhan.PrayerTimes( + new adhan.Coordinates(33.720817, 73.090032), + date, + params, + ); + const current = p.currentPrayer(); + const next = p.nextPrayer(); + expect(current != null || next != null).toBeTruthy(); }); diff --git a/test/math.test.js b/test/math.test.js index 7bf02e0..01c84a3 100644 --- a/test/math.test.js +++ b/test/math.test.js @@ -1,101 +1,110 @@ -import { radiansToDegrees, degreesToRadians, normalizeToScale, unwindAngle, quadrantShiftAngle } from '../src/MathUtils'; +import { + radiansToDegrees, + degreesToRadians, + normalizeToScale, + unwindAngle, + quadrantShiftAngle, +} from '../src/MathUtils'; import { roundedMinute, dateByAddingDays } from '../src/DateUtils'; import TimeComponents from '../src/TimeComponents'; import { Rounding } from '../src/Rounding'; -test("converting between degrees and radians", () => { - expect(radiansToDegrees(Math.PI)).toBe(180); - expect(degreesToRadians(180)).toBe(Math.PI); - expect(radiansToDegrees(Math.PI/2)).toBe(90); - expect(degreesToRadians(90)).toBe(Math.PI/2); +test('converting between degrees and radians', () => { + expect(radiansToDegrees(Math.PI)).toBe(180); + expect(degreesToRadians(180)).toBe(Math.PI); + expect(radiansToDegrees(Math.PI / 2)).toBe(90); + expect(degreesToRadians(90)).toBe(Math.PI / 2); }); -test("normalizes the number to be inside the specified scale", () => { - expect(normalizeToScale(2.0, -5)).toBe(-3); - expect(normalizeToScale(-4, -5)).toBe(-4); - expect(normalizeToScale(-6, -5)).toBe(-1); +test('normalizes the number to be inside the specified scale', () => { + expect(normalizeToScale(2.0, -5)).toBe(-3); + expect(normalizeToScale(-4, -5)).toBe(-4); + expect(normalizeToScale(-6, -5)).toBe(-1); - expect(normalizeToScale(-1, 24)).toBe(23); - expect(normalizeToScale(1, 24)).toBe(1); - expect(normalizeToScale(49.0, 24)).toBe(1); + expect(normalizeToScale(-1, 24)).toBe(23); + expect(normalizeToScale(1, 24)).toBe(1); + expect(normalizeToScale(49.0, 24)).toBe(1); - expect(normalizeToScale(361, 360)).toBe(1); - expect(normalizeToScale(360, 360)).toBe(0); - expect(normalizeToScale(259, 360)).toBe(259); - expect(normalizeToScale(2592.0, 360)).toBe(72); + expect(normalizeToScale(361, 360)).toBe(1); + expect(normalizeToScale(360, 360)).toBe(0); + expect(normalizeToScale(259, 360)).toBe(259); + expect(normalizeToScale(2592.0, 360)).toBe(72); - expect(unwindAngle(-45)).toBe(315); - expect(unwindAngle(361.0)).toBe(1); - expect(unwindAngle(360)).toBe(0); - expect(unwindAngle(259.0)).toBe(259); - expect(unwindAngle(2592)).toBe(72); + expect(unwindAngle(-45)).toBe(315); + expect(unwindAngle(361.0)).toBe(1); + expect(unwindAngle(360)).toBe(0); + expect(unwindAngle(259.0)).toBe(259); + expect(unwindAngle(2592)).toBe(72); - expect(normalizeToScale(360.1, 360)).toBeCloseTo(0.1, 9); + expect(normalizeToScale(360.1, 360)).toBeCloseTo(0.1, 9); }); -test("find the same angle constrained within the first and fourth quadrants", () => { - expect(quadrantShiftAngle(360.0)).toBe(0); - expect(quadrantShiftAngle(361.0)).toBe(1); - expect(quadrantShiftAngle(1.0)).toBe(1); - expect(quadrantShiftAngle(-1.0)).toBe(-1); - expect(quadrantShiftAngle(-181.0)).toBe(179); - expect(quadrantShiftAngle(180.0)).toBe(180); - expect(quadrantShiftAngle(359.0)).toBe(-1); - expect(quadrantShiftAngle(-359.0)).toBe(1); - expect(quadrantShiftAngle(1261.0)).toBe(-179); - expect(quadrantShiftAngle(-360.1)).toBeCloseTo(-0.1, 9); +test('find the same angle constrained within the first and fourth quadrants', () => { + expect(quadrantShiftAngle(360.0)).toBe(0); + expect(quadrantShiftAngle(361.0)).toBe(1); + expect(quadrantShiftAngle(1.0)).toBe(1); + expect(quadrantShiftAngle(-1.0)).toBe(-1); + expect(quadrantShiftAngle(-181.0)).toBe(179); + expect(quadrantShiftAngle(180.0)).toBe(180); + expect(quadrantShiftAngle(359.0)).toBe(-1); + expect(quadrantShiftAngle(-359.0)).toBe(1); + expect(quadrantShiftAngle(1261.0)).toBe(-179); + expect(quadrantShiftAngle(-360.1)).toBeCloseTo(-0.1, 9); }); -test("break down an hour value into separate hour, minute, and second values", () => { - const comps1 = new TimeComponents(15.199) - expect(comps1.hours).toBe(15); - expect(comps1.minutes).toBe(11); - expect(comps1.seconds).toBe(56); +test('break down an hour value into separate hour, minute, and second values', () => { + const comps1 = new TimeComponents(15.199); + expect(comps1.hours).toBe(15); + expect(comps1.minutes).toBe(11); + expect(comps1.seconds).toBe(56); - const comps2 = new TimeComponents(1.0084); - expect(comps2.hours).toBe(1); - expect(comps2.minutes).toBe(0); - expect(comps2.seconds).toBe(30); + const comps2 = new TimeComponents(1.0084); + expect(comps2.hours).toBe(1); + expect(comps2.minutes).toBe(0); + expect(comps2.seconds).toBe(30); - const comps3 = new TimeComponents(1.0083); - expect(comps3.hours).toBe(1); - expect(comps3.minutes).toBe(0); + const comps3 = new TimeComponents(1.0083); + expect(comps3.hours).toBe(1); + expect(comps3.minutes).toBe(0); - const comps4 = new TimeComponents(2.1); - expect(comps4.hours).toBe(2); - expect(comps4.minutes).toBe(6); + const comps4 = new TimeComponents(2.1); + expect(comps4.hours).toBe(2); + expect(comps4.minutes).toBe(6); - const comps5 = new TimeComponents(3.5); - expect(comps5.hours).toBe(3); - expect(comps5.minutes).toBe(30); + const comps5 = new TimeComponents(3.5); + expect(comps5.hours).toBe(3); + expect(comps5.minutes).toBe(30); }); -test("rounding a date to the closest minute", () => { - const date1 = roundedMinute(new Date(2015, 0, 1, 10, 2, 29)); - expect(date1.getMinutes()).toBe(2); - expect(date1.getSeconds()).toBe(0); - - const date2 = roundedMinute(new Date(2015, 0, 1, 10, 2, 31)); - expect(date2.getMinutes()).toBe(3); - expect(date2.getSeconds()).toBe(0); - - const date3 = roundedMinute(new Date(2015, 0, 1, 10, 2, 29), Rounding.Up); - expect(date3.getMinutes()).toBe(3); - expect(date3.getSeconds()).toBe(0); - - const date4 = roundedMinute(new Date(2015, 0, 1, 10, 2, 29), Rounding.None); - expect(date4.getMinutes()).toBe(2); - expect(date4.getSeconds()).toBe(29); - - const date5 = roundedMinute(new Date(2015, 0, 1, 10, 2, 29), Rounding.Nearest); - expect(date5.getMinutes()).toBe(2); - expect(date5.getSeconds()).toBe(0); +test('rounding a date to the closest minute', () => { + const date1 = roundedMinute(new Date(2015, 0, 1, 10, 2, 29)); + expect(date1.getMinutes()).toBe(2); + expect(date1.getSeconds()).toBe(0); + + const date2 = roundedMinute(new Date(2015, 0, 1, 10, 2, 31)); + expect(date2.getMinutes()).toBe(3); + expect(date2.getSeconds()).toBe(0); + + const date3 = roundedMinute(new Date(2015, 0, 1, 10, 2, 29), Rounding.Up); + expect(date3.getMinutes()).toBe(3); + expect(date3.getSeconds()).toBe(0); + + const date4 = roundedMinute(new Date(2015, 0, 1, 10, 2, 29), Rounding.None); + expect(date4.getMinutes()).toBe(2); + expect(date4.getSeconds()).toBe(29); + + const date5 = roundedMinute( + new Date(2015, 0, 1, 10, 2, 29), + Rounding.Nearest, + ); + expect(date5.getMinutes()).toBe(2); + expect(date5.getSeconds()).toBe(0); }); -test("adding days to date", () => { - const date1 = new Date(2015, 10, 1, 0, 0, 0); - expect(date1.getDate()).toBe(1); +test('adding days to date', () => { + const date1 = new Date(2015, 10, 1, 0, 0, 0); + expect(date1.getDate()).toBe(1); - const date2 = dateByAddingDays(date1, 1); - expect(date2.getDate()).toBe(2); -}); \ No newline at end of file + const date2 = dateByAddingDays(date1, 1); + expect(date2.getDate()).toBe(2); +}); diff --git a/test/qibla.test.js b/test/qibla.test.js index bdadc4d..88589db 100644 --- a/test/qibla.test.js +++ b/test/qibla.test.js @@ -1,43 +1,42 @@ import qibla from '../src/Qibla'; -test("finding Qibla in North America", () => { - const washingtonDC = { latitude: 38.9072, longitude: -77.0369 }; - expect(qibla(washingtonDC)).toBeCloseTo(56.560, 3); +test('finding Qibla in North America', () => { + const washingtonDC = { latitude: 38.9072, longitude: -77.0369 }; + expect(qibla(washingtonDC)).toBeCloseTo(56.56, 3); - const nyc = { latitude: 40.7128, longitude: -74.0059 }; - expect(qibla(nyc)).toBeCloseTo(58.4817, 3); + const nyc = { latitude: 40.7128, longitude: -74.0059 }; + expect(qibla(nyc)).toBeCloseTo(58.4817, 3); - const sanFrancisco = { latitude: 37.7749, longitude: -122.4194 }; - expect(qibla(sanFrancisco)).toBeCloseTo(18.8438, 3); + const sanFrancisco = { latitude: 37.7749, longitude: -122.4194 }; + expect(qibla(sanFrancisco)).toBeCloseTo(18.8438, 3); - const anchorage = { latitude: 61.2181, longitude: -149.9003 }; - expect(qibla(anchorage)).toBeCloseTo(350.883, 3); + const anchorage = { latitude: 61.2181, longitude: -149.9003 }; + expect(qibla(anchorage)).toBeCloseTo(350.883, 3); }); -test("finding Qibla in the South Pacific", () => { - const sydney = { latitude: -33.8688, longitude: 151.2093 }; - expect(qibla(sydney)).toBeCloseTo(277.4996, 3); - - const auckland = { latitude: -36.8485, longitude: 174.7633 }; - expect(qibla(auckland)).toBeCloseTo(261.197, 3); -}); +test('finding Qibla in the South Pacific', () => { + const sydney = { latitude: -33.8688, longitude: 151.2093 }; + expect(qibla(sydney)).toBeCloseTo(277.4996, 3); -test("finding Qibla in Europe", () => { - const london = { latitude: 51.5074, longitude: -0.1278 }; - expect(qibla(london)).toBeCloseTo(118.987, 3); - - const paris = { latitude: 48.8566, longitude: 2.3522 }; - expect(qibla(paris)).toBeCloseTo(119.163, 3); - - const oslo = { latitude: 59.9139, longitude: 10.7522 }; - expect(qibla(oslo)).toBeCloseTo(139.0278, 3); + const auckland = { latitude: -36.8485, longitude: 174.7633 }; + expect(qibla(auckland)).toBeCloseTo(261.197, 3); }); -test("finding Qibla in Asia", () => { - const islamabad = { latitude: 33.7294, longitude: 73.0931 }; - expect(qibla(islamabad)).toBeCloseTo(255.882, 3); - - const tokyo = { latitude: 35.6895, longitude: 139.6917 }; - expect(qibla(tokyo)).toBeCloseTo(293.021, 3); +test('finding Qibla in Europe', () => { + const london = { latitude: 51.5074, longitude: -0.1278 }; + expect(qibla(london)).toBeCloseTo(118.987, 3); + + const paris = { latitude: 48.8566, longitude: 2.3522 }; + expect(qibla(paris)).toBeCloseTo(119.163, 3); + + const oslo = { latitude: 59.9139, longitude: 10.7522 }; + expect(qibla(oslo)).toBeCloseTo(139.0278, 3); }); +test('finding Qibla in Asia', () => { + const islamabad = { latitude: 33.7294, longitude: 73.0931 }; + expect(qibla(islamabad)).toBeCloseTo(255.882, 3); + + const tokyo = { latitude: 35.6895, longitude: 139.6917 }; + expect(qibla(tokyo)).toBeCloseTo(293.021, 3); +}); diff --git a/test/sunnah.test.js b/test/sunnah.test.js index 1ed160f..c61ac76 100644 --- a/test/sunnah.test.js +++ b/test/sunnah.test.js @@ -1,93 +1,157 @@ import adhan from '../src/Adhan'; import moment from 'moment-timezone'; -test("getting sunnah times for the New York timezone", () => { - const coords = new adhan.Coordinates(35.7750, -78.6336); - const params = adhan.CalculationMethod.NorthAmerica(); - - const date1 = new Date(2015, 6, 12); - const p1 = new adhan.PrayerTimes(coords, date1, params); - expect(moment(p1.maghrib).tz("America/New_York").format("M/D/YY, h:mm A")).toBe("7/12/15, 8:32 PM"); - - const date2 = new Date(2015, 6, 13); - const p2 = new adhan.PrayerTimes(coords, date2, params); - expect(moment(p2.fajr).tz("America/New_York").format("M/D/YY, h:mm A")).toBe("7/13/15, 4:43 AM"); - - const sunnah = new adhan.SunnahTimes(p1); - expect(moment(sunnah.middleOfTheNight).tz("America/New_York").format("M/D/YY, h:mm A")).toBe("7/13/15, 12:38 AM"); - expect(moment(sunnah.lastThirdOfTheNight).tz("America/New_York").format("M/D/YY, h:mm A")).toBe("7/13/15, 1:59 AM"); +test('getting sunnah times for the New York timezone', () => { + const coords = new adhan.Coordinates(35.775, -78.6336); + const params = adhan.CalculationMethod.NorthAmerica(); + + const date1 = new Date(2015, 6, 12); + const p1 = new adhan.PrayerTimes(coords, date1, params); + expect( + moment(p1.maghrib).tz('America/New_York').format('M/D/YY, h:mm A'), + ).toBe('7/12/15, 8:32 PM'); + + const date2 = new Date(2015, 6, 13); + const p2 = new adhan.PrayerTimes(coords, date2, params); + expect(moment(p2.fajr).tz('America/New_York').format('M/D/YY, h:mm A')).toBe( + '7/13/15, 4:43 AM', + ); + + const sunnah = new adhan.SunnahTimes(p1); + expect( + moment(sunnah.middleOfTheNight) + .tz('America/New_York') + .format('M/D/YY, h:mm A'), + ).toBe('7/13/15, 12:38 AM'); + expect( + moment(sunnah.lastThirdOfTheNight) + .tz('America/New_York') + .format('M/D/YY, h:mm A'), + ).toBe('7/13/15, 1:59 AM'); }); -test("getting sunnah times for the London timezone", () => { - const coords = new adhan.Coordinates(51.5074, -0.1278); - const params = adhan.CalculationMethod.MoonsightingCommittee(); - - const date1 = new Date(2016, 11, 31); - const p1 = new adhan.PrayerTimes(coords, date1, params); - expect(moment(p1.maghrib).tz("Europe/London").format("M/D/YY, h:mm A")).toBe("12/31/16, 4:04 PM"); - - const date2 = new Date(2017, 0, 1); - const p2 = new adhan.PrayerTimes(coords, date2, params); - expect(moment(p2.fajr).tz("Europe/London").format("M/D/YY, h:mm A")).toBe("1/1/17, 6:25 AM"); - - const sunnah = new adhan.SunnahTimes(p1); - expect(moment(sunnah.middleOfTheNight).tz("Europe/London").format("M/D/YY, h:mm A")).toBe("12/31/16, 11:15 PM"); - expect(moment(sunnah.lastThirdOfTheNight).tz("Europe/London").format("M/D/YY, h:mm A")).toBe("1/1/17, 1:38 AM"); +test('getting sunnah times for the London timezone', () => { + const coords = new adhan.Coordinates(51.5074, -0.1278); + const params = adhan.CalculationMethod.MoonsightingCommittee(); + + const date1 = new Date(2016, 11, 31); + const p1 = new adhan.PrayerTimes(coords, date1, params); + expect(moment(p1.maghrib).tz('Europe/London').format('M/D/YY, h:mm A')).toBe( + '12/31/16, 4:04 PM', + ); + + const date2 = new Date(2017, 0, 1); + const p2 = new adhan.PrayerTimes(coords, date2, params); + expect(moment(p2.fajr).tz('Europe/London').format('M/D/YY, h:mm A')).toBe( + '1/1/17, 6:25 AM', + ); + + const sunnah = new adhan.SunnahTimes(p1); + expect( + moment(sunnah.middleOfTheNight) + .tz('Europe/London') + .format('M/D/YY, h:mm A'), + ).toBe('12/31/16, 11:15 PM'); + expect( + moment(sunnah.lastThirdOfTheNight) + .tz('Europe/London') + .format('M/D/YY, h:mm A'), + ).toBe('1/1/17, 1:38 AM'); }); -test("getting sunnah times for the Oslo timezone", () => { - const coords = new adhan.Coordinates(59.9094, 10.7349); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.highLatitudeRule = adhan.HighLatitudeRule.MiddleOfTheNight; - - const date1 = new Date(2016, 6, 1); - const p1 = new adhan.PrayerTimes(coords, date1, params); - expect(moment(p1.maghrib).tz("Europe/Oslo").format("M/D/YY, h:mm A")).toBe("7/1/16, 10:41 PM"); - - const date2 = new Date(2016, 6, 2); - const p2 = new adhan.PrayerTimes(coords, date2, params); - expect(moment(p2.fajr).tz("Europe/Oslo").format("M/D/YY, h:mm A")).toBe("7/2/16, 1:20 AM"); - - const sunnah = new adhan.SunnahTimes(p1); - expect(moment(sunnah.middleOfTheNight).tz("Europe/Oslo").format("M/D/YY, h:mm A")).toBe("7/2/16, 12:01 AM"); - expect(moment(sunnah.lastThirdOfTheNight).tz("Europe/Oslo").format("M/D/YY, h:mm A")).toBe("7/2/16, 12:27 AM"); +test('getting sunnah times for the Oslo timezone', () => { + const coords = new adhan.Coordinates(59.9094, 10.7349); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.highLatitudeRule = adhan.HighLatitudeRule.MiddleOfTheNight; + + const date1 = new Date(2016, 6, 1); + const p1 = new adhan.PrayerTimes(coords, date1, params); + expect(moment(p1.maghrib).tz('Europe/Oslo').format('M/D/YY, h:mm A')).toBe( + '7/1/16, 10:41 PM', + ); + + const date2 = new Date(2016, 6, 2); + const p2 = new adhan.PrayerTimes(coords, date2, params); + expect(moment(p2.fajr).tz('Europe/Oslo').format('M/D/YY, h:mm A')).toBe( + '7/2/16, 1:20 AM', + ); + + const sunnah = new adhan.SunnahTimes(p1); + expect( + moment(sunnah.middleOfTheNight).tz('Europe/Oslo').format('M/D/YY, h:mm A'), + ).toBe('7/2/16, 12:01 AM'); + expect( + moment(sunnah.lastThirdOfTheNight) + .tz('Europe/Oslo') + .format('M/D/YY, h:mm A'), + ).toBe('7/2/16, 12:27 AM'); }); -test("getting sunnah times for US DST change", () => { - const coords = new adhan.Coordinates(37.7749, -122.4194); - const params = adhan.CalculationMethod.NorthAmerica(); - - const date1 = new Date(2017, 2, 11); - const p1 = new adhan.PrayerTimes(coords, date1, params); - expect(moment(p1.fajr).tz("America/Los_Angeles").format("M/D/YY, h:mm A")).toBe("3/11/17, 5:14 AM"); - expect(moment(p1.maghrib).tz("America/Los_Angeles").format("M/D/YY, h:mm A")).toBe("3/11/17, 6:13 PM"); - - const date2 = new Date(2017, 2, 12); - const p2 = new adhan.PrayerTimes(coords, date2, params); - expect(moment(p2.fajr).tz("America/Los_Angeles").format("M/D/YY, h:mm A")).toBe("3/12/17, 6:13 AM"); - expect(moment(p2.maghrib).tz("America/Los_Angeles").format("M/D/YY, h:mm A")).toBe("3/12/17, 7:14 PM"); - - const sunnah = new adhan.SunnahTimes(p1); - expect(moment(sunnah.middleOfTheNight).tz("America/Los_Angeles").format("M/D/YY, h:mm A")).toBe("3/11/17, 11:43 PM"); - expect(moment(sunnah.lastThirdOfTheNight).tz("America/Los_Angeles").format("M/D/YY, h:mm A")).toBe("3/12/17, 1:33 AM"); +test('getting sunnah times for US DST change', () => { + const coords = new adhan.Coordinates(37.7749, -122.4194); + const params = adhan.CalculationMethod.NorthAmerica(); + + const date1 = new Date(2017, 2, 11); + const p1 = new adhan.PrayerTimes(coords, date1, params); + expect( + moment(p1.fajr).tz('America/Los_Angeles').format('M/D/YY, h:mm A'), + ).toBe('3/11/17, 5:14 AM'); + expect( + moment(p1.maghrib).tz('America/Los_Angeles').format('M/D/YY, h:mm A'), + ).toBe('3/11/17, 6:13 PM'); + + const date2 = new Date(2017, 2, 12); + const p2 = new adhan.PrayerTimes(coords, date2, params); + expect( + moment(p2.fajr).tz('America/Los_Angeles').format('M/D/YY, h:mm A'), + ).toBe('3/12/17, 6:13 AM'); + expect( + moment(p2.maghrib).tz('America/Los_Angeles').format('M/D/YY, h:mm A'), + ).toBe('3/12/17, 7:14 PM'); + + const sunnah = new adhan.SunnahTimes(p1); + expect( + moment(sunnah.middleOfTheNight) + .tz('America/Los_Angeles') + .format('M/D/YY, h:mm A'), + ).toBe('3/11/17, 11:43 PM'); + expect( + moment(sunnah.lastThirdOfTheNight) + .tz('America/Los_Angeles') + .format('M/D/YY, h:mm A'), + ).toBe('3/12/17, 1:33 AM'); }); -test("getting sunnah times for Europe DST change", () => { - const coords = new adhan.Coordinates(48.8566, 2.3522); - const params = adhan.CalculationMethod.MuslimWorldLeague(); - params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; - - const date1 = new Date(2015, 9, 24); - const p1 = new adhan.PrayerTimes(coords, date1, params); - expect(moment(p1.fajr).tz("Europe/Paris").format("M/D/YY, h:mm A")).toBe("10/24/15, 6:38 AM"); - expect(moment(p1.maghrib).tz("Europe/Paris").format("M/D/YY, h:mm A")).toBe("10/24/15, 6:45 PM"); - - const date2 = new Date(2015, 9, 25); - const p2 = new adhan.PrayerTimes(coords, date2, params); - expect(moment(p2.fajr).tz("Europe/Paris").format("M/D/YY, h:mm A")).toBe("10/25/15, 5:40 AM"); - expect(moment(p2.maghrib).tz("Europe/Paris").format("M/D/YY, h:mm A")).toBe("10/25/15, 5:43 PM"); - - const sunnah = new adhan.SunnahTimes(p1); - expect(moment(sunnah.middleOfTheNight).tz("Europe/Paris").format("M/D/YY, h:mm A")).toBe("10/25/15, 12:43 AM"); - expect(moment(sunnah.lastThirdOfTheNight).tz("Europe/Paris").format("M/D/YY, h:mm A")).toBe("10/25/15, 2:42 AM"); +test('getting sunnah times for Europe DST change', () => { + const coords = new adhan.Coordinates(48.8566, 2.3522); + const params = adhan.CalculationMethod.MuslimWorldLeague(); + params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; + + const date1 = new Date(2015, 9, 24); + const p1 = new adhan.PrayerTimes(coords, date1, params); + expect(moment(p1.fajr).tz('Europe/Paris').format('M/D/YY, h:mm A')).toBe( + '10/24/15, 6:38 AM', + ); + expect(moment(p1.maghrib).tz('Europe/Paris').format('M/D/YY, h:mm A')).toBe( + '10/24/15, 6:45 PM', + ); + + const date2 = new Date(2015, 9, 25); + const p2 = new adhan.PrayerTimes(coords, date2, params); + expect(moment(p2.fajr).tz('Europe/Paris').format('M/D/YY, h:mm A')).toBe( + '10/25/15, 5:40 AM', + ); + expect(moment(p2.maghrib).tz('Europe/Paris').format('M/D/YY, h:mm A')).toBe( + '10/25/15, 5:43 PM', + ); + + const sunnah = new adhan.SunnahTimes(p1); + expect( + moment(sunnah.middleOfTheNight).tz('Europe/Paris').format('M/D/YY, h:mm A'), + ).toBe('10/25/15, 12:43 AM'); + expect( + moment(sunnah.lastThirdOfTheNight) + .tz('Europe/Paris') + .format('M/D/YY, h:mm A'), + ).toBe('10/25/15, 2:42 AM'); }); diff --git a/test/times.test.js b/test/times.test.js index a9b86c7..6da3814 100644 --- a/test/times.test.js +++ b/test/times.test.js @@ -4,105 +4,142 @@ import adhan from '../src/Adhan'; import moment from 'moment-timezone'; function parseParams(data) { - let params; + let params; - const method = data["method"]; - if (method === "MuslimWorldLeague") { - params = adhan.CalculationMethod.MuslimWorldLeague(); - } else if (method === "Egyptian") { - params = adhan.CalculationMethod.Egyptian(); - } else if (method === "Karachi") { - params = adhan.CalculationMethod.Karachi(); - } else if (method === "UmmAlQura") { - params = adhan.CalculationMethod.UmmAlQura(); - } else if (method === "Dubai") { - params = adhan.CalculationMethod.Dubai(); - } else if (method === "MoonsightingCommittee") { - params = adhan.CalculationMethod.MoonsightingCommittee(); - } else if (method === "NorthAmerica") { - params = adhan.CalculationMethod.NorthAmerica(); - } else if (method === "Kuwait") { - params = adhan.CalculationMethod.Kuwait(); - } else if (method === "Qatar") { - params = adhan.CalculationMethod.Qatar(); - } else if (method === "Singapore") { - params = adhan.CalculationMethod.Singapore(); - } else if (method === "Turkey") { - params = adhan.CalculationMethod.Turkey(); - } else if (method === "Tehran") { - params = adhan.CalculationMethod.Tehran(); - } else { - params = adhan.CalculationMethod.Other(); - } + const method = data['method']; + if (method === 'MuslimWorldLeague') { + params = adhan.CalculationMethod.MuslimWorldLeague(); + } else if (method === 'Egyptian') { + params = adhan.CalculationMethod.Egyptian(); + } else if (method === 'Karachi') { + params = adhan.CalculationMethod.Karachi(); + } else if (method === 'UmmAlQura') { + params = adhan.CalculationMethod.UmmAlQura(); + } else if (method === 'Dubai') { + params = adhan.CalculationMethod.Dubai(); + } else if (method === 'MoonsightingCommittee') { + params = adhan.CalculationMethod.MoonsightingCommittee(); + } else if (method === 'NorthAmerica') { + params = adhan.CalculationMethod.NorthAmerica(); + } else if (method === 'Kuwait') { + params = adhan.CalculationMethod.Kuwait(); + } else if (method === 'Qatar') { + params = adhan.CalculationMethod.Qatar(); + } else if (method === 'Singapore') { + params = adhan.CalculationMethod.Singapore(); + } else if (method === 'Turkey') { + params = adhan.CalculationMethod.Turkey(); + } else if (method === 'Tehran') { + params = adhan.CalculationMethod.Tehran(); + } else { + params = adhan.CalculationMethod.Other(); + } - const madhab = data["madhab"]; - if (madhab === "Shafi") { - params.madhab = adhan.Madhab.Shafi; - } else if (madhab === "Hanafi") { - params.madhab = adhan.Madhab.Hanafi; - } + const madhab = data['madhab']; + if (madhab === 'Shafi') { + params.madhab = adhan.Madhab.Shafi; + } else if (madhab === 'Hanafi') { + params.madhab = adhan.Madhab.Hanafi; + } - const highLatRule = data["highLatitudeRule"]; - if (highLatRule === "SeventhOfTheNight") { - params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; - } else if (highLatRule === "TwilightAngle") { - params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; - } else { - params.highLatitudeRule = adhan.HighLatitudeRule.MiddleOfTheNight; - } + const highLatRule = data['highLatitudeRule']; + if (highLatRule === 'SeventhOfTheNight') { + params.highLatitudeRule = adhan.HighLatitudeRule.SeventhOfTheNight; + } else if (highLatRule === 'TwilightAngle') { + params.highLatitudeRule = adhan.HighLatitudeRule.TwilightAngle; + } else { + params.highLatitudeRule = adhan.HighLatitudeRule.MiddleOfTheNight; + } - return params; + return params; } expect.extend({ - toBeWithinRange(intialDate, comparisonDate, variance) { - const initalValue = intialDate.getTime(); - const varianceValue = variance * 60 * 1000; - const floor = comparisonDate.getTime() - varianceValue; - const ceiling = comparisonDate.getTime() + varianceValue; - const pass = (initalValue >= floor && initalValue <= ceiling); - if (pass) { - return { - message: () => - `expected ${intialDate} not to be within range ${comparisonDate} and a variance of ${variance} minute`, - pass: true, - }; - } else { - return { - message: () => - `expected ${intialDate} to be within range ${comparisonDate} and a variance of ${variance} minute`, - pass: false, - }; - } - }, - }); + toBeWithinRange(intialDate, comparisonDate, variance) { + const initalValue = intialDate.getTime(); + const varianceValue = variance * 60 * 1000; + const floor = comparisonDate.getTime() - varianceValue; + const ceiling = comparisonDate.getTime() + varianceValue; + const pass = initalValue >= floor && initalValue <= ceiling; + if (pass) { + return { + message: () => + `expected ${intialDate} not to be within range ${comparisonDate} and a variance of ${variance} minute`, + pass: true, + }; + } else { + return { + message: () => + `expected ${intialDate} to be within range ${comparisonDate} and a variance of ${variance} minute`, + pass: false, + }; + } + }, +}); -fs.readdirSync("Shared/Times").forEach( function (filename) { - test(`compare calculated times against the prayer times in ${filename}`, () => { - const file_contents = fs.readFileSync("Shared/Times/" + filename) - const data = JSON.parse(file_contents); - const coordinates = new adhan.Coordinates(data["params"]["latitude"], data["params"]["longitude"]); - const params = parseParams(data["params"]); - const variance = data["variance"] || 0; - data["times"].forEach(function(time) { - const date = moment(time["date"], "YYYY-MM-DD").toDate(); - const p = new adhan.PrayerTimes(coordinates, date, params); +fs.readdirSync('Shared/Times').forEach(function (filename) { + test(`compare calculated times against the prayer times in ${filename}`, () => { + const file_contents = fs.readFileSync('Shared/Times/' + filename); + const data = JSON.parse(file_contents); + const coordinates = new adhan.Coordinates( + data['params']['latitude'], + data['params']['longitude'], + ); + const params = parseParams(data['params']); + const variance = data['variance'] || 0; + data['times'].forEach(function (time) { + const date = moment(time['date'], 'YYYY-MM-DD').toDate(); + const p = new adhan.PrayerTimes(coordinates, date, params); - const testFajr = moment.tz(time["date"] + " " + time["fajr"], "YYYY-MM-DD h:mm A", data["params"]["timezone"]).toDate(); - const testSunrise = moment.tz(time["date"] + " " + time["sunrise"], "YYYY-MM-DD h:mm A", data["params"]["timezone"]).toDate(); - const testDhuhr = moment.tz(time["date"] + " " + time["dhuhr"], "YYYY-MM-DD h:mm A", data["params"]["timezone"]).toDate(); - const testAsr = moment.tz(time["date"] + " " + time["asr"], "YYYY-MM-DD h:mm A", data["params"]["timezone"]).toDate(); - const testMaghrib = moment.tz(time["date"] + " " + time["maghrib"], "YYYY-MM-DD h:mm A", data["params"]["timezone"]).toDate(); - const testIsha = moment.tz(time["date"] + " " + time["isha"], "YYYY-MM-DD h:mm A", data["params"]["timezone"]).toDate(); + const testFajr = moment + .tz( + time['date'] + ' ' + time['fajr'], + 'YYYY-MM-DD h:mm A', + data['params']['timezone'], + ) + .toDate(); + const testSunrise = moment + .tz( + time['date'] + ' ' + time['sunrise'], + 'YYYY-MM-DD h:mm A', + data['params']['timezone'], + ) + .toDate(); + const testDhuhr = moment + .tz( + time['date'] + ' ' + time['dhuhr'], + 'YYYY-MM-DD h:mm A', + data['params']['timezone'], + ) + .toDate(); + const testAsr = moment + .tz( + time['date'] + ' ' + time['asr'], + 'YYYY-MM-DD h:mm A', + data['params']['timezone'], + ) + .toDate(); + const testMaghrib = moment + .tz( + time['date'] + ' ' + time['maghrib'], + 'YYYY-MM-DD h:mm A', + data['params']['timezone'], + ) + .toDate(); + const testIsha = moment + .tz( + time['date'] + ' ' + time['isha'], + 'YYYY-MM-DD h:mm A', + data['params']['timezone'], + ) + .toDate(); - expect(p.fajr).toBeWithinRange(testFajr, variance); - expect(p.sunrise).toBeWithinRange(testSunrise, variance); - expect(p.dhuhr).toBeWithinRange(testDhuhr, variance); - expect(p.asr).toBeWithinRange(testAsr, variance); - expect(p.maghrib).toBeWithinRange(testMaghrib, variance); - expect(p.isha).toBeWithinRange(testIsha, variance); - }); - }); + expect(p.fajr).toBeWithinRange(testFajr, variance); + expect(p.sunrise).toBeWithinRange(testSunrise, variance); + expect(p.dhuhr).toBeWithinRange(testDhuhr, variance); + expect(p.asr).toBeWithinRange(testAsr, variance); + expect(p.maghrib).toBeWithinRange(testMaghrib, variance); + expect(p.isha).toBeWithinRange(testIsha, variance); + }); + }); }); - - diff --git a/webpack.config.js b/webpack.config.js index 1fcb8d7..42e3b39 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -10,7 +10,7 @@ module.exports = { globalObject: 'this', }, optimization: { - minimize: false + minimize: false, }, devtool: 'source-map', module: { From a50b908af2999cc28c3fd2bf2015cb14e52d2241 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Mon, 4 Apr 2022 12:39:37 +0000 Subject: [PATCH 02/20] refactor: remove deprecated prettier configuration --- .prettierrc | 1 - 1 file changed, 1 deletion(-) diff --git a/.prettierrc b/.prettierrc index b9da9c8..b4a7c86 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,7 +3,6 @@ "tabWidth": 2, "arrowParens": "always", "bracketSpacing": true, - "jsxBracketSameLine": false, "semi": true, "singleQuote": true, "trailingComma": "all" From 25cd3ebb2ff710644fe9caf8e863a4e00b9fac0c Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Thu, 14 Apr 2022 17:27:53 +0000 Subject: [PATCH 03/20] build: update the compiled files --- Adhan.js | 132 +++++++++++++++++++++++++-------------------------- Adhan.js.map | 2 +- 2 files changed, 67 insertions(+), 67 deletions(-) diff --git a/Adhan.js b/Adhan.js index 5be907f..2ca7f24 100644 --- a/Adhan.js +++ b/Adhan.js @@ -110,26 +110,6 @@ class Coordinates { } } -// CONCATENATED MODULE: ./src/MathUtils.js -function degreesToRadians(degrees) { - return degrees * Math.PI / 180.0; -} -function radiansToDegrees(radians) { - return radians * 180.0 / Math.PI; -} -function normalizeToScale(number, max) { - return number - max * Math.floor(number / max); -} -function unwindAngle(angle) { - return normalizeToScale(angle, 360.0); -} -function quadrantShiftAngle(angle) { - if (angle >= -180 && angle <= 180) { - return angle; - } - - return angle - 360 * Math.round(angle / 360); -} // CONCATENATED MODULE: ./src/Rounding.js const Rounding = { Nearest: 'nearest', @@ -181,6 +161,26 @@ function DateUtils_dayOfYear(date) { function isValidDate(date) { return date instanceof Date && !isNaN(date.valueOf()); } +// CONCATENATED MODULE: ./src/MathUtils.js +function degreesToRadians(degrees) { + return degrees * Math.PI / 180.0; +} +function radiansToDegrees(radians) { + return radians * 180.0 / Math.PI; +} +function normalizeToScale(number, max) { + return number - max * Math.floor(number / max); +} +function unwindAngle(angle) { + return normalizeToScale(angle, 360.0); +} +function quadrantShiftAngle(angle) { + if (angle >= -180 && angle <= 180) { + return angle; + } + + return angle - 360 * Math.round(angle / 360); +} // CONCATENATED MODULE: ./src/Shafaq.js // Shafaq is the twilight in the sky. Different madhabs define the appearance of // twilight differently. These values are used by the MoonsightingComittee method @@ -259,7 +259,7 @@ const Astronomical = { }, /* The apparent longitude of the Sun, referred to the - true equinox of the date. */ + true equinox of the date. */ apparentSolarLongitude(julianCentury, meanLongitude) { const T = julianCentury; const L0 = meanLongitude; @@ -272,8 +272,8 @@ const Astronomical = { }, /* The mean obliquity of the ecliptic, formula - adopted by the International Astronomical Union. - Represented in degrees. */ + adopted by the International Astronomical Union. + Represented in degrees. */ meanObliquityOfTheEcliptic(julianCentury) { const T = julianCentury; /* Equation from Astronomical Algorithms page 147 */ @@ -286,7 +286,7 @@ const Astronomical = { }, /* The mean obliquity of the ecliptic, corrected for - calculating the apparent position of the sun, in degrees. */ + calculating the apparent position of the sun, in degrees. */ apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) { const T = julianCentury; const Epsilon0 = meanObliquityOfTheEcliptic; @@ -331,7 +331,7 @@ const Astronomical = { const term1 = 9.2 / 3600 * Math.cos(degreesToRadians(Omega)); const term2 = 0.57 / 3600 * Math.cos(2 * degreesToRadians(L0)); - const term3 = 0.10 / 3600 * Math.cos(2 * degreesToRadians(Lp)); + const term3 = 0.1 / 3600 * Math.cos(2 * degreesToRadians(Lp)); const term4 = 0.09 / 3600 * Math.cos(2 * degreesToRadians(Omega)); return term1 + term2 + term3 - term4; }, @@ -404,9 +404,9 @@ const Astronomical = { }, /* Interpolation of a value given equidistant - previous and next values and a factor - equal to the fraction of the interpolated - point's time over the time between values. */ + previous and next values and a factor + equal to the fraction of the interpolated + point's time over the time between values. */ interpolate(y2, y1, y3, n) { /* Equation from Astronomical Algorithms page 24 */ const a = y2 - y1; @@ -416,7 +416,7 @@ const Astronomical = { }, /* Interpolation of three angles, accounting for - angle unwinding. */ + angle unwinding. */ interpolateAngles(y2, y1, y3, n) { /* Equation from Astronomical Algorithms page 24 */ const a = unwindAngle(y2 - y1); @@ -469,7 +469,7 @@ const Astronomical = { const a = 75 + 28.65 / 55.0 * Math.abs(latitude); const b = 75 + 19.44 / 55.0 * Math.abs(latitude); const c = 75 + 32.74 / 55.0 * Math.abs(latitude); - const d = 75 + 48.10 / 55.0 * Math.abs(latitude); + const d = 75 + 48.1 / 55.0 * Math.abs(latitude); const adjustment = function () { const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude); @@ -496,20 +496,20 @@ const Astronomical = { let a, b, c, d; if (shafaq === Shafaq.Ahmer) { - a = 62 + 17.40 / 55.0 * Math.abs(latitude); - b = 62 - 7.160 / 55.0 * Math.abs(latitude); - c = 62 + 5.120 / 55.0 * Math.abs(latitude); + a = 62 + 17.4 / 55.0 * Math.abs(latitude); + b = 62 - 7.16 / 55.0 * Math.abs(latitude); + c = 62 + 5.12 / 55.0 * Math.abs(latitude); d = 62 + 19.44 / 55.0 * Math.abs(latitude); } else if (shafaq === Shafaq.Abyad) { - a = 75 + 25.60 / 55.0 * Math.abs(latitude); - b = 75 + 7.160 / 55.0 * Math.abs(latitude); + a = 75 + 25.6 / 55.0 * Math.abs(latitude); + b = 75 + 7.16 / 55.0 * Math.abs(latitude); c = 75 + 36.84 / 55.0 * Math.abs(latitude); d = 75 + 81.84 / 55.0 * Math.abs(latitude); } else { - a = 75 + 25.60 / 55.0 * Math.abs(latitude); - b = 75 + 2.050 / 55.0 * Math.abs(latitude); - c = 75 - 9.210 / 55.0 * Math.abs(latitude); - d = 75 + 6.140 / 55.0 * Math.abs(latitude); + a = 75 + 25.6 / 55.0 * Math.abs(latitude); + b = 75 + 2.05 / 55.0 * Math.abs(latitude); + c = 75 - 9.21 / 55.0 * Math.abs(latitude); + d = 75 + 6.14 / 55.0 * Math.abs(latitude); } const adjustment = function () { @@ -574,20 +574,20 @@ class SolarCoordinates_SolarCoordinates { const Epsilon0 = src_Astronomical.meanObliquityOfTheEcliptic(T); const EpsilonApparent = degreesToRadians(src_Astronomical.apparentObliquityOfTheEcliptic(T, Epsilon0)); /* declination: The declination of the sun, the angle between - the rays of the Sun and the plane of the Earth's - equator, in degrees. - Equation from Astronomical Algorithms page 165 */ + the rays of the Sun and the plane of the Earth's + equator, in degrees. + Equation from Astronomical Algorithms page 165 */ this.declination = radiansToDegrees(Math.asin(Math.sin(EpsilonApparent) * Math.sin(Lambda))); /* rightAscension: Right ascension of the Sun, the angular distance on the - celestial equator from the vernal equinox to the hour circle, - in degrees. - Equation from Astronomical Algorithms page 165 */ + celestial equator from the vernal equinox to the hour circle, + in degrees. + Equation from Astronomical Algorithms page 165 */ this.rightAscension = unwindAngle(radiansToDegrees(Math.atan2(Math.cos(EpsilonApparent) * Math.sin(Lambda), Math.cos(Lambda)))); /* apparentSiderealTime: Apparent sidereal time, the hour angle of the vernal - equinox, in degrees. - Equation from Astronomical Algorithms page 88 */ + equinox, in degrees. + Equation from Astronomical Algorithms page 88 */ this.apparentSiderealTime = Theta0 + dPsi * 3600 * Math.cos(degreesToRadians(Epsilon0 + dEpsilon)) / 3600; } @@ -664,7 +664,7 @@ function Madhab_shadowLength(madhab) { return 2; default: - throw "Invalid Madhab"; + throw 'Invalid Madhab'; } } // CONCATENATED MODULE: ./src/PolarCircleResolution.js @@ -804,13 +804,13 @@ class PrayerTimes_PrayerTimes { const night = (tomorrowSunrise - sunsetTime) / 1000; fajrTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); // special case for moonsighting committee above latitude 55 - if (calculationParameters.method === "MoonsightingCommittee" && coordinates.latitude >= 55) { + if (calculationParameters.method === 'MoonsightingCommittee' && coordinates.latitude >= 55) { nightFraction = night / 7; fajrTime = dateByAddingSeconds(sunriseTime, -nightFraction); } const safeFajr = function () { - if (calculationParameters.method === "MoonsightingCommittee") { + if (calculationParameters.method === 'MoonsightingCommittee') { return src_Astronomical.seasonAdjustedMorningTwilight(coordinates.latitude, DateUtils_dayOfYear(date), date.getFullYear(), sunriseTime); } else { const portion = calculationParameters.nightPortions().fajr; @@ -828,13 +828,13 @@ class PrayerTimes_PrayerTimes { } else { ishaTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.ishaAngle, true)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); // special case for moonsighting committee above latitude 55 - if (calculationParameters.method === "MoonsightingCommittee" && coordinates.latitude >= 55) { + if (calculationParameters.method === 'MoonsightingCommittee' && coordinates.latitude >= 55) { nightFraction = night / 7; ishaTime = dateByAddingSeconds(sunsetTime, nightFraction); } const safeIsha = function () { - if (calculationParameters.method === "MoonsightingCommittee") { + if (calculationParameters.method === 'MoonsightingCommittee') { return src_Astronomical.seasonAdjustedEveningTwilight(coordinates.latitude, DateUtils_dayOfYear(date), date.getFullYear(), sunsetTime, calculationParameters.shafaq); } else { const portion = calculationParameters.nightPortions().isha; @@ -961,7 +961,7 @@ class CalculationParameters_CalculationParameters { constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) { // Name of the method, can be used to apply special behavior in calculations. // This property should not be manually modified. - this.method = methodName || "Other"; // Angle of the sun below the horizon used for calculating Fajr. + this.method = methodName || 'Other'; // Angle of the sun below the horizon used for calculating Fajr. this.fajrAngle = fajrAngle || 0; // Angle of the sun below the horizon used for calculating Isha. @@ -1038,7 +1038,7 @@ class CalculationParameters_CalculationParameters { const CalculationMethod = { // Muslim World League MuslimWorldLeague() { - const params = new CalculationParameters_CalculationParameters("MuslimWorldLeague", 18, 17); + const params = new CalculationParameters_CalculationParameters('MuslimWorldLeague', 18, 17); params.methodAdjustments = { dhuhr: 1 }; @@ -1047,7 +1047,7 @@ const CalculationMethod = { // Egyptian General Authority of Survey Egyptian() { - const params = new CalculationParameters_CalculationParameters("Egyptian", 19.5, 17.5); + const params = new CalculationParameters_CalculationParameters('Egyptian', 19.5, 17.5); params.methodAdjustments = { dhuhr: 1 }; @@ -1056,7 +1056,7 @@ const CalculationMethod = { // University of Islamic Sciences, Karachi Karachi() { - const params = new CalculationParameters_CalculationParameters("Karachi", 18, 18); + const params = new CalculationParameters_CalculationParameters('Karachi', 18, 18); params.methodAdjustments = { dhuhr: 1 }; @@ -1065,12 +1065,12 @@ const CalculationMethod = { // Umm al-Qura University, Makkah UmmAlQura() { - return new CalculationParameters_CalculationParameters("UmmAlQura", 18.5, 0, 90); + return new CalculationParameters_CalculationParameters('UmmAlQura', 18.5, 0, 90); }, // Dubai Dubai() { - const params = new CalculationParameters_CalculationParameters("Dubai", 18.2, 18.2); + const params = new CalculationParameters_CalculationParameters('Dubai', 18.2, 18.2); params.methodAdjustments = { sunrise: -3, dhuhr: 3, @@ -1082,7 +1082,7 @@ const CalculationMethod = { // Moonsighting Committee MoonsightingCommittee() { - const params = new CalculationParameters_CalculationParameters("MoonsightingCommittee", 18, 18); + const params = new CalculationParameters_CalculationParameters('MoonsightingCommittee', 18, 18); params.methodAdjustments = { dhuhr: 5, maghrib: 3 @@ -1092,7 +1092,7 @@ const CalculationMethod = { // ISNA NorthAmerica() { - const params = new CalculationParameters_CalculationParameters("NorthAmerica", 15, 15); + const params = new CalculationParameters_CalculationParameters('NorthAmerica', 15, 15); params.methodAdjustments = { dhuhr: 1 }; @@ -1101,17 +1101,17 @@ const CalculationMethod = { // Kuwait Kuwait() { - return new CalculationParameters_CalculationParameters("Kuwait", 18, 17.5); + return new CalculationParameters_CalculationParameters('Kuwait', 18, 17.5); }, // Qatar Qatar() { - return new CalculationParameters_CalculationParameters("Qatar", 18, 0, 90); + return new CalculationParameters_CalculationParameters('Qatar', 18, 0, 90); }, // Singapore Singapore() { - const params = new CalculationParameters_CalculationParameters("Singapore", 20, 18); + const params = new CalculationParameters_CalculationParameters('Singapore', 20, 18); params.methodAdjustments = { dhuhr: 1 }; @@ -1121,13 +1121,13 @@ const CalculationMethod = { // Institute of Geophysics, University of Tehran Tehran() { - const params = new CalculationParameters_CalculationParameters("Tehran", 17.7, 14, 0, 4.5); + const params = new CalculationParameters_CalculationParameters('Tehran', 17.7, 14, 0, 4.5); return params; }, // Dianet Turkey() { - const params = new CalculationParameters_CalculationParameters("Turkey", 18, 17); + const params = new CalculationParameters_CalculationParameters('Turkey', 18, 17); params.methodAdjustments = { sunrise: -7, dhuhr: 5, @@ -1139,7 +1139,7 @@ const CalculationMethod = { // Other Other() { - return new CalculationParameters_CalculationParameters("Other", 0, 0); + return new CalculationParameters_CalculationParameters('Other', 0, 0); } }; diff --git a/Adhan.js.map b/Adhan.js.map index c0fce84..e1290fb 100644 --- a/Adhan.js.map +++ b/Adhan.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://adhan/webpack/universalModuleDefinition","webpack://adhan/webpack/bootstrap","webpack://adhan/./src/Coordinates.js","webpack://adhan/./src/MathUtils.js","webpack://adhan/./src/Rounding.js","webpack://adhan/./src/DateUtils.js","webpack://adhan/./src/Shafaq.js","webpack://adhan/./src/Astronomical.js","webpack://adhan/./src/SolarCoordinates.js","webpack://adhan/./src/SolarTime.js","webpack://adhan/./src/TimeComponents.js","webpack://adhan/./src/Prayer.js","webpack://adhan/./src/Madhab.js","webpack://adhan/./src/PolarCircleResolution.js","webpack://adhan/./src/PrayerTimes.js","webpack://adhan/./src/HighLatitudeRule.js","webpack://adhan/./src/CalculationParameters.js","webpack://adhan/./src/CalculationMethod.js","webpack://adhan/./src/Qibla.js","webpack://adhan/./src/SunnahTimes.js","webpack://adhan/./src/Adhan.js"],"names":["Coordinates","constructor","latitude","longitude","degreesToRadians","degrees","Math","PI","radiansToDegrees","radians","normalizeToScale","number","max","floor","unwindAngle","angle","quadrantShiftAngle","round","Rounding","Nearest","Up","None","dateByAddingDays","date","days","year","getFullYear","month","getMonth","day","getDate","hours","getHours","minutes","getMinutes","seconds","getSeconds","Date","dateByAddingMinutes","dateByAddingSeconds","getTime","roundedMinute","rounding","getUTCSeconds","offset","dayOfYear","returnedDayOfYear","feb","Astronomical","isLeapYear","months","i","isValidDate","isNaN","valueOf","Shafaq","General","Ahmer","Abyad","meanSolarLongitude","julianCentury","T","term1","term2","term3","pow","L0","meanLunarLongitude","Lp","ascendingLunarNodeLongitude","term4","Omega","meanSolarAnomaly","M","solarEquationOfTheCenter","meanAnomaly","Mrad","sin","apparentSolarLongitude","meanLongitude","Lambda","meanObliquityOfTheEcliptic","apparentObliquityOfTheEcliptic","Epsilon0","O","cos","meanSiderealTime","JD","Theta","nutationInLongitude","solarLongitude","lunarLongitude","ascendingNode","nutationInObliquity","altitudeOfCelestialBody","observerLatitude","declination","localHourAngle","Phi","delta","H","asin","approximateTransit","siderealTime","rightAscension","L","Theta0","a2","Lw","correctedTransit","previousRightAscension","nextRightAscension","m0","a1","a3","a","interpolateAngles","dm","correctedHourAngle","coordinates","afterTransit","previousDeclination","nextDeclination","h0","d2","d1","d3","H0","acos","m","interpolate","h","y2","y1","y3","n","b","c","julianDay","trunc","x","ceil","Y","D","A","B","i0","i1","seasonAdjustedMorningTwilight","sunrise","abs","d","adjustment","dyy","daysSinceSolstice","seasonAdjustedEveningTwilight","sunset","shafaq","northernOffset","southernOffset","daysInYear","SolarCoordinates","dPsi","dEpsilon","EpsilonApparent","atan2","apparentSiderealTime","SolarTime","observer","solar","prevSolar","nextSolar","solarAltitude","approxTransit","transit","hourAngle","afternoon","shadowLength","tangent","inverse","tan","atan","TimeComponents","utcDate","UTC","Prayer","Fajr","Sunrise","Dhuhr","Asr","Maghrib","Isha","Madhab","Shafi","Hanafi","madhab","PolarCircleResolution","AqrabBalad","AqrabYaum","Unresolved","LATITUDE_VARIATION_STEP","UNSAFE_LATITUDE","isValidSolarTime","solarTime","aqrabYaumResolver","daysAdded","direction","testDate","setDate","tomorrow","tomorrowSolarTime","aqrabBaladResolver","sign","polarCircleResolvedValues","resolver","defaultReturn","PrayerTimes","calculationParameters","fajrTime","sunriseTime","dhuhrTime","asrTime","maghribTime","ishaTime","nightFraction","sunsetTime","polarCircleResolver","polarCircleResolution","resolved","dateComponents","tomorrowSunrise","night","fajrAngle","method","safeFajr","portion","nightPortions","fajr","ishaInterval","ishaAngle","safeIsha","isha","maghribAngle","angleBasedMaghrib","fajrAdjustment","adjustments","methodAdjustments","sunriseAdjustment","dhuhrAdjustment","dhuhr","asrAdjustment","asr","maghribAdjustment","maghrib","ishaAdjustment","timeForPrayer","prayer","currentPrayer","nextPrayer","HighLatitudeRule","MiddleOfTheNight","SeventhOfTheNight","TwilightAngle","recommended","CalculationParameters","methodName","highLatitudeRule","CalculationMethod","MuslimWorldLeague","params","Egyptian","Karachi","UmmAlQura","Dubai","MoonsightingCommittee","NorthAmerica","Kuwait","Qatar","Singapore","Tehran","Turkey","Other","qibla","makkah","SunnahTimes","prayerTimes","nextDay","nextDayPrayerTimes","nightDuration","middleOfTheNight","lastThirdOfTheNight","adhan","Qibla"],"mappings":"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","file":"Adhan.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"adhan\"] = factory();\n\telse\n\t\troot[\"adhan\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export default class Coordinates {\n constructor(latitude, longitude) {\n this.latitude = latitude;\n this.longitude = longitude;\n }\n}\n","export function degreesToRadians(degrees) {\n return (degrees * Math.PI) / 180.0;\n}\n\nexport function radiansToDegrees(radians) {\n return (radians * 180.0) / Math.PI;\n}\n\nexport function normalizeToScale(number, max) {\n return number - (max * (Math.floor(number / max)))\n}\n\nexport function unwindAngle(angle) {\n return normalizeToScale(angle, 360.0);\n}\n\nexport function quadrantShiftAngle(angle) {\n if (angle >= -180 && angle <= 180) {\n return angle;\n }\n\n return angle - (360 * Math.round(angle/360));\n}\n","export const Rounding = {\n Nearest: 'nearest',\n Up: 'up',\n None: 'none'\n};\n","import Astronomical from './Astronomical';\nimport { Rounding } from './Rounding';\n\nexport function dateByAddingDays(date, days) {\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate() + days;\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n return new Date(year, month, day, hours, minutes, seconds);\n}\n\nexport function dateByAddingMinutes(date, minutes) {\n return dateByAddingSeconds(date, minutes * 60);\n}\n\nexport function dateByAddingSeconds(date, seconds) {\n return new Date(date.getTime() + (seconds * 1000));\n}\n\nexport function roundedMinute(date, rounding = Rounding.Nearest) {\n const seconds = date.getUTCSeconds();\n let offset = seconds >= 30 ? 60 - seconds : -1 * seconds;\n if (rounding === Rounding.Up) {\n offset = 60 - seconds;\n } else if (rounding === Rounding.None) {\n offset = 0;\n }\n\n return dateByAddingSeconds(date, offset);\n}\n\nexport function dayOfYear(date) {\n let returnedDayOfYear = 0;\n const feb = Astronomical.isLeapYear(date.getFullYear()) ? 29 : 28;\n const months = [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n for (let i = 0; i < date.getMonth(); i++) {\n returnedDayOfYear += months[i];\n }\n\n returnedDayOfYear += date.getDate();\n\n return returnedDayOfYear;\n}\n\nexport function isValidDate(date) {\n return date instanceof Date && !isNaN(date.valueOf());\n}\n","// Shafaq is the twilight in the sky. Different madhabs define the appearance of\n// twilight differently. These values are used by the MoonsightingComittee method\n// for the different ways to calculate Isha.\nexport const Shafaq = {\n // General is a combination of Ahmer and Abyad.\n General: 'general',\n\n // Ahmer means the twilight is the red glow in the sky. Used by the Shafi, Maliki, and Hanbali madhabs.\n Ahmer: 'ahmer',\n\n // Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab.\n Abyad: 'abyad'\n};\n","/* eslint-disable max-params, max-lines */\nimport { degreesToRadians, radiansToDegrees, unwindAngle, normalizeToScale, quadrantShiftAngle } from './MathUtils';\nimport { dateByAddingSeconds } from './DateUtils';\nimport { Shafaq } from './Shafaq';\n\nconst Astronomical = {\n\n /* The geometric mean longitude of the sun in degrees. */\n meanSolarLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 163 */\n const term1 = 280.4664567;\n const term2 = 36000.76983 * T;\n const term3 = 0.0003032 * Math.pow(T, 2);\n const L0 = term1 + term2 + term3;\n return unwindAngle(L0);\n },\n\n /* The geometric mean longitude of the moon in degrees. */\n meanLunarLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = 218.3165;\n const term2 = 481267.8813 * T;\n const Lp = term1 + term2;\n return unwindAngle(Lp);\n },\n\n ascendingLunarNodeLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = 125.04452;\n const term2 = 1934.136261 * T;\n const term3 = 0.0020708 * Math.pow(T, 2);\n const term4 = Math.pow(T, 3) / 450000;\n const Omega = term1 - term2 + term3 + term4;\n return unwindAngle(Omega);\n },\n\n /* The mean anomaly of the sun. */\n meanSolarAnomaly(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 163 */\n const term1 = 357.52911;\n const term2 = 35999.05029 * T;\n const term3 = 0.0001537 * Math.pow(T, 2);\n const M = term1 + term2 - term3;\n return unwindAngle(M);\n },\n\n /* The Sun's equation of the center in degrees. */\n solarEquationOfTheCenter(julianCentury, meanAnomaly) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 164 */\n const Mrad = degreesToRadians(meanAnomaly);\n const term1 = (1.914602 - (0.004817 * T) - (0.000014 * Math.pow(T, 2))) * Math.sin(Mrad);\n const term2 = (0.019993 - (0.000101 * T)) * Math.sin(2 * Mrad);\n const term3 = 0.000289 * Math.sin(3 * Mrad);\n return term1 + term2 + term3;\n },\n\n /* The apparent longitude of the Sun, referred to the\n true equinox of the date. */\n apparentSolarLongitude(julianCentury, meanLongitude) {\n const T = julianCentury;\n const L0 = meanLongitude;\n /* Equation from Astronomical Algorithms page 164 */\n const longitude = L0 + Astronomical.solarEquationOfTheCenter(T, Astronomical.meanSolarAnomaly(T));\n const Omega = 125.04 - (1934.136 * T);\n const Lambda = longitude - 0.00569 - (0.00478 * Math.sin(degreesToRadians(Omega)));\n return unwindAngle(Lambda);\n },\n\n /* The mean obliquity of the ecliptic, formula\n adopted by the International Astronomical Union.\n Represented in degrees. */\n meanObliquityOfTheEcliptic(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 147 */\n const term1 = 23.439291;\n const term2 = 0.013004167 * T;\n const term3 = 0.0000001639 * Math.pow(T, 2);\n const term4 = 0.0000005036 * Math.pow(T, 3);\n return term1 - term2 - term3 + term4;\n },\n\n /* The mean obliquity of the ecliptic, corrected for\n calculating the apparent position of the sun, in degrees. */\n apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) {\n const T = julianCentury;\n const Epsilon0 = meanObliquityOfTheEcliptic;\n /* Equation from Astronomical Algorithms page 165 */\n const O = 125.04 - (1934.136 * T);\n return Epsilon0 + (0.00256 * Math.cos(degreesToRadians(O)));\n },\n\n /* Mean sidereal time, the hour angle of the vernal equinox, in degrees. */\n meanSiderealTime(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 165 */\n const JD = (T * 36525) + 2451545.0;\n const term1 = 280.46061837;\n const term2 = 360.98564736629 * (JD - 2451545);\n const term3 = 0.000387933 * Math.pow(T, 2);\n const term4 = Math.pow(T, 3) / 38710000;\n const Theta = term1 + term2 + term3 - term4;\n return unwindAngle(Theta)\n },\n\n nutationInLongitude(julianCentury, solarLongitude, lunarLongitude, ascendingNode) {\n const L0 = solarLongitude;\n const Lp = lunarLongitude;\n const Omega = ascendingNode;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = (-17.2/3600) * Math.sin(degreesToRadians(Omega));\n const term2 = (1.32/3600) * Math.sin(2 * degreesToRadians(L0));\n const term3 = (0.23/3600) * Math.sin(2 * degreesToRadians(Lp));\n const term4 = (0.21/3600) * Math.sin(2 * degreesToRadians(Omega));\n return term1 - term2 - term3 + term4;\n },\n\n nutationInObliquity(julianCentury, solarLongitude, lunarLongitude, ascendingNode) {\n const L0 = solarLongitude;\n const Lp = lunarLongitude;\n const Omega = ascendingNode;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = (9.2/3600) * Math.cos(degreesToRadians(Omega));\n const term2 = (0.57/3600) * Math.cos(2 * degreesToRadians(L0));\n const term3 = (0.10/3600) * Math.cos(2 * degreesToRadians(Lp));\n const term4 = (0.09/3600) * Math.cos(2 * degreesToRadians(Omega));\n return term1 + term2 + term3 - term4;\n },\n\n altitudeOfCelestialBody(observerLatitude, declination, localHourAngle) {\n const Phi = observerLatitude;\n const delta = declination;\n const H = localHourAngle;\n /* Equation from Astronomical Algorithms page 93 */\n const term1 = Math.sin(degreesToRadians(Phi)) * Math.sin(degreesToRadians(delta));\n const term2 = Math.cos(degreesToRadians(Phi)) * Math.cos(degreesToRadians(delta)) * Math.cos(degreesToRadians(H));\n return radiansToDegrees(Math.asin(term1 + term2));\n },\n\n approximateTransit(longitude, siderealTime, rightAscension) {\n const L = longitude;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = L * -1;\n return normalizeToScale((a2 + Lw - Theta0) / 360, 1);\n },\n\n /* The time at which the sun is at its highest point in the sky (in universal time) */\n correctedTransit(approximateTransit, longitude, siderealTime, rightAscension, previousRightAscension, nextRightAscension) {\n const m0 = approximateTransit;\n const L = longitude;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n const a1 = previousRightAscension;\n const a3 = nextRightAscension;\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = L * -1;\n const Theta = unwindAngle((Theta0 + (360.985647 * m0)));\n const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m0));\n const H = quadrantShiftAngle(Theta - Lw - a);\n const dm = H / -360;\n return (m0 + dm) * 24;\n },\n\n correctedHourAngle(approximateTransit, angle, coordinates, afterTransit, siderealTime,\n rightAscension, previousRightAscension, nextRightAscension, declination, previousDeclination, nextDeclination) {\n const m0 = approximateTransit;\n const h0 = angle;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n const a1 = previousRightAscension;\n const a3 = nextRightAscension;\n const d2 = declination;\n const d1 = previousDeclination;\n const d3 = nextDeclination;\n\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = coordinates.longitude * -1;\n const term1 = Math.sin(degreesToRadians(h0)) - (Math.sin(degreesToRadians(coordinates.latitude)) * Math.sin(degreesToRadians(d2)));\n const term2 = Math.cos(degreesToRadians(coordinates.latitude)) * Math.cos(degreesToRadians(d2));\n const H0 = radiansToDegrees(Math.acos(term1 / term2));\n const m = afterTransit ? m0 + (H0 / 360) : m0 - (H0 / 360);\n const Theta = unwindAngle((Theta0 + (360.985647 * m)));\n const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m));\n const delta = Astronomical.interpolate(d2, d1, d3, m);\n const H = (Theta - Lw - a);\n const h = Astronomical.altitudeOfCelestialBody(coordinates.latitude, delta, H);\n const term3 = h - h0;\n const term4 = 360 * Math.cos(degreesToRadians(delta)) * Math.cos(degreesToRadians(coordinates.latitude)) * Math.sin(degreesToRadians(H));\n const dm = term3 / term4;\n return (m + dm) * 24;\n },\n\n /* Interpolation of a value given equidistant\n previous and next values and a factor\n equal to the fraction of the interpolated\n point's time over the time between values. */\n interpolate(y2, y1, y3, n) {\n /* Equation from Astronomical Algorithms page 24 */\n const a = y2 - y1;\n const b = y3 - y2;\n const c = b - a;\n return y2 + ((n/2) * (a + b + (n * c)));\n },\n\n /* Interpolation of three angles, accounting for\n angle unwinding. */\n interpolateAngles(y2, y1, y3, n) {\n /* Equation from Astronomical Algorithms page 24 */\n const a = unwindAngle(y2 - y1);\n const b = unwindAngle(y3 - y2);\n const c = b - a;\n return y2 + ((n/2) * (a + b + (n * c)));\n },\n\n /* The Julian Day for the given Gregorian date components. */\n julianDay(year, month, day, hours) {\n /* Equation from Astronomical Algorithms page 60 */\n if (typeof hours === 'undefined') {\n hours = 0;\n }\n\n const trunc = Math.trunc || function (x) { return x < 0 ? Math.ceil(x) : Math.floor(x); };\n\n const Y = trunc(month > 2 ? year : year - 1);\n const M = trunc(month > 2 ? month : month + 12);\n const D = day + (hours / 24);\n\n const A = trunc(Y/100);\n const B = trunc(2 - A + trunc(A/4));\n\n const i0 = trunc(365.25 * (Y + 4716));\n const i1 = trunc(30.6001 * (M + 1));\n\n return i0 + i1 + D + B - 1524.5;\n },\n\n /* Julian century from the epoch. */\n julianCentury(julianDay) {\n /* Equation from Astronomical Algorithms page 163 */\n return (julianDay - 2451545.0) / 36525;\n },\n\n /* Whether or not a year is a leap year (has 366 days). */\n isLeapYear(year) {\n if (year % 4 !== 0) {\n return false;\n }\n\n if (year % 100 === 0 && year % 400 !== 0) {\n return false;\n }\n\n return true;\n },\n\n seasonAdjustedMorningTwilight(latitude, dayOfYear, year, sunrise) {\n const a = 75 + ((28.65 / 55.0) * Math.abs(latitude));\n const b = 75 + ((19.44 / 55.0) * Math.abs(latitude));\n const c = 75 + ((32.74 / 55.0) * Math.abs(latitude));\n const d = 75 + ((48.10 / 55.0) * Math.abs(latitude));\n\n const adjustment = (function() {\n const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude);\n if ( dyy < 91) {\n return a + ( b - a ) / 91.0 * dyy;\n } else if ( dyy < 137) {\n return b + ( c - b ) / 46.0 * ( dyy - 91 );\n } else if ( dyy < 183 ) {\n return c + ( d - c ) / 46.0 * ( dyy - 137 );\n } else if ( dyy < 229 ) {\n return d + ( c - d ) / 46.0 * ( dyy - 183 );\n } else if ( dyy < 275 ) {\n return c + ( b - c ) / 46.0 * ( dyy - 229 );\n } else {\n return b + ( a - b ) / 91.0 * ( dyy - 275 );\n }\n })();\n\n return dateByAddingSeconds(sunrise, Math.round(adjustment * -60.0));\n },\n\n seasonAdjustedEveningTwilight(latitude, dayOfYear, year, sunset, shafaq) {\n let a, b, c, d;\n if (shafaq === Shafaq.Ahmer) {\n a = 62 + ((17.40 / 55.0) * Math.abs(latitude));\n b = 62 - ((7.160 / 55.0) * Math.abs(latitude));\n c = 62 + ((5.120 / 55.0) * Math.abs(latitude));\n d = 62 + ((19.44 / 55.0) * Math.abs(latitude));\n } else if (shafaq === Shafaq.Abyad) {\n a = 75 + ((25.60 / 55.0) * Math.abs(latitude));\n b = 75 + ((7.160 / 55.0) * Math.abs(latitude));\n c = 75 + ((36.84 / 55.0) * Math.abs(latitude));\n d = 75 + ((81.84 / 55.0) * Math.abs(latitude));\n } else {\n a = 75 + ((25.60 / 55.0) * Math.abs(latitude));\n b = 75 + ((2.050 / 55.0) * Math.abs(latitude));\n c = 75 - ((9.210 / 55.0) * Math.abs(latitude));\n d = 75 + ((6.140 / 55.0) * Math.abs(latitude));\n }\n\n const adjustment = (function() {\n const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude);\n if ( dyy < 91) {\n return a + ( b - a ) / 91.0 * dyy;\n } else if ( dyy < 137) {\n return b + ( c - b ) / 46.0 * ( dyy - 91 );\n } else if ( dyy < 183 ) {\n return c + ( d - c ) / 46.0 * ( dyy - 137 );\n } else if ( dyy < 229 ) {\n return d + ( c - d ) / 46.0 * ( dyy - 183 );\n } else if ( dyy < 275 ) {\n return c + ( b - c ) / 46.0 * ( dyy - 229 );\n } else {\n return b + ( a - b ) / 91.0 * ( dyy - 275 );\n }\n })();\n\n return dateByAddingSeconds(sunset, Math.round(adjustment * 60.0));\n },\n\n daysSinceSolstice(dayOfYear, year, latitude) {\n let daysSinceSolstice = 0;\n const northernOffset = 10;\n const southernOffset = Astronomical.isLeapYear(year) ? 173 : 172;\n const daysInYear = Astronomical.isLeapYear(year) ? 366 : 365;\n\n if (latitude >= 0) {\n daysSinceSolstice = dayOfYear + northernOffset;\n if (daysSinceSolstice >= daysInYear) {\n daysSinceSolstice = daysSinceSolstice - daysInYear;\n }\n } else {\n daysSinceSolstice = dayOfYear - southernOffset;\n if (daysSinceSolstice < 0) {\n daysSinceSolstice = daysSinceSolstice + daysInYear;\n }\n }\n\n return daysSinceSolstice;\n }\n};\n\nexport default Astronomical;","import Astronomical from './Astronomical';\nimport { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils';\n\nexport default class SolarCoordinates {\n constructor(julianDay) {\n const T = Astronomical.julianCentury(julianDay);\n const L0 = Astronomical.meanSolarLongitude(T);\n const Lp = Astronomical.meanLunarLongitude(T);\n const Omega = Astronomical.ascendingLunarNodeLongitude(T);\n const Lambda = degreesToRadians(Astronomical.apparentSolarLongitude(T, L0));\n const Theta0 = Astronomical.meanSiderealTime(T);\n const dPsi = Astronomical.nutationInLongitude(T, L0, Lp, Omega);\n const dEpsilon = Astronomical.nutationInObliquity(T, L0, Lp, Omega);\n const Epsilon0 = Astronomical.meanObliquityOfTheEcliptic(T);\n const EpsilonApparent = degreesToRadians(Astronomical.apparentObliquityOfTheEcliptic(T, Epsilon0));\n\n /* declination: The declination of the sun, the angle between\n the rays of the Sun and the plane of the Earth's\n equator, in degrees.\n Equation from Astronomical Algorithms page 165 */\n this.declination = radiansToDegrees(Math.asin(Math.sin(EpsilonApparent) * Math.sin(Lambda)));\n\n /* rightAscension: Right ascension of the Sun, the angular distance on the\n celestial equator from the vernal equinox to the hour circle,\n in degrees.\n Equation from Astronomical Algorithms page 165 */\n this.rightAscension = unwindAngle(radiansToDegrees(Math.atan2(Math.cos(EpsilonApparent) * Math.sin(Lambda), Math.cos(Lambda))));\n\n /* apparentSiderealTime: Apparent sidereal time, the hour angle of the vernal\n equinox, in degrees.\n Equation from Astronomical Algorithms page 88 */\n this.apparentSiderealTime = Theta0 + (((dPsi * 3600) * Math.cos(degreesToRadians(Epsilon0 + dEpsilon))) / 3600);\n }\n}\n\n","import Astronomical from './Astronomical';\nimport { degreesToRadians, radiansToDegrees } from './MathUtils'\nimport SolarCoordinates from './SolarCoordinates';\n\nexport default class SolarTime {\n constructor(date, coordinates) {\n const julianDay = Astronomical.julianDay(date.getFullYear(), date.getMonth() + 1, date.getDate(), 0);\n\n this.observer = coordinates;\n this.solar = new SolarCoordinates(julianDay);\n\n this.prevSolar = new SolarCoordinates(julianDay - 1);\n this.nextSolar = new SolarCoordinates(julianDay + 1);\n\n const m0 = Astronomical.approximateTransit(coordinates.longitude, this.solar.apparentSiderealTime, this.solar.rightAscension);\n const solarAltitude = -50.0 / 60.0;\n\n this.approxTransit = m0;\n\n this.transit = Astronomical.correctedTransit(m0, coordinates.longitude, this.solar.apparentSiderealTime, \n this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension);\n\n this.sunrise = Astronomical.correctedHourAngle(m0, solarAltitude, coordinates, false, this.solar.apparentSiderealTime, \n this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, \n this.solar.declination, this.prevSolar.declination, this.nextSolar.declination);\n\n this.sunset = Astronomical.correctedHourAngle(m0, solarAltitude, coordinates, true, this.solar.apparentSiderealTime, \n this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, \n this.solar.declination, this.prevSolar.declination, this.nextSolar.declination);\n }\n\n hourAngle(angle, afterTransit) {\n return Astronomical.correctedHourAngle(this.approxTransit, angle, this.observer, afterTransit, this.solar.apparentSiderealTime, \n this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, \n this.solar.declination, this.prevSolar.declination, this.nextSolar.declination);\n }\n\n afternoon(shadowLength) {\n // TODO source shadow angle calculation\n const tangent = Math.abs(this.observer.latitude - this.solar.declination);\n const inverse = shadowLength + Math.tan(degreesToRadians(tangent));\n const angle = radiansToDegrees(Math.atan(1.0 / inverse));\n return this.hourAngle(angle, true);\n }\n}\n\n\n","export default class TimeComponents {\n constructor(number) {\n this.hours = Math.floor(number);\n this.minutes = Math.floor((number - this.hours) * 60);\n this.seconds = Math.floor((number - (this.hours + this.minutes / 60)) * 60 * 60);\n return this;\n }\n \n utcDate(year, month, date) {\n return new Date(Date.UTC(year, month, date, this.hours, this.minutes, this.seconds));\n }\n}\n","const Prayer = {\n Fajr: 'fajr',\n Sunrise: 'sunrise',\n Dhuhr: 'dhuhr',\n Asr: 'asr',\n Maghrib: 'maghrib',\n Isha: 'isha',\n None: 'none'\n};\n\nexport default Prayer;","export const Madhab = {\n Shafi: 'shafi',\n Hanafi: 'hanafi'\n};\n\nexport function shadowLength(madhab) {\n switch (madhab) {\n case Madhab.Shafi:\n return 1;\n case Madhab.Hanafi:\n return 2\n default:\n throw \"Invalid Madhab\";\n }\n}\n","import SolarTime from './SolarTime';\nimport { dateByAddingDays } from './DateUtils';\n\nexport const PolarCircleResolution = {\n AqrabBalad: 'AqrabBalad',\n AqrabYaum: 'AqrabYaum',\n Unresolved: 'Unresolved'\n};\n\nconst LATITUDE_VARIATION_STEP = 0.5; // Degrees to add/remove at each resolution step\nconst UNSAFE_LATITUDE = 65; // Based on https://en.wikipedia.org/wiki/Midnight_sun\n\nconst isValidSolarTime = (solarTime) => solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset);\n\nconst aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => {\n if (daysAdded > Math.ceil(365 / 2)) {\n return null;\n }\n const testDate = new Date(date.getTime());\n testDate.setDate(testDate.getDate() + (direction * daysAdded));\n const tomorrow = dateByAddingDays(testDate, 1);\n const solarTime = new SolarTime(testDate, coordinates);\n const tomorrowSolarTime = new SolarTime(tomorrow, coordinates);\n\n if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) {\n return aqrabYaumResolver(coordinates, date, daysAdded + (direction > 0 ? 0 : 1), -direction);\n }\n\n return {\n date,\n tomorrow,\n coordinates,\n solarTime,\n tomorrowSolarTime,\n };\n}\n\nconst aqrabBaladResolver = (coordinates, date, latitude) => {\n const solarTime = new SolarTime(date, { ...coordinates, latitude });\n const tomorrow = dateByAddingDays(date, 1);\n const tomorrowSolarTime = new SolarTime(tomorrow, { ...coordinates, latitude });\n if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) {\n return (Math.abs(latitude) >= UNSAFE_LATITUDE) ?\n aqrabBaladResolver(coordinates, date, latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP)\n : null;\n }\n\n return {\n date,\n tomorrow,\n coordinates: { latitude, longitude: coordinates.longitude },\n solarTime,\n tomorrowSolarTime,\n };\n};\n\nexport const polarCircleResolvedValues = (resolver, date, coordinates) => {\n const defaultReturn = {\n date,\n tomorrow: dateByAddingDays(date, 1),\n coordinates,\n solarTime: new SolarTime(date, coordinates),\n tomorrowSolarTime: new SolarTime(dateByAddingDays(date, 1), coordinates),\n };\n\n switch (resolver) {\n case PolarCircleResolution.AqrabYaum: {\n return aqrabYaumResolver(coordinates, date) || defaultReturn;\n }\n case PolarCircleResolution.AqrabBalad: {\n const { latitude } = coordinates;\n return aqrabBaladResolver(coordinates, date, latitude - (Math.sign(latitude) * LATITUDE_VARIATION_STEP)) || defaultReturn;\n }\n default: {\n return defaultReturn;\n }\n }\n};\n","import SolarTime from './SolarTime';\nimport TimeComponents from './TimeComponents';\nimport Prayer from './Prayer';\nimport Astronomical from './Astronomical';\nimport {\n dateByAddingDays,\n dateByAddingMinutes,\n dateByAddingSeconds,\n roundedMinute,\n dayOfYear,\n isValidDate\n} from './DateUtils';\nimport { shadowLength } from './Madhab';\nimport { PolarCircleResolution, polarCircleResolvedValues } from './PolarCircleResolution';\n\nexport default class PrayerTimes {\n // eslint-disable-next-line complexity\n constructor(coordinates, date, calculationParameters) {\n this.coordinates = coordinates;\n this.date = date;\n this.calculationParameters = calculationParameters;\n\n let solarTime = new SolarTime(date, coordinates);\n\n let fajrTime;\n let sunriseTime;\n let dhuhrTime;\n let asrTime;\n let maghribTime;\n let ishaTime;\n\n let nightFraction;\n\n dhuhrTime = new TimeComponents(solarTime.transit).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n let sunsetTime = new TimeComponents(solarTime.sunset).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n const tomorrow = dateByAddingDays(date, 1);\n let tomorrowSolarTime = new SolarTime(tomorrow, coordinates);\n\n const polarCircleResolver = calculationParameters.polarCircleResolution;\n if (\n (!isValidDate(sunriseTime) || !isValidDate(sunsetTime) || isNaN(tomorrowSolarTime.sunrise))\n && polarCircleResolver !== PolarCircleResolution.Unresolved\n ) {\n const resolved = polarCircleResolvedValues(polarCircleResolver, date, coordinates);\n solarTime = resolved.solarTime;\n tomorrowSolarTime = resolved.tomorrowSolarTime;\n const dateComponents = [date.getFullYear(), date.getMonth(), date.getDate()];\n\n dhuhrTime = new TimeComponents(solarTime.transit).utcDate(...dateComponents);\n sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(...dateComponents);\n sunsetTime = new TimeComponents(solarTime.sunset).utcDate(...dateComponents);\n }\n\n // eslint-disable-next-line prefer-const\n asrTime = new TimeComponents(solarTime.afternoon(shadowLength(calculationParameters.madhab))).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n const tomorrowSunrise = new TimeComponents(tomorrowSolarTime.sunrise).utcDate(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n const night = (tomorrowSunrise - sunsetTime) / 1000;\n\n fajrTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false)).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n // special case for moonsighting committee above latitude 55\n if (calculationParameters.method === \"MoonsightingCommittee\" && coordinates.latitude >= 55) {\n nightFraction = night / 7;\n fajrTime = dateByAddingSeconds(sunriseTime, -nightFraction);\n }\n\n const safeFajr = (function () {\n if (calculationParameters.method === \"MoonsightingCommittee\") {\n return Astronomical.seasonAdjustedMorningTwilight(coordinates.latitude, dayOfYear(date), date.getFullYear(), sunriseTime);\n }\n else {\n const portion = calculationParameters.nightPortions().fajr;\n nightFraction = portion * night;\n return dateByAddingSeconds(sunriseTime, -nightFraction);\n }\n })();\n\n if (fajrTime === null || isNaN(fajrTime.getTime()) || safeFajr > fajrTime) {\n fajrTime = safeFajr;\n }\n\n if (calculationParameters.ishaInterval > 0) {\n ishaTime = dateByAddingMinutes(sunsetTime, calculationParameters.ishaInterval);\n } else {\n ishaTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.ishaAngle, true)).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n // special case for moonsighting committee above latitude 55\n if (calculationParameters.method === \"MoonsightingCommittee\" && coordinates.latitude >= 55) {\n nightFraction = night / 7;\n ishaTime = dateByAddingSeconds(sunsetTime, nightFraction);\n }\n\n const safeIsha = (function () {\n if (calculationParameters.method === \"MoonsightingCommittee\") {\n return Astronomical.seasonAdjustedEveningTwilight(coordinates.latitude, dayOfYear(date), date.getFullYear(), sunsetTime, calculationParameters.shafaq);\n }\n else {\n const portion = calculationParameters.nightPortions().isha;\n nightFraction = portion * night;\n return dateByAddingSeconds(sunsetTime, nightFraction);\n }\n })();\n\n if (ishaTime == null || isNaN(ishaTime.getTime()) || safeIsha < ishaTime) {\n ishaTime = safeIsha;\n }\n }\n\n maghribTime = sunsetTime;\n if (calculationParameters.maghribAngle) {\n const angleBasedMaghrib = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.maghribAngle, true)).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n if (sunsetTime < angleBasedMaghrib && ishaTime > angleBasedMaghrib) {\n maghribTime = angleBasedMaghrib;\n }\n }\n\n const fajrAdjustment = (calculationParameters.adjustments.fajr || 0) + (calculationParameters.methodAdjustments.fajr || 0);\n const sunriseAdjustment = (calculationParameters.adjustments.sunrise || 0) + (calculationParameters.methodAdjustments.sunrise || 0);\n const dhuhrAdjustment = (calculationParameters.adjustments.dhuhr || 0) + (calculationParameters.methodAdjustments.dhuhr || 0);\n const asrAdjustment = (calculationParameters.adjustments.asr || 0) + (calculationParameters.methodAdjustments.asr || 0);\n const maghribAdjustment = (calculationParameters.adjustments.maghrib || 0) + (calculationParameters.methodAdjustments.maghrib || 0);\n const ishaAdjustment = (calculationParameters.adjustments.isha || 0) + (calculationParameters.methodAdjustments.isha || 0);\n\n this.fajr = roundedMinute(dateByAddingMinutes(fajrTime, fajrAdjustment), calculationParameters.rounding);\n this.sunrise = roundedMinute(dateByAddingMinutes(sunriseTime, sunriseAdjustment), calculationParameters.rounding);\n this.dhuhr = roundedMinute(dateByAddingMinutes(dhuhrTime, dhuhrAdjustment), calculationParameters.rounding);\n this.asr = roundedMinute(dateByAddingMinutes(asrTime, asrAdjustment), calculationParameters.rounding);\n this.maghrib = roundedMinute(dateByAddingMinutes(maghribTime, maghribAdjustment), calculationParameters.rounding);\n this.isha = roundedMinute(dateByAddingMinutes(ishaTime, ishaAdjustment), calculationParameters.rounding);\n }\n\n timeForPrayer(prayer) {\n if (prayer === Prayer.Fajr) {\n return this.fajr;\n }\n else if (prayer === Prayer.Sunrise) {\n return this.sunrise;\n }\n else if (prayer === Prayer.Dhuhr) {\n return this.dhuhr;\n }\n else if (prayer === Prayer.Asr) {\n return this.asr;\n }\n else if (prayer === Prayer.Maghrib) {\n return this.maghrib;\n }\n else if (prayer === Prayer.Isha) {\n return this.isha;\n }\n else {\n return null;\n }\n }\n\n currentPrayer(date) {\n if (typeof date === 'undefined') {\n date = new Date();\n }\n if (date >= this.isha) {\n return Prayer.Isha;\n }\n else if (date >= this.maghrib) {\n return Prayer.Maghrib;\n }\n else if (date >= this.asr) {\n return Prayer.Asr;\n }\n else if (date >= this.dhuhr) {\n return Prayer.Dhuhr;\n }\n else if (date >= this.sunrise) {\n return Prayer.Sunrise;\n }\n else if (date >= this.fajr) {\n return Prayer.Fajr;\n }\n else {\n return Prayer.None;\n }\n }\n\n nextPrayer(date) {\n if (typeof date === 'undefined') {\n date = new Date();\n }\n if (date >= this.isha) {\n return Prayer.None;\n }\n else if (date >= this.maghrib) {\n return Prayer.Isha;\n }\n else if (date >= this.asr) {\n return Prayer.Maghrib;\n }\n else if (date >= this.dhuhr) {\n return Prayer.Asr;\n }\n else if (date >= this.sunrise) {\n return Prayer.Dhuhr;\n }\n else if (date >= this.fajr) {\n return Prayer.Sunrise;\n }\n else {\n return Prayer.Fajr;\n }\n }\n}\n\n","const HighLatitudeRule = {\n MiddleOfTheNight: 'middleofthenight',\n SeventhOfTheNight: 'seventhofthenight',\n TwilightAngle: 'twilightangle',\n\n recommended(coordinates) {\n if (coordinates.latitude > 48) {\n return HighLatitudeRule.SeventhOfTheNight;\n } else {\n return HighLatitudeRule.MiddleOfTheNight;\n }\n }\n};\n\nexport default HighLatitudeRule;","import { Madhab } from './Madhab';\nimport HighLatitudeRule from './HighLatitudeRule';\nimport { PolarCircleResolution } from './PolarCircleResolution';\nimport { Rounding } from './Rounding';\nimport { Shafaq } from './Shafaq';\n\nexport default class CalculationParameters {\n constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) {\n // Name of the method, can be used to apply special behavior in calculations.\n // This property should not be manually modified.\n this.method = methodName || \"Other\";\n\n // Angle of the sun below the horizon used for calculating Fajr.\n this.fajrAngle = fajrAngle || 0;\n\n // Angle of the sun below the horizon used for calculating Isha.\n this.ishaAngle = ishaAngle || 0;\n\n // Minutes after Maghrib to determine time for Isha\n // if this value is greater than 0 then ishaAngle is not used.\n this.ishaInterval = ishaInterval || 0;\n\n // Angle of the sun below the horizon used for calculating Maghrib.\n // Only used by the Tehran method to account for lightness in the sky.\n this.maghribAngle = maghribAngle;\n\n // Madhab to determine how Asr is calculated.\n this.madhab = Madhab.Shafi;\n\n // Rule to determine the earliest time for Fajr and latest time for Isha\n // needed for high latitude locations where Fajr and Isha may not truly exist\n // or may present a hardship unless bound to a reasonable time.\n this.highLatitudeRule = HighLatitudeRule.MiddleOfTheNight;\n\n // Manual adjustments (in minutes) to be added to each prayer time.\n this.adjustments = { fajr: 0, sunrise: 0, dhuhr: 0, asr: 0, maghrib: 0, isha: 0 };\n\n // Adjustments set by a calculation method. This value should not be manually modified.\n this.methodAdjustments = { fajr: 0, sunrise: 0, dhuhr: 0, asr: 0, maghrib: 0, isha: 0 };\n\n // Rule to determine how to resolve prayer times inside the Polar Circle\n // where daylight or night may persist for more than 24 hours depending\n // on the season\n this.polarCircleResolution = PolarCircleResolution.Unresolved;\n\n // How seconds are rounded when calculating prayer times\n this.rounding = Rounding.Nearest;\n\n // Used by the MoonsightingCommittee method to determine how to calculate Isha\n this.shafaq = Shafaq.General;\n }\n\n nightPortions() {\n switch (this.highLatitudeRule) {\n case HighLatitudeRule.MiddleOfTheNight:\n return { fajr: 1 / 2, isha: 1 / 2 };\n case HighLatitudeRule.SeventhOfTheNight:\n return { fajr: 1 / 7, isha: 1 / 7 };\n case HighLatitudeRule.TwilightAngle:\n return { fajr: this.fajrAngle / 60, isha: this.ishaAngle / 60 };\n default:\n throw(`Invalid high latitude rule found when attempting to compute night portions: ${this.highLatitudeRule}`);\n }\n }\n}\n","import CalculationParameters from './CalculationParameters';\nimport { Rounding } from './Rounding';\n\nconst CalculationMethod = {\n // Muslim World League\n MuslimWorldLeague() {\n const params = new CalculationParameters(\"MuslimWorldLeague\", 18, 17);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Egyptian General Authority of Survey\n Egyptian() {\n const params = new CalculationParameters(\"Egyptian\", 19.5, 17.5);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // University of Islamic Sciences, Karachi\n Karachi() {\n const params = new CalculationParameters(\"Karachi\", 18, 18);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Umm al-Qura University, Makkah\n UmmAlQura() {\n return new CalculationParameters(\"UmmAlQura\", 18.5, 0, 90);\n },\n\n // Dubai\n Dubai() {\n const params = new CalculationParameters(\"Dubai\", 18.2, 18.2);\n params.methodAdjustments = { sunrise: -3, dhuhr: 3, asr: 3, maghrib: 3 };\n return params;\n },\n\n // Moonsighting Committee\n MoonsightingCommittee() {\n const params = new CalculationParameters(\"MoonsightingCommittee\", 18, 18);\n params.methodAdjustments = { dhuhr: 5, maghrib: 3 };\n return params;\n },\n\n // ISNA\n NorthAmerica() {\n const params = new CalculationParameters(\"NorthAmerica\", 15, 15);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Kuwait\n Kuwait() {\n return new CalculationParameters(\"Kuwait\", 18, 17.5);\n },\n\n // Qatar\n Qatar() {\n return new CalculationParameters(\"Qatar\", 18, 0, 90);\n },\n\n // Singapore\n Singapore() {\n const params = new CalculationParameters(\"Singapore\", 20, 18);\n params.methodAdjustments = { dhuhr: 1 };\n params.rounding = Rounding.Up;\n return params;\n },\n\n // Institute of Geophysics, University of Tehran\n Tehran() {\n const params = new CalculationParameters(\"Tehran\", 17.7, 14, 0, 4.5);\n return params;\n },\n\n // Dianet\n Turkey() {\n const params = new CalculationParameters(\"Turkey\", 18, 17);\n params.methodAdjustments = { sunrise: -7, dhuhr: 5, asr: 4, maghrib: 7 };\n return params;\n },\n\n // Other\n Other() {\n return new CalculationParameters(\"Other\", 0, 0);\n }\n};\n\nexport default CalculationMethod;","import Coordinates from './Coordinates'\nimport { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils'\n\nexport default function qibla(coordinates) {\n const makkah = new Coordinates(21.4225241, 39.8261818);\n\n // Equation from \"Spherical Trigonometry For the use of colleges and schools\" page 50\n const term1 = (\n Math.sin(degreesToRadians(makkah.longitude) -\n degreesToRadians(coordinates.longitude))\n );\n const term2 = (\n Math.cos(degreesToRadians(coordinates.latitude)) *\n Math.tan(degreesToRadians(makkah.latitude))\n );\n const term3 = (\n Math.sin(degreesToRadians(coordinates.latitude)) *\n Math.cos(degreesToRadians(makkah.longitude) -\n degreesToRadians(coordinates.longitude))\n );\n const angle = Math.atan2(term1, term2 - term3);\n\n return unwindAngle(radiansToDegrees(angle));\n}\n","import { dateByAddingDays, dateByAddingSeconds, roundedMinute } from './DateUtils';\nimport PrayerTimes from './PrayerTimes';\n\nexport default class SunnahTimes {\n constructor(prayerTimes) {\n const date = prayerTimes.date;\n const nextDay = dateByAddingDays(date, 1);\n const nextDayPrayerTimes = new PrayerTimes(prayerTimes.coordinates, nextDay, prayerTimes.calculationParameters);\n\n const nightDuration = (nextDayPrayerTimes.fajr.getTime() - prayerTimes.maghrib.getTime()) / 1000.0;\n\n this.middleOfTheNight = roundedMinute(dateByAddingSeconds(prayerTimes.maghrib, nightDuration / 2));\n this.lastThirdOfTheNight = roundedMinute(dateByAddingSeconds(prayerTimes.maghrib, nightDuration * (2 / 3)));\n }\n}\n\n","import Coordinates from './Coordinates';\nimport PrayerTimes from './PrayerTimes';\nimport Prayer from './Prayer';\nimport { Madhab } from './Madhab';\nimport HighLatitudeRule from './HighLatitudeRule';\nimport CalculationMethod from './CalculationMethod';\nimport CalculationParameters from './CalculationParameters';\nimport Qibla from './Qibla';\nimport SunnahTimes from './SunnahTimes';\nimport { PolarCircleResolution } from './PolarCircleResolution';\nimport { Rounding } from './Rounding';\nimport { Shafaq } from './Shafaq';\n\nconst adhan = {\n Prayer,\n Madhab,\n HighLatitudeRule,\n Coordinates,\n CalculationParameters,\n CalculationMethod,\n PrayerTimes,\n SunnahTimes,\n Qibla,\n PolarCircleResolution,\n Rounding,\n Shafaq\n};\n\nexport default adhan;"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://adhan/webpack/universalModuleDefinition","webpack://adhan/webpack/bootstrap","webpack://adhan/./src/Coordinates.js","webpack://adhan/./src/Rounding.js","webpack://adhan/./src/DateUtils.js","webpack://adhan/./src/MathUtils.js","webpack://adhan/./src/Shafaq.js","webpack://adhan/./src/Astronomical.js","webpack://adhan/./src/SolarCoordinates.js","webpack://adhan/./src/SolarTime.js","webpack://adhan/./src/TimeComponents.js","webpack://adhan/./src/Prayer.js","webpack://adhan/./src/Madhab.js","webpack://adhan/./src/PolarCircleResolution.js","webpack://adhan/./src/PrayerTimes.js","webpack://adhan/./src/HighLatitudeRule.js","webpack://adhan/./src/CalculationParameters.js","webpack://adhan/./src/CalculationMethod.js","webpack://adhan/./src/Qibla.js","webpack://adhan/./src/SunnahTimes.js","webpack://adhan/./src/Adhan.js"],"names":["Coordinates","constructor","latitude","longitude","Rounding","Nearest","Up","None","dateByAddingDays","date","days","year","getFullYear","month","getMonth","day","getDate","hours","getHours","minutes","getMinutes","seconds","getSeconds","Date","dateByAddingMinutes","dateByAddingSeconds","getTime","roundedMinute","rounding","getUTCSeconds","offset","dayOfYear","returnedDayOfYear","feb","Astronomical","isLeapYear","months","i","isValidDate","isNaN","valueOf","degreesToRadians","degrees","Math","PI","radiansToDegrees","radians","normalizeToScale","number","max","floor","unwindAngle","angle","quadrantShiftAngle","round","Shafaq","General","Ahmer","Abyad","meanSolarLongitude","julianCentury","T","term1","term2","term3","pow","L0","meanLunarLongitude","Lp","ascendingLunarNodeLongitude","term4","Omega","meanSolarAnomaly","M","solarEquationOfTheCenter","meanAnomaly","Mrad","sin","apparentSolarLongitude","meanLongitude","Lambda","meanObliquityOfTheEcliptic","apparentObliquityOfTheEcliptic","Epsilon0","O","cos","meanSiderealTime","JD","Theta","nutationInLongitude","solarLongitude","lunarLongitude","ascendingNode","nutationInObliquity","altitudeOfCelestialBody","observerLatitude","declination","localHourAngle","Phi","delta","H","asin","approximateTransit","siderealTime","rightAscension","L","Theta0","a2","Lw","correctedTransit","previousRightAscension","nextRightAscension","m0","a1","a3","a","interpolateAngles","dm","correctedHourAngle","coordinates","afterTransit","previousDeclination","nextDeclination","h0","d2","d1","d3","H0","acos","m","interpolate","h","y2","y1","y3","n","b","c","julianDay","trunc","x","ceil","Y","D","A","B","i0","i1","seasonAdjustedMorningTwilight","sunrise","abs","d","adjustment","dyy","daysSinceSolstice","seasonAdjustedEveningTwilight","sunset","shafaq","northernOffset","southernOffset","daysInYear","SolarCoordinates","dPsi","dEpsilon","EpsilonApparent","atan2","apparentSiderealTime","SolarTime","observer","solar","prevSolar","nextSolar","solarAltitude","approxTransit","transit","hourAngle","afternoon","shadowLength","tangent","inverse","tan","atan","TimeComponents","utcDate","UTC","Prayer","Fajr","Sunrise","Dhuhr","Asr","Maghrib","Isha","Madhab","Shafi","Hanafi","madhab","PolarCircleResolution","AqrabBalad","AqrabYaum","Unresolved","LATITUDE_VARIATION_STEP","UNSAFE_LATITUDE","isValidSolarTime","solarTime","aqrabYaumResolver","daysAdded","direction","testDate","setDate","tomorrow","tomorrowSolarTime","aqrabBaladResolver","sign","polarCircleResolvedValues","resolver","defaultReturn","PrayerTimes","calculationParameters","fajrTime","sunriseTime","dhuhrTime","asrTime","maghribTime","ishaTime","nightFraction","sunsetTime","polarCircleResolver","polarCircleResolution","resolved","dateComponents","tomorrowSunrise","night","fajrAngle","method","safeFajr","portion","nightPortions","fajr","ishaInterval","ishaAngle","safeIsha","isha","maghribAngle","angleBasedMaghrib","fajrAdjustment","adjustments","methodAdjustments","sunriseAdjustment","dhuhrAdjustment","dhuhr","asrAdjustment","asr","maghribAdjustment","maghrib","ishaAdjustment","timeForPrayer","prayer","currentPrayer","nextPrayer","HighLatitudeRule","MiddleOfTheNight","SeventhOfTheNight","TwilightAngle","recommended","CalculationParameters","methodName","highLatitudeRule","CalculationMethod","MuslimWorldLeague","params","Egyptian","Karachi","UmmAlQura","Dubai","MoonsightingCommittee","NorthAmerica","Kuwait","Qatar","Singapore","Tehran","Turkey","Other","qibla","makkah","SunnahTimes","prayerTimes","nextDay","nextDayPrayerTimes","nightDuration","middleOfTheNight","lastThirdOfTheNight","adhan","Qibla"],"mappings":"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","file":"Adhan.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"adhan\"] = factory();\n\telse\n\t\troot[\"adhan\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export default class Coordinates {\n constructor(latitude, longitude) {\n this.latitude = latitude;\n this.longitude = longitude;\n }\n}\n","export const Rounding = {\n Nearest: 'nearest',\n Up: 'up',\n None: 'none',\n};\n","import Astronomical from './Astronomical';\nimport { Rounding } from './Rounding';\n\nexport function dateByAddingDays(date, days) {\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate() + days;\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n return new Date(year, month, day, hours, minutes, seconds);\n}\n\nexport function dateByAddingMinutes(date, minutes) {\n return dateByAddingSeconds(date, minutes * 60);\n}\n\nexport function dateByAddingSeconds(date, seconds) {\n return new Date(date.getTime() + seconds * 1000);\n}\n\nexport function roundedMinute(date, rounding = Rounding.Nearest) {\n const seconds = date.getUTCSeconds();\n let offset = seconds >= 30 ? 60 - seconds : -1 * seconds;\n if (rounding === Rounding.Up) {\n offset = 60 - seconds;\n } else if (rounding === Rounding.None) {\n offset = 0;\n }\n\n return dateByAddingSeconds(date, offset);\n}\n\nexport function dayOfYear(date) {\n let returnedDayOfYear = 0;\n const feb = Astronomical.isLeapYear(date.getFullYear()) ? 29 : 28;\n const months = [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n for (let i = 0; i < date.getMonth(); i++) {\n returnedDayOfYear += months[i];\n }\n\n returnedDayOfYear += date.getDate();\n\n return returnedDayOfYear;\n}\n\nexport function isValidDate(date) {\n return date instanceof Date && !isNaN(date.valueOf());\n}\n","export function degreesToRadians(degrees) {\n return (degrees * Math.PI) / 180.0;\n}\n\nexport function radiansToDegrees(radians) {\n return (radians * 180.0) / Math.PI;\n}\n\nexport function normalizeToScale(number, max) {\n return number - max * Math.floor(number / max);\n}\n\nexport function unwindAngle(angle) {\n return normalizeToScale(angle, 360.0);\n}\n\nexport function quadrantShiftAngle(angle) {\n if (angle >= -180 && angle <= 180) {\n return angle;\n }\n\n return angle - 360 * Math.round(angle / 360);\n}\n","// Shafaq is the twilight in the sky. Different madhabs define the appearance of\n// twilight differently. These values are used by the MoonsightingComittee method\n// for the different ways to calculate Isha.\nexport const Shafaq = {\n // General is a combination of Ahmer and Abyad.\n General: 'general',\n\n // Ahmer means the twilight is the red glow in the sky. Used by the Shafi, Maliki, and Hanbali madhabs.\n Ahmer: 'ahmer',\n\n // Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab.\n Abyad: 'abyad',\n};\n","/* eslint-disable max-params, max-lines */\nimport { dateByAddingSeconds } from './DateUtils';\nimport {\n degreesToRadians,\n normalizeToScale,\n quadrantShiftAngle,\n radiansToDegrees,\n unwindAngle,\n} from './MathUtils';\nimport { Shafaq } from './Shafaq';\n\nconst Astronomical = {\n /* The geometric mean longitude of the sun in degrees. */\n meanSolarLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 163 */\n const term1 = 280.4664567;\n const term2 = 36000.76983 * T;\n const term3 = 0.0003032 * Math.pow(T, 2);\n const L0 = term1 + term2 + term3;\n return unwindAngle(L0);\n },\n\n /* The geometric mean longitude of the moon in degrees. */\n meanLunarLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = 218.3165;\n const term2 = 481267.8813 * T;\n const Lp = term1 + term2;\n return unwindAngle(Lp);\n },\n\n ascendingLunarNodeLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = 125.04452;\n const term2 = 1934.136261 * T;\n const term3 = 0.0020708 * Math.pow(T, 2);\n const term4 = Math.pow(T, 3) / 450000;\n const Omega = term1 - term2 + term3 + term4;\n return unwindAngle(Omega);\n },\n\n /* The mean anomaly of the sun. */\n meanSolarAnomaly(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 163 */\n const term1 = 357.52911;\n const term2 = 35999.05029 * T;\n const term3 = 0.0001537 * Math.pow(T, 2);\n const M = term1 + term2 - term3;\n return unwindAngle(M);\n },\n\n /* The Sun's equation of the center in degrees. */\n solarEquationOfTheCenter(julianCentury, meanAnomaly) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 164 */\n const Mrad = degreesToRadians(meanAnomaly);\n const term1 =\n (1.914602 - 0.004817 * T - 0.000014 * Math.pow(T, 2)) * Math.sin(Mrad);\n const term2 = (0.019993 - 0.000101 * T) * Math.sin(2 * Mrad);\n const term3 = 0.000289 * Math.sin(3 * Mrad);\n return term1 + term2 + term3;\n },\n\n /* The apparent longitude of the Sun, referred to the\n true equinox of the date. */\n apparentSolarLongitude(julianCentury, meanLongitude) {\n const T = julianCentury;\n const L0 = meanLongitude;\n /* Equation from Astronomical Algorithms page 164 */\n const longitude =\n L0 +\n Astronomical.solarEquationOfTheCenter(\n T,\n Astronomical.meanSolarAnomaly(T),\n );\n const Omega = 125.04 - 1934.136 * T;\n const Lambda =\n longitude - 0.00569 - 0.00478 * Math.sin(degreesToRadians(Omega));\n return unwindAngle(Lambda);\n },\n\n /* The mean obliquity of the ecliptic, formula\n adopted by the International Astronomical Union.\n Represented in degrees. */\n meanObliquityOfTheEcliptic(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 147 */\n const term1 = 23.439291;\n const term2 = 0.013004167 * T;\n const term3 = 0.0000001639 * Math.pow(T, 2);\n const term4 = 0.0000005036 * Math.pow(T, 3);\n return term1 - term2 - term3 + term4;\n },\n\n /* The mean obliquity of the ecliptic, corrected for\n calculating the apparent position of the sun, in degrees. */\n apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) {\n const T = julianCentury;\n const Epsilon0 = meanObliquityOfTheEcliptic;\n /* Equation from Astronomical Algorithms page 165 */\n const O = 125.04 - 1934.136 * T;\n return Epsilon0 + 0.00256 * Math.cos(degreesToRadians(O));\n },\n\n /* Mean sidereal time, the hour angle of the vernal equinox, in degrees. */\n meanSiderealTime(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 165 */\n const JD = T * 36525 + 2451545.0;\n const term1 = 280.46061837;\n const term2 = 360.98564736629 * (JD - 2451545);\n const term3 = 0.000387933 * Math.pow(T, 2);\n const term4 = Math.pow(T, 3) / 38710000;\n const Theta = term1 + term2 + term3 - term4;\n return unwindAngle(Theta);\n },\n\n nutationInLongitude(\n julianCentury,\n solarLongitude,\n lunarLongitude,\n ascendingNode,\n ) {\n const L0 = solarLongitude;\n const Lp = lunarLongitude;\n const Omega = ascendingNode;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = (-17.2 / 3600) * Math.sin(degreesToRadians(Omega));\n const term2 = (1.32 / 3600) * Math.sin(2 * degreesToRadians(L0));\n const term3 = (0.23 / 3600) * Math.sin(2 * degreesToRadians(Lp));\n const term4 = (0.21 / 3600) * Math.sin(2 * degreesToRadians(Omega));\n return term1 - term2 - term3 + term4;\n },\n\n nutationInObliquity(\n julianCentury,\n solarLongitude,\n lunarLongitude,\n ascendingNode,\n ) {\n const L0 = solarLongitude;\n const Lp = lunarLongitude;\n const Omega = ascendingNode;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = (9.2 / 3600) * Math.cos(degreesToRadians(Omega));\n const term2 = (0.57 / 3600) * Math.cos(2 * degreesToRadians(L0));\n const term3 = (0.1 / 3600) * Math.cos(2 * degreesToRadians(Lp));\n const term4 = (0.09 / 3600) * Math.cos(2 * degreesToRadians(Omega));\n return term1 + term2 + term3 - term4;\n },\n\n altitudeOfCelestialBody(observerLatitude, declination, localHourAngle) {\n const Phi = observerLatitude;\n const delta = declination;\n const H = localHourAngle;\n /* Equation from Astronomical Algorithms page 93 */\n const term1 =\n Math.sin(degreesToRadians(Phi)) * Math.sin(degreesToRadians(delta));\n const term2 =\n Math.cos(degreesToRadians(Phi)) *\n Math.cos(degreesToRadians(delta)) *\n Math.cos(degreesToRadians(H));\n return radiansToDegrees(Math.asin(term1 + term2));\n },\n\n approximateTransit(longitude, siderealTime, rightAscension) {\n const L = longitude;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = L * -1;\n return normalizeToScale((a2 + Lw - Theta0) / 360, 1);\n },\n\n /* The time at which the sun is at its highest point in the sky (in universal time) */\n correctedTransit(\n approximateTransit,\n longitude,\n siderealTime,\n rightAscension,\n previousRightAscension,\n nextRightAscension,\n ) {\n const m0 = approximateTransit;\n const L = longitude;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n const a1 = previousRightAscension;\n const a3 = nextRightAscension;\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = L * -1;\n const Theta = unwindAngle(Theta0 + 360.985647 * m0);\n const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m0));\n const H = quadrantShiftAngle(Theta - Lw - a);\n const dm = H / -360;\n return (m0 + dm) * 24;\n },\n\n correctedHourAngle(\n approximateTransit,\n angle,\n coordinates,\n afterTransit,\n siderealTime,\n rightAscension,\n previousRightAscension,\n nextRightAscension,\n declination,\n previousDeclination,\n nextDeclination,\n ) {\n const m0 = approximateTransit;\n const h0 = angle;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n const a1 = previousRightAscension;\n const a3 = nextRightAscension;\n const d2 = declination;\n const d1 = previousDeclination;\n const d3 = nextDeclination;\n\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = coordinates.longitude * -1;\n const term1 =\n Math.sin(degreesToRadians(h0)) -\n Math.sin(degreesToRadians(coordinates.latitude)) *\n Math.sin(degreesToRadians(d2));\n const term2 =\n Math.cos(degreesToRadians(coordinates.latitude)) *\n Math.cos(degreesToRadians(d2));\n const H0 = radiansToDegrees(Math.acos(term1 / term2));\n const m = afterTransit ? m0 + H0 / 360 : m0 - H0 / 360;\n const Theta = unwindAngle(Theta0 + 360.985647 * m);\n const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m));\n const delta = Astronomical.interpolate(d2, d1, d3, m);\n const H = Theta - Lw - a;\n const h = Astronomical.altitudeOfCelestialBody(\n coordinates.latitude,\n delta,\n H,\n );\n const term3 = h - h0;\n const term4 =\n 360 *\n Math.cos(degreesToRadians(delta)) *\n Math.cos(degreesToRadians(coordinates.latitude)) *\n Math.sin(degreesToRadians(H));\n const dm = term3 / term4;\n return (m + dm) * 24;\n },\n\n /* Interpolation of a value given equidistant\n previous and next values and a factor\n equal to the fraction of the interpolated\n point's time over the time between values. */\n interpolate(y2, y1, y3, n) {\n /* Equation from Astronomical Algorithms page 24 */\n const a = y2 - y1;\n const b = y3 - y2;\n const c = b - a;\n return y2 + (n / 2) * (a + b + n * c);\n },\n\n /* Interpolation of three angles, accounting for\n angle unwinding. */\n interpolateAngles(y2, y1, y3, n) {\n /* Equation from Astronomical Algorithms page 24 */\n const a = unwindAngle(y2 - y1);\n const b = unwindAngle(y3 - y2);\n const c = b - a;\n return y2 + (n / 2) * (a + b + n * c);\n },\n\n /* The Julian Day for the given Gregorian date components. */\n julianDay(year, month, day, hours) {\n /* Equation from Astronomical Algorithms page 60 */\n if (typeof hours === 'undefined') {\n hours = 0;\n }\n\n const trunc =\n Math.trunc ||\n function (x) {\n return x < 0 ? Math.ceil(x) : Math.floor(x);\n };\n\n const Y = trunc(month > 2 ? year : year - 1);\n const M = trunc(month > 2 ? month : month + 12);\n const D = day + hours / 24;\n\n const A = trunc(Y / 100);\n const B = trunc(2 - A + trunc(A / 4));\n\n const i0 = trunc(365.25 * (Y + 4716));\n const i1 = trunc(30.6001 * (M + 1));\n\n return i0 + i1 + D + B - 1524.5;\n },\n\n /* Julian century from the epoch. */\n julianCentury(julianDay) {\n /* Equation from Astronomical Algorithms page 163 */\n return (julianDay - 2451545.0) / 36525;\n },\n\n /* Whether or not a year is a leap year (has 366 days). */\n isLeapYear(year) {\n if (year % 4 !== 0) {\n return false;\n }\n\n if (year % 100 === 0 && year % 400 !== 0) {\n return false;\n }\n\n return true;\n },\n\n seasonAdjustedMorningTwilight(latitude, dayOfYear, year, sunrise) {\n const a = 75 + (28.65 / 55.0) * Math.abs(latitude);\n const b = 75 + (19.44 / 55.0) * Math.abs(latitude);\n const c = 75 + (32.74 / 55.0) * Math.abs(latitude);\n const d = 75 + (48.1 / 55.0) * Math.abs(latitude);\n\n const adjustment = (function () {\n const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude);\n if (dyy < 91) {\n return a + ((b - a) / 91.0) * dyy;\n } else if (dyy < 137) {\n return b + ((c - b) / 46.0) * (dyy - 91);\n } else if (dyy < 183) {\n return c + ((d - c) / 46.0) * (dyy - 137);\n } else if (dyy < 229) {\n return d + ((c - d) / 46.0) * (dyy - 183);\n } else if (dyy < 275) {\n return c + ((b - c) / 46.0) * (dyy - 229);\n } else {\n return b + ((a - b) / 91.0) * (dyy - 275);\n }\n })();\n\n return dateByAddingSeconds(sunrise, Math.round(adjustment * -60.0));\n },\n\n seasonAdjustedEveningTwilight(latitude, dayOfYear, year, sunset, shafaq) {\n let a, b, c, d;\n if (shafaq === Shafaq.Ahmer) {\n a = 62 + (17.4 / 55.0) * Math.abs(latitude);\n b = 62 - (7.16 / 55.0) * Math.abs(latitude);\n c = 62 + (5.12 / 55.0) * Math.abs(latitude);\n d = 62 + (19.44 / 55.0) * Math.abs(latitude);\n } else if (shafaq === Shafaq.Abyad) {\n a = 75 + (25.6 / 55.0) * Math.abs(latitude);\n b = 75 + (7.16 / 55.0) * Math.abs(latitude);\n c = 75 + (36.84 / 55.0) * Math.abs(latitude);\n d = 75 + (81.84 / 55.0) * Math.abs(latitude);\n } else {\n a = 75 + (25.6 / 55.0) * Math.abs(latitude);\n b = 75 + (2.05 / 55.0) * Math.abs(latitude);\n c = 75 - (9.21 / 55.0) * Math.abs(latitude);\n d = 75 + (6.14 / 55.0) * Math.abs(latitude);\n }\n\n const adjustment = (function () {\n const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude);\n if (dyy < 91) {\n return a + ((b - a) / 91.0) * dyy;\n } else if (dyy < 137) {\n return b + ((c - b) / 46.0) * (dyy - 91);\n } else if (dyy < 183) {\n return c + ((d - c) / 46.0) * (dyy - 137);\n } else if (dyy < 229) {\n return d + ((c - d) / 46.0) * (dyy - 183);\n } else if (dyy < 275) {\n return c + ((b - c) / 46.0) * (dyy - 229);\n } else {\n return b + ((a - b) / 91.0) * (dyy - 275);\n }\n })();\n\n return dateByAddingSeconds(sunset, Math.round(adjustment * 60.0));\n },\n\n daysSinceSolstice(dayOfYear, year, latitude) {\n let daysSinceSolstice = 0;\n const northernOffset = 10;\n const southernOffset = Astronomical.isLeapYear(year) ? 173 : 172;\n const daysInYear = Astronomical.isLeapYear(year) ? 366 : 365;\n\n if (latitude >= 0) {\n daysSinceSolstice = dayOfYear + northernOffset;\n if (daysSinceSolstice >= daysInYear) {\n daysSinceSolstice = daysSinceSolstice - daysInYear;\n }\n } else {\n daysSinceSolstice = dayOfYear - southernOffset;\n if (daysSinceSolstice < 0) {\n daysSinceSolstice = daysSinceSolstice + daysInYear;\n }\n }\n\n return daysSinceSolstice;\n },\n};\n\nexport default Astronomical;\n","import Astronomical from './Astronomical';\nimport { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils';\n\nexport default class SolarCoordinates {\n constructor(julianDay) {\n const T = Astronomical.julianCentury(julianDay);\n const L0 = Astronomical.meanSolarLongitude(T);\n const Lp = Astronomical.meanLunarLongitude(T);\n const Omega = Astronomical.ascendingLunarNodeLongitude(T);\n const Lambda = degreesToRadians(Astronomical.apparentSolarLongitude(T, L0));\n const Theta0 = Astronomical.meanSiderealTime(T);\n const dPsi = Astronomical.nutationInLongitude(T, L0, Lp, Omega);\n const dEpsilon = Astronomical.nutationInObliquity(T, L0, Lp, Omega);\n const Epsilon0 = Astronomical.meanObliquityOfTheEcliptic(T);\n const EpsilonApparent = degreesToRadians(\n Astronomical.apparentObliquityOfTheEcliptic(T, Epsilon0),\n );\n\n /* declination: The declination of the sun, the angle between\n the rays of the Sun and the plane of the Earth's\n equator, in degrees.\n Equation from Astronomical Algorithms page 165 */\n this.declination = radiansToDegrees(\n Math.asin(Math.sin(EpsilonApparent) * Math.sin(Lambda)),\n );\n\n /* rightAscension: Right ascension of the Sun, the angular distance on the\n celestial equator from the vernal equinox to the hour circle,\n in degrees.\n Equation from Astronomical Algorithms page 165 */\n this.rightAscension = unwindAngle(\n radiansToDegrees(\n Math.atan2(\n Math.cos(EpsilonApparent) * Math.sin(Lambda),\n Math.cos(Lambda),\n ),\n ),\n );\n\n /* apparentSiderealTime: Apparent sidereal time, the hour angle of the vernal\n equinox, in degrees.\n Equation from Astronomical Algorithms page 88 */\n this.apparentSiderealTime =\n Theta0 +\n (dPsi * 3600 * Math.cos(degreesToRadians(Epsilon0 + dEpsilon))) / 3600;\n }\n}\n","import Astronomical from './Astronomical';\nimport { degreesToRadians, radiansToDegrees } from './MathUtils';\nimport SolarCoordinates from './SolarCoordinates';\n\nexport default class SolarTime {\n constructor(date, coordinates) {\n const julianDay = Astronomical.julianDay(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n 0,\n );\n\n this.observer = coordinates;\n this.solar = new SolarCoordinates(julianDay);\n\n this.prevSolar = new SolarCoordinates(julianDay - 1);\n this.nextSolar = new SolarCoordinates(julianDay + 1);\n\n const m0 = Astronomical.approximateTransit(\n coordinates.longitude,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n );\n const solarAltitude = -50.0 / 60.0;\n\n this.approxTransit = m0;\n\n this.transit = Astronomical.correctedTransit(\n m0,\n coordinates.longitude,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n );\n\n this.sunrise = Astronomical.correctedHourAngle(\n m0,\n solarAltitude,\n coordinates,\n false,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n this.solar.declination,\n this.prevSolar.declination,\n this.nextSolar.declination,\n );\n\n this.sunset = Astronomical.correctedHourAngle(\n m0,\n solarAltitude,\n coordinates,\n true,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n this.solar.declination,\n this.prevSolar.declination,\n this.nextSolar.declination,\n );\n }\n\n hourAngle(angle, afterTransit) {\n return Astronomical.correctedHourAngle(\n this.approxTransit,\n angle,\n this.observer,\n afterTransit,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n this.solar.declination,\n this.prevSolar.declination,\n this.nextSolar.declination,\n );\n }\n\n afternoon(shadowLength) {\n // TODO source shadow angle calculation\n const tangent = Math.abs(this.observer.latitude - this.solar.declination);\n const inverse = shadowLength + Math.tan(degreesToRadians(tangent));\n const angle = radiansToDegrees(Math.atan(1.0 / inverse));\n return this.hourAngle(angle, true);\n }\n}\n","export default class TimeComponents {\n constructor(number) {\n this.hours = Math.floor(number);\n this.minutes = Math.floor((number - this.hours) * 60);\n this.seconds = Math.floor(\n (number - (this.hours + this.minutes / 60)) * 60 * 60,\n );\n return this;\n }\n\n utcDate(year, month, date) {\n return new Date(\n Date.UTC(year, month, date, this.hours, this.minutes, this.seconds),\n );\n }\n}\n","const Prayer = {\n Fajr: 'fajr',\n Sunrise: 'sunrise',\n Dhuhr: 'dhuhr',\n Asr: 'asr',\n Maghrib: 'maghrib',\n Isha: 'isha',\n None: 'none',\n};\n\nexport default Prayer;\n","export const Madhab = {\n Shafi: 'shafi',\n Hanafi: 'hanafi',\n};\n\nexport function shadowLength(madhab) {\n switch (madhab) {\n case Madhab.Shafi:\n return 1;\n case Madhab.Hanafi:\n return 2;\n default:\n throw 'Invalid Madhab';\n }\n}\n","import SolarTime from './SolarTime';\nimport { dateByAddingDays } from './DateUtils';\n\nexport const PolarCircleResolution = {\n AqrabBalad: 'AqrabBalad',\n AqrabYaum: 'AqrabYaum',\n Unresolved: 'Unresolved',\n};\n\nconst LATITUDE_VARIATION_STEP = 0.5; // Degrees to add/remove at each resolution step\nconst UNSAFE_LATITUDE = 65; // Based on https://en.wikipedia.org/wiki/Midnight_sun\n\nconst isValidSolarTime = (solarTime) =>\n solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset);\n\nconst aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => {\n if (daysAdded > Math.ceil(365 / 2)) {\n return null;\n }\n const testDate = new Date(date.getTime());\n testDate.setDate(testDate.getDate() + direction * daysAdded);\n const tomorrow = dateByAddingDays(testDate, 1);\n const solarTime = new SolarTime(testDate, coordinates);\n const tomorrowSolarTime = new SolarTime(tomorrow, coordinates);\n\n if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) {\n return aqrabYaumResolver(\n coordinates,\n date,\n daysAdded + (direction > 0 ? 0 : 1),\n -direction,\n );\n }\n\n return {\n date,\n tomorrow,\n coordinates,\n solarTime,\n tomorrowSolarTime,\n };\n};\n\nconst aqrabBaladResolver = (coordinates, date, latitude) => {\n const solarTime = new SolarTime(date, { ...coordinates, latitude });\n const tomorrow = dateByAddingDays(date, 1);\n const tomorrowSolarTime = new SolarTime(tomorrow, {\n ...coordinates,\n latitude,\n });\n if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) {\n return Math.abs(latitude) >= UNSAFE_LATITUDE\n ? aqrabBaladResolver(\n coordinates,\n date,\n latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP,\n )\n : null;\n }\n\n return {\n date,\n tomorrow,\n coordinates: { latitude, longitude: coordinates.longitude },\n solarTime,\n tomorrowSolarTime,\n };\n};\n\nexport const polarCircleResolvedValues = (resolver, date, coordinates) => {\n const defaultReturn = {\n date,\n tomorrow: dateByAddingDays(date, 1),\n coordinates,\n solarTime: new SolarTime(date, coordinates),\n tomorrowSolarTime: new SolarTime(dateByAddingDays(date, 1), coordinates),\n };\n\n switch (resolver) {\n case PolarCircleResolution.AqrabYaum: {\n return aqrabYaumResolver(coordinates, date) || defaultReturn;\n }\n case PolarCircleResolution.AqrabBalad: {\n const { latitude } = coordinates;\n return (\n aqrabBaladResolver(\n coordinates,\n date,\n latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP,\n ) || defaultReturn\n );\n }\n default: {\n return defaultReturn;\n }\n }\n};\n","import SolarTime from './SolarTime';\nimport TimeComponents from './TimeComponents';\nimport Prayer from './Prayer';\nimport Astronomical from './Astronomical';\nimport {\n dateByAddingDays,\n dateByAddingMinutes,\n dateByAddingSeconds,\n roundedMinute,\n dayOfYear,\n isValidDate,\n} from './DateUtils';\nimport { shadowLength } from './Madhab';\nimport {\n PolarCircleResolution,\n polarCircleResolvedValues,\n} from './PolarCircleResolution';\n\nexport default class PrayerTimes {\n // eslint-disable-next-line complexity\n constructor(coordinates, date, calculationParameters) {\n this.coordinates = coordinates;\n this.date = date;\n this.calculationParameters = calculationParameters;\n\n let solarTime = new SolarTime(date, coordinates);\n\n let fajrTime;\n let sunriseTime;\n let dhuhrTime;\n let asrTime;\n let maghribTime;\n let ishaTime;\n\n let nightFraction;\n\n dhuhrTime = new TimeComponents(solarTime.transit).utcDate(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n );\n sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n );\n let sunsetTime = new TimeComponents(solarTime.sunset).utcDate(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n );\n const tomorrow = dateByAddingDays(date, 1);\n let tomorrowSolarTime = new SolarTime(tomorrow, coordinates);\n\n const polarCircleResolver = calculationParameters.polarCircleResolution;\n if (\n (!isValidDate(sunriseTime) ||\n !isValidDate(sunsetTime) ||\n isNaN(tomorrowSolarTime.sunrise)) &&\n polarCircleResolver !== PolarCircleResolution.Unresolved\n ) {\n const resolved = polarCircleResolvedValues(\n polarCircleResolver,\n date,\n coordinates,\n );\n solarTime = resolved.solarTime;\n tomorrowSolarTime = resolved.tomorrowSolarTime;\n const dateComponents = [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n ];\n\n dhuhrTime = new TimeComponents(solarTime.transit).utcDate(\n ...dateComponents,\n );\n sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(\n ...dateComponents,\n );\n sunsetTime = new TimeComponents(solarTime.sunset).utcDate(\n ...dateComponents,\n );\n }\n\n // eslint-disable-next-line prefer-const\n asrTime = new TimeComponents(\n solarTime.afternoon(shadowLength(calculationParameters.madhab)),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n const tomorrowSunrise = new TimeComponents(\n tomorrowSolarTime.sunrise,\n ).utcDate(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n const night = (tomorrowSunrise - sunsetTime) / 1000;\n\n fajrTime = new TimeComponents(\n solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n // special case for moonsighting committee above latitude 55\n if (\n calculationParameters.method === 'MoonsightingCommittee' &&\n coordinates.latitude >= 55\n ) {\n nightFraction = night / 7;\n fajrTime = dateByAddingSeconds(sunriseTime, -nightFraction);\n }\n\n const safeFajr = (function () {\n if (calculationParameters.method === 'MoonsightingCommittee') {\n return Astronomical.seasonAdjustedMorningTwilight(\n coordinates.latitude,\n dayOfYear(date),\n date.getFullYear(),\n sunriseTime,\n );\n } else {\n const portion = calculationParameters.nightPortions().fajr;\n nightFraction = portion * night;\n return dateByAddingSeconds(sunriseTime, -nightFraction);\n }\n })();\n\n if (fajrTime === null || isNaN(fajrTime.getTime()) || safeFajr > fajrTime) {\n fajrTime = safeFajr;\n }\n\n if (calculationParameters.ishaInterval > 0) {\n ishaTime = dateByAddingMinutes(\n sunsetTime,\n calculationParameters.ishaInterval,\n );\n } else {\n ishaTime = new TimeComponents(\n solarTime.hourAngle(-1 * calculationParameters.ishaAngle, true),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n // special case for moonsighting committee above latitude 55\n if (\n calculationParameters.method === 'MoonsightingCommittee' &&\n coordinates.latitude >= 55\n ) {\n nightFraction = night / 7;\n ishaTime = dateByAddingSeconds(sunsetTime, nightFraction);\n }\n\n const safeIsha = (function () {\n if (calculationParameters.method === 'MoonsightingCommittee') {\n return Astronomical.seasonAdjustedEveningTwilight(\n coordinates.latitude,\n dayOfYear(date),\n date.getFullYear(),\n sunsetTime,\n calculationParameters.shafaq,\n );\n } else {\n const portion = calculationParameters.nightPortions().isha;\n nightFraction = portion * night;\n return dateByAddingSeconds(sunsetTime, nightFraction);\n }\n })();\n\n if (\n ishaTime == null ||\n isNaN(ishaTime.getTime()) ||\n safeIsha < ishaTime\n ) {\n ishaTime = safeIsha;\n }\n }\n\n maghribTime = sunsetTime;\n if (calculationParameters.maghribAngle) {\n const angleBasedMaghrib = new TimeComponents(\n solarTime.hourAngle(-1 * calculationParameters.maghribAngle, true),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n if (sunsetTime < angleBasedMaghrib && ishaTime > angleBasedMaghrib) {\n maghribTime = angleBasedMaghrib;\n }\n }\n\n const fajrAdjustment =\n (calculationParameters.adjustments.fajr || 0) +\n (calculationParameters.methodAdjustments.fajr || 0);\n const sunriseAdjustment =\n (calculationParameters.adjustments.sunrise || 0) +\n (calculationParameters.methodAdjustments.sunrise || 0);\n const dhuhrAdjustment =\n (calculationParameters.adjustments.dhuhr || 0) +\n (calculationParameters.methodAdjustments.dhuhr || 0);\n const asrAdjustment =\n (calculationParameters.adjustments.asr || 0) +\n (calculationParameters.methodAdjustments.asr || 0);\n const maghribAdjustment =\n (calculationParameters.adjustments.maghrib || 0) +\n (calculationParameters.methodAdjustments.maghrib || 0);\n const ishaAdjustment =\n (calculationParameters.adjustments.isha || 0) +\n (calculationParameters.methodAdjustments.isha || 0);\n\n this.fajr = roundedMinute(\n dateByAddingMinutes(fajrTime, fajrAdjustment),\n calculationParameters.rounding,\n );\n this.sunrise = roundedMinute(\n dateByAddingMinutes(sunriseTime, sunriseAdjustment),\n calculationParameters.rounding,\n );\n this.dhuhr = roundedMinute(\n dateByAddingMinutes(dhuhrTime, dhuhrAdjustment),\n calculationParameters.rounding,\n );\n this.asr = roundedMinute(\n dateByAddingMinutes(asrTime, asrAdjustment),\n calculationParameters.rounding,\n );\n this.maghrib = roundedMinute(\n dateByAddingMinutes(maghribTime, maghribAdjustment),\n calculationParameters.rounding,\n );\n this.isha = roundedMinute(\n dateByAddingMinutes(ishaTime, ishaAdjustment),\n calculationParameters.rounding,\n );\n }\n\n timeForPrayer(prayer) {\n if (prayer === Prayer.Fajr) {\n return this.fajr;\n } else if (prayer === Prayer.Sunrise) {\n return this.sunrise;\n } else if (prayer === Prayer.Dhuhr) {\n return this.dhuhr;\n } else if (prayer === Prayer.Asr) {\n return this.asr;\n } else if (prayer === Prayer.Maghrib) {\n return this.maghrib;\n } else if (prayer === Prayer.Isha) {\n return this.isha;\n } else {\n return null;\n }\n }\n\n currentPrayer(date) {\n if (typeof date === 'undefined') {\n date = new Date();\n }\n if (date >= this.isha) {\n return Prayer.Isha;\n } else if (date >= this.maghrib) {\n return Prayer.Maghrib;\n } else if (date >= this.asr) {\n return Prayer.Asr;\n } else if (date >= this.dhuhr) {\n return Prayer.Dhuhr;\n } else if (date >= this.sunrise) {\n return Prayer.Sunrise;\n } else if (date >= this.fajr) {\n return Prayer.Fajr;\n } else {\n return Prayer.None;\n }\n }\n\n nextPrayer(date) {\n if (typeof date === 'undefined') {\n date = new Date();\n }\n if (date >= this.isha) {\n return Prayer.None;\n } else if (date >= this.maghrib) {\n return Prayer.Isha;\n } else if (date >= this.asr) {\n return Prayer.Maghrib;\n } else if (date >= this.dhuhr) {\n return Prayer.Asr;\n } else if (date >= this.sunrise) {\n return Prayer.Dhuhr;\n } else if (date >= this.fajr) {\n return Prayer.Sunrise;\n } else {\n return Prayer.Fajr;\n }\n }\n}\n","const HighLatitudeRule = {\n MiddleOfTheNight: 'middleofthenight',\n SeventhOfTheNight: 'seventhofthenight',\n TwilightAngle: 'twilightangle',\n\n recommended(coordinates) {\n if (coordinates.latitude > 48) {\n return HighLatitudeRule.SeventhOfTheNight;\n } else {\n return HighLatitudeRule.MiddleOfTheNight;\n }\n },\n};\n\nexport default HighLatitudeRule;\n","import { Madhab } from './Madhab';\nimport HighLatitudeRule from './HighLatitudeRule';\nimport { PolarCircleResolution } from './PolarCircleResolution';\nimport { Rounding } from './Rounding';\nimport { Shafaq } from './Shafaq';\n\nexport default class CalculationParameters {\n constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) {\n // Name of the method, can be used to apply special behavior in calculations.\n // This property should not be manually modified.\n this.method = methodName || 'Other';\n\n // Angle of the sun below the horizon used for calculating Fajr.\n this.fajrAngle = fajrAngle || 0;\n\n // Angle of the sun below the horizon used for calculating Isha.\n this.ishaAngle = ishaAngle || 0;\n\n // Minutes after Maghrib to determine time for Isha\n // if this value is greater than 0 then ishaAngle is not used.\n this.ishaInterval = ishaInterval || 0;\n\n // Angle of the sun below the horizon used for calculating Maghrib.\n // Only used by the Tehran method to account for lightness in the sky.\n this.maghribAngle = maghribAngle;\n\n // Madhab to determine how Asr is calculated.\n this.madhab = Madhab.Shafi;\n\n // Rule to determine the earliest time for Fajr and latest time for Isha\n // needed for high latitude locations where Fajr and Isha may not truly exist\n // or may present a hardship unless bound to a reasonable time.\n this.highLatitudeRule = HighLatitudeRule.MiddleOfTheNight;\n\n // Manual adjustments (in minutes) to be added to each prayer time.\n this.adjustments = {\n fajr: 0,\n sunrise: 0,\n dhuhr: 0,\n asr: 0,\n maghrib: 0,\n isha: 0,\n };\n\n // Adjustments set by a calculation method. This value should not be manually modified.\n this.methodAdjustments = {\n fajr: 0,\n sunrise: 0,\n dhuhr: 0,\n asr: 0,\n maghrib: 0,\n isha: 0,\n };\n\n // Rule to determine how to resolve prayer times inside the Polar Circle\n // where daylight or night may persist for more than 24 hours depending\n // on the season\n this.polarCircleResolution = PolarCircleResolution.Unresolved;\n\n // How seconds are rounded when calculating prayer times\n this.rounding = Rounding.Nearest;\n\n // Used by the MoonsightingCommittee method to determine how to calculate Isha\n this.shafaq = Shafaq.General;\n }\n\n nightPortions() {\n switch (this.highLatitudeRule) {\n case HighLatitudeRule.MiddleOfTheNight:\n return { fajr: 1 / 2, isha: 1 / 2 };\n case HighLatitudeRule.SeventhOfTheNight:\n return { fajr: 1 / 7, isha: 1 / 7 };\n case HighLatitudeRule.TwilightAngle:\n return { fajr: this.fajrAngle / 60, isha: this.ishaAngle / 60 };\n default:\n throw `Invalid high latitude rule found when attempting to compute night portions: ${this.highLatitudeRule}`;\n }\n }\n}\n","import CalculationParameters from './CalculationParameters';\nimport { Rounding } from './Rounding';\n\nconst CalculationMethod = {\n // Muslim World League\n MuslimWorldLeague() {\n const params = new CalculationParameters('MuslimWorldLeague', 18, 17);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Egyptian General Authority of Survey\n Egyptian() {\n const params = new CalculationParameters('Egyptian', 19.5, 17.5);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // University of Islamic Sciences, Karachi\n Karachi() {\n const params = new CalculationParameters('Karachi', 18, 18);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Umm al-Qura University, Makkah\n UmmAlQura() {\n return new CalculationParameters('UmmAlQura', 18.5, 0, 90);\n },\n\n // Dubai\n Dubai() {\n const params = new CalculationParameters('Dubai', 18.2, 18.2);\n params.methodAdjustments = { sunrise: -3, dhuhr: 3, asr: 3, maghrib: 3 };\n return params;\n },\n\n // Moonsighting Committee\n MoonsightingCommittee() {\n const params = new CalculationParameters('MoonsightingCommittee', 18, 18);\n params.methodAdjustments = { dhuhr: 5, maghrib: 3 };\n return params;\n },\n\n // ISNA\n NorthAmerica() {\n const params = new CalculationParameters('NorthAmerica', 15, 15);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Kuwait\n Kuwait() {\n return new CalculationParameters('Kuwait', 18, 17.5);\n },\n\n // Qatar\n Qatar() {\n return new CalculationParameters('Qatar', 18, 0, 90);\n },\n\n // Singapore\n Singapore() {\n const params = new CalculationParameters('Singapore', 20, 18);\n params.methodAdjustments = { dhuhr: 1 };\n params.rounding = Rounding.Up;\n return params;\n },\n\n // Institute of Geophysics, University of Tehran\n Tehran() {\n const params = new CalculationParameters('Tehran', 17.7, 14, 0, 4.5);\n return params;\n },\n\n // Dianet\n Turkey() {\n const params = new CalculationParameters('Turkey', 18, 17);\n params.methodAdjustments = { sunrise: -7, dhuhr: 5, asr: 4, maghrib: 7 };\n return params;\n },\n\n // Other\n Other() {\n return new CalculationParameters('Other', 0, 0);\n },\n};\n\nexport default CalculationMethod;\n","import Coordinates from './Coordinates';\nimport { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils';\n\nexport default function qibla(coordinates) {\n const makkah = new Coordinates(21.4225241, 39.8261818);\n\n // Equation from \"Spherical Trigonometry For the use of colleges and schools\" page 50\n const term1 = Math.sin(\n degreesToRadians(makkah.longitude) -\n degreesToRadians(coordinates.longitude),\n );\n const term2 =\n Math.cos(degreesToRadians(coordinates.latitude)) *\n Math.tan(degreesToRadians(makkah.latitude));\n const term3 =\n Math.sin(degreesToRadians(coordinates.latitude)) *\n Math.cos(\n degreesToRadians(makkah.longitude) -\n degreesToRadians(coordinates.longitude),\n );\n const angle = Math.atan2(term1, term2 - term3);\n\n return unwindAngle(radiansToDegrees(angle));\n}\n","import {\n dateByAddingDays,\n dateByAddingSeconds,\n roundedMinute,\n} from './DateUtils';\nimport PrayerTimes from './PrayerTimes';\n\nexport default class SunnahTimes {\n constructor(prayerTimes) {\n const date = prayerTimes.date;\n const nextDay = dateByAddingDays(date, 1);\n const nextDayPrayerTimes = new PrayerTimes(\n prayerTimes.coordinates,\n nextDay,\n prayerTimes.calculationParameters,\n );\n\n const nightDuration =\n (nextDayPrayerTimes.fajr.getTime() - prayerTimes.maghrib.getTime()) /\n 1000.0;\n\n this.middleOfTheNight = roundedMinute(\n dateByAddingSeconds(prayerTimes.maghrib, nightDuration / 2),\n );\n this.lastThirdOfTheNight = roundedMinute(\n dateByAddingSeconds(prayerTimes.maghrib, nightDuration * (2 / 3)),\n );\n }\n}\n","import Coordinates from './Coordinates';\nimport PrayerTimes from './PrayerTimes';\nimport Prayer from './Prayer';\nimport { Madhab } from './Madhab';\nimport HighLatitudeRule from './HighLatitudeRule';\nimport CalculationMethod from './CalculationMethod';\nimport CalculationParameters from './CalculationParameters';\nimport Qibla from './Qibla';\nimport SunnahTimes from './SunnahTimes';\nimport { PolarCircleResolution } from './PolarCircleResolution';\nimport { Rounding } from './Rounding';\nimport { Shafaq } from './Shafaq';\n\nconst adhan = {\n Prayer,\n Madhab,\n HighLatitudeRule,\n Coordinates,\n CalculationParameters,\n CalculationMethod,\n PrayerTimes,\n SunnahTimes,\n Qibla,\n PolarCircleResolution,\n Rounding,\n Shafaq,\n};\n\nexport default adhan;\n"],"sourceRoot":""} \ No newline at end of file From 2c7f475d2b9e0db7d3adeb04ecc52ee2d70e33b9 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Fri, 15 Apr 2022 18:03:04 +0000 Subject: [PATCH 04/20] chore: add pretty-quick as pre-commit hook --- .husky/pre-commit | 4 + .prettierignore | 2 + package-lock.json | 348 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 4 files changed, 355 insertions(+) create mode 100755 .husky/pre-commit create mode 100644 .prettierignore diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..35d6918 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx pretty-quick --staged diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..0ac487a --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +/Adhan.js +/Adhan.js.map diff --git a/package-lock.json b/package-lock.json index d0882de..5a3328e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "moment-timezone": "^0.5.28", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", + "pretty-quick": "^3.1.3", "semantic-release": "^17.4.0", "webpack": "^4.42.1", "webpack-cli": "^3.3.11" @@ -3128,6 +3129,12 @@ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, "node_modules/@types/minimist": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", @@ -3705,6 +3712,15 @@ "node": ">=0.10.0" } }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", @@ -11616,12 +11632,46 @@ "rimraf": "bin.js" } }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/multimatch/node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -15580,6 +15630,157 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/pretty-quick": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz", + "integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "execa": "^4.0.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.5", + "multimatch": "^4.0.0" + }, + "bin": { + "pretty-quick": "bin/pretty-quick.js" + }, + "engines": { + "node": ">=10.13" + }, + "peerDependencies": { + "prettier": ">=2.0.0" + } + }, + "node_modules/pretty-quick/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-quick/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/pretty-quick/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/pretty-quick/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, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/pretty-quick/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, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick/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, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -22628,6 +22829,12 @@ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, "@types/minimist": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", @@ -23106,6 +23313,12 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", @@ -29245,12 +29458,39 @@ } } }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + } + } + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -32157,6 +32397,114 @@ } } }, + "pretty-quick": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz", + "integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "execa": "^4.0.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.5", + "multimatch": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "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", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", diff --git a/package.json b/package.json index eaf7587..013bdd1 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "moment-timezone": "^0.5.28", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", + "pretty-quick": "^3.1.3", "semantic-release": "^17.4.0", "webpack": "^4.42.1", "webpack-cli": "^3.3.11" From 26bbd6e65d55b4c7d3bbb89e1cf017377c120939 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Fri, 15 Apr 2022 18:14:30 +0000 Subject: [PATCH 05/20] chore: format definition file --- Adhan.d.ts | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Adhan.d.ts b/Adhan.d.ts index 4aa6a95..240f7cd 100644 --- a/Adhan.d.ts +++ b/Adhan.d.ts @@ -1,7 +1,11 @@ export as namespace adhan; export class PrayerTimes { - constructor(coordinates: Coordinates, date: Date, params: CalculationParameters); + constructor( + coordinates: Coordinates, + date: Date, + params: CalculationParameters, + ); fajr: Date; sunrise: Date; @@ -16,7 +20,13 @@ export class PrayerTimes { } export class CalculationParameters { - constructor(methodName: string|undefined|null, fajrAngle: number, ishaAngle: number, ishaInterval?: number, maghribAngle?: number) + constructor( + methodName: string | undefined | null, + fajrAngle: number, + ishaAngle: number, + ishaInterval?: number, + maghribAngle?: number, + ); /** * Name of the method, can be used to apply special behavior in calculations. @@ -113,20 +123,20 @@ export class Coordinates { export class SunnahTimes { constructor(prayerTimes: PrayerTimes); - + middleOfTheNight: Date; lastThirdOfTheNight: Date; } export enum Madhab { Shafi, - Hanafi + Hanafi, } export enum Rounding { Nearest, Up, - None + None, } export enum Prayer { @@ -136,13 +146,13 @@ export enum Prayer { Asr, Maghrib, Isha, - None + None, } export enum HighLatitudeRule { MiddleOfTheNight, SeventhOfTheNight, - TwilightAngle + TwilightAngle, } export namespace HighLatitudeRule { @@ -168,13 +178,13 @@ export enum Shafaq { /** * Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab. */ - Abyad + Abyad, } export enum PolarCircleResolution { AqrabBalad, AqrabYaum, - Unresolved + Unresolved, } export function Qibla(coordinates: Coordinates): number; From ee6fc0ccc82f07552765a9ed00e7165fbad01399 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Fri, 15 Apr 2022 18:54:16 +0000 Subject: [PATCH 06/20] chore: add Shared to prettierignore --- .prettierignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.prettierignore b/.prettierignore index 0ac487a..fdc6cf6 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,2 +1,3 @@ /Adhan.js /Adhan.js.map +/Shared \ No newline at end of file From ea55695d9b3ced41e0bbf243a9838934d79c5f9e Mon Sep 17 00:00:00 2001 From: Matthew Crenshaw Date: Sat, 16 Apr 2022 14:57:56 -0400 Subject: [PATCH 07/20] build: now producing bundles via rollup fix #88 --- .eslintignore | 2 + .eslintrc.js | 9 +- .github/workflows/node.js.yml | 11 +- .gitignore | 1 + .npmignore | 16 +- .prettierignore | 3 +- Adhan.js | 1205 -- Adhan.js.map | 1 - babel.config.js | 46 +- jest.config.js | 7 +- package-lock.json | 24087 +++++++++++--------------------- package.json | 68 +- rollup.config.js | 44 + scripts/ci-build-check.sh | 10 - test/adhan.test.js | 14 +- test/dist.test.js | 9 +- webpack.config.js | 28 - 17 files changed, 8467 insertions(+), 17094 deletions(-) create mode 100644 .eslintignore delete mode 100644 Adhan.js delete mode 100644 Adhan.js.map create mode 100644 rollup.config.js delete mode 100755 scripts/ci-build-check.sh delete mode 100644 webpack.config.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..48a2122 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +/lib +/Shared \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index cfcb42d..697d2bf 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,7 +4,12 @@ module.exports = { sourceType: 'module', }, - extends: ['eslint:recommended', 'plugin:jest/recommended'], + extends: [ + 'eslint:recommended', + 'plugin:jest/recommended', + 'plugin:jest/style', + 'plugin:prettier/recommended', + ], env: { node: true, @@ -21,4 +26,6 @@ module.exports = { 'prefer-const': 'error', 'object-shorthand': 'error', }, + + plugins: ['jest'], }; diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 06c231f..6dc2b5a 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - node-version: [10.x, 12.x, 14.x, 15.x] + node-version: [12.x, 14.x, 16.x, 17.x] steps: - uses: actions/checkout@v2 @@ -28,9 +28,6 @@ jobs: - run: npm install -g npm@7 # update to npm 7 - run: npm ci # equivalent of npm ci - run: npm run build - - run: ./scripts/ci-build-check.sh - env: - CI: true # testing job test: @@ -39,7 +36,7 @@ jobs: strategy: matrix: - node-version: [10.x, 12.x, 14.x, 15.x] + node-version: [12.x, 14.x, 16.x, 17.x] steps: - uses: actions/checkout@v2 - name: Testing on node ${{ matrix.node-version }} ๐Ÿงช @@ -48,6 +45,7 @@ jobs: node-version: ${{ matrix.node-version }} - run: npm install -g npm@7 # update to npm 7 - run: npm ci + - run: npm run lint - run: npm test # coverage uploading job @@ -64,6 +62,7 @@ jobs: node-version: 14.x - run: npm install -g npm@7 # update to npm 7 - run: npm ci + - run: npm run lint - run: npm test - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 @@ -88,7 +87,7 @@ jobs: - uses: actions/setup-node@v1 with: # latest nodejs LTS - node-version: 14.x + node-version: 16.x - run: npm install -g npm@7 # update to npm 7 - run: npm ci - name: Preparing a release for npm and github ๐Ÿš€ diff --git a/.gitignore b/.gitignore index cbe7a32..d4c7567 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ coverage/ .idea .vscode/ .env +lib/ \ No newline at end of file diff --git a/.npmignore b/.npmignore index d6d36b3..3d8eabd 100644 --- a/.npmignore +++ b/.npmignore @@ -1,8 +1,14 @@ -test/ +.github/ +.husky/ +coverage/ +scripts/ Shared/ +src/ +test/ coverage/ +*.config.js +.nvmrc +.eslint* +.prettier* +.releaserc.json example.html -.travis.yml -jest.config.js -babel.config.js -webpack.config.js diff --git a/.prettierignore b/.prettierignore index fdc6cf6..48a2122 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,2 @@ -/Adhan.js -/Adhan.js.map +/lib /Shared \ No newline at end of file diff --git a/Adhan.js b/Adhan.js deleted file mode 100644 index 2ca7f24..0000000 --- a/Adhan.js +++ /dev/null @@ -1,1205 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["adhan"] = factory(); - else - root["adhan"] = factory(); -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// CONCATENATED MODULE: ./src/Coordinates.js -class Coordinates { - constructor(latitude, longitude) { - this.latitude = latitude; - this.longitude = longitude; - } - -} -// CONCATENATED MODULE: ./src/Rounding.js -const Rounding = { - Nearest: 'nearest', - Up: 'up', - None: 'none' -}; -// CONCATENATED MODULE: ./src/DateUtils.js - - -function dateByAddingDays(date, days) { - const year = date.getFullYear(); - const month = date.getMonth(); - const day = date.getDate() + days; - const hours = date.getHours(); - const minutes = date.getMinutes(); - const seconds = date.getSeconds(); - return new Date(year, month, day, hours, minutes, seconds); -} -function dateByAddingMinutes(date, minutes) { - return dateByAddingSeconds(date, minutes * 60); -} -function dateByAddingSeconds(date, seconds) { - return new Date(date.getTime() + seconds * 1000); -} -function roundedMinute(date, rounding = Rounding.Nearest) { - const seconds = date.getUTCSeconds(); - let offset = seconds >= 30 ? 60 - seconds : -1 * seconds; - - if (rounding === Rounding.Up) { - offset = 60 - seconds; - } else if (rounding === Rounding.None) { - offset = 0; - } - - return dateByAddingSeconds(date, offset); -} -function DateUtils_dayOfYear(date) { - let returnedDayOfYear = 0; - const feb = src_Astronomical.isLeapYear(date.getFullYear()) ? 29 : 28; - const months = [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; - - for (let i = 0; i < date.getMonth(); i++) { - returnedDayOfYear += months[i]; - } - - returnedDayOfYear += date.getDate(); - return returnedDayOfYear; -} -function isValidDate(date) { - return date instanceof Date && !isNaN(date.valueOf()); -} -// CONCATENATED MODULE: ./src/MathUtils.js -function degreesToRadians(degrees) { - return degrees * Math.PI / 180.0; -} -function radiansToDegrees(radians) { - return radians * 180.0 / Math.PI; -} -function normalizeToScale(number, max) { - return number - max * Math.floor(number / max); -} -function unwindAngle(angle) { - return normalizeToScale(angle, 360.0); -} -function quadrantShiftAngle(angle) { - if (angle >= -180 && angle <= 180) { - return angle; - } - - return angle - 360 * Math.round(angle / 360); -} -// CONCATENATED MODULE: ./src/Shafaq.js -// Shafaq is the twilight in the sky. Different madhabs define the appearance of -// twilight differently. These values are used by the MoonsightingComittee method -// for the different ways to calculate Isha. -const Shafaq = { - // General is a combination of Ahmer and Abyad. - General: 'general', - // Ahmer means the twilight is the red glow in the sky. Used by the Shafi, Maliki, and Hanbali madhabs. - Ahmer: 'ahmer', - // Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab. - Abyad: 'abyad' -}; -// CONCATENATED MODULE: ./src/Astronomical.js -/* eslint-disable max-params, max-lines */ - - - -const Astronomical = { - /* The geometric mean longitude of the sun in degrees. */ - meanSolarLongitude(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 163 */ - - const term1 = 280.4664567; - const term2 = 36000.76983 * T; - const term3 = 0.0003032 * Math.pow(T, 2); - const L0 = term1 + term2 + term3; - return unwindAngle(L0); - }, - - /* The geometric mean longitude of the moon in degrees. */ - meanLunarLongitude(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 144 */ - - const term1 = 218.3165; - const term2 = 481267.8813 * T; - const Lp = term1 + term2; - return unwindAngle(Lp); - }, - - ascendingLunarNodeLongitude(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 144 */ - - const term1 = 125.04452; - const term2 = 1934.136261 * T; - const term3 = 0.0020708 * Math.pow(T, 2); - const term4 = Math.pow(T, 3) / 450000; - const Omega = term1 - term2 + term3 + term4; - return unwindAngle(Omega); - }, - - /* The mean anomaly of the sun. */ - meanSolarAnomaly(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 163 */ - - const term1 = 357.52911; - const term2 = 35999.05029 * T; - const term3 = 0.0001537 * Math.pow(T, 2); - const M = term1 + term2 - term3; - return unwindAngle(M); - }, - - /* The Sun's equation of the center in degrees. */ - solarEquationOfTheCenter(julianCentury, meanAnomaly) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 164 */ - - const Mrad = degreesToRadians(meanAnomaly); - const term1 = (1.914602 - 0.004817 * T - 0.000014 * Math.pow(T, 2)) * Math.sin(Mrad); - const term2 = (0.019993 - 0.000101 * T) * Math.sin(2 * Mrad); - const term3 = 0.000289 * Math.sin(3 * Mrad); - return term1 + term2 + term3; - }, - - /* The apparent longitude of the Sun, referred to the - true equinox of the date. */ - apparentSolarLongitude(julianCentury, meanLongitude) { - const T = julianCentury; - const L0 = meanLongitude; - /* Equation from Astronomical Algorithms page 164 */ - - const longitude = L0 + Astronomical.solarEquationOfTheCenter(T, Astronomical.meanSolarAnomaly(T)); - const Omega = 125.04 - 1934.136 * T; - const Lambda = longitude - 0.00569 - 0.00478 * Math.sin(degreesToRadians(Omega)); - return unwindAngle(Lambda); - }, - - /* The mean obliquity of the ecliptic, formula - adopted by the International Astronomical Union. - Represented in degrees. */ - meanObliquityOfTheEcliptic(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 147 */ - - const term1 = 23.439291; - const term2 = 0.013004167 * T; - const term3 = 0.0000001639 * Math.pow(T, 2); - const term4 = 0.0000005036 * Math.pow(T, 3); - return term1 - term2 - term3 + term4; - }, - - /* The mean obliquity of the ecliptic, corrected for - calculating the apparent position of the sun, in degrees. */ - apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) { - const T = julianCentury; - const Epsilon0 = meanObliquityOfTheEcliptic; - /* Equation from Astronomical Algorithms page 165 */ - - const O = 125.04 - 1934.136 * T; - return Epsilon0 + 0.00256 * Math.cos(degreesToRadians(O)); - }, - - /* Mean sidereal time, the hour angle of the vernal equinox, in degrees. */ - meanSiderealTime(julianCentury) { - const T = julianCentury; - /* Equation from Astronomical Algorithms page 165 */ - - const JD = T * 36525 + 2451545.0; - const term1 = 280.46061837; - const term2 = 360.98564736629 * (JD - 2451545); - const term3 = 0.000387933 * Math.pow(T, 2); - const term4 = Math.pow(T, 3) / 38710000; - const Theta = term1 + term2 + term3 - term4; - return unwindAngle(Theta); - }, - - nutationInLongitude(julianCentury, solarLongitude, lunarLongitude, ascendingNode) { - const L0 = solarLongitude; - const Lp = lunarLongitude; - const Omega = ascendingNode; - /* Equation from Astronomical Algorithms page 144 */ - - const term1 = -17.2 / 3600 * Math.sin(degreesToRadians(Omega)); - const term2 = 1.32 / 3600 * Math.sin(2 * degreesToRadians(L0)); - const term3 = 0.23 / 3600 * Math.sin(2 * degreesToRadians(Lp)); - const term4 = 0.21 / 3600 * Math.sin(2 * degreesToRadians(Omega)); - return term1 - term2 - term3 + term4; - }, - - nutationInObliquity(julianCentury, solarLongitude, lunarLongitude, ascendingNode) { - const L0 = solarLongitude; - const Lp = lunarLongitude; - const Omega = ascendingNode; - /* Equation from Astronomical Algorithms page 144 */ - - const term1 = 9.2 / 3600 * Math.cos(degreesToRadians(Omega)); - const term2 = 0.57 / 3600 * Math.cos(2 * degreesToRadians(L0)); - const term3 = 0.1 / 3600 * Math.cos(2 * degreesToRadians(Lp)); - const term4 = 0.09 / 3600 * Math.cos(2 * degreesToRadians(Omega)); - return term1 + term2 + term3 - term4; - }, - - altitudeOfCelestialBody(observerLatitude, declination, localHourAngle) { - const Phi = observerLatitude; - const delta = declination; - const H = localHourAngle; - /* Equation from Astronomical Algorithms page 93 */ - - const term1 = Math.sin(degreesToRadians(Phi)) * Math.sin(degreesToRadians(delta)); - const term2 = Math.cos(degreesToRadians(Phi)) * Math.cos(degreesToRadians(delta)) * Math.cos(degreesToRadians(H)); - return radiansToDegrees(Math.asin(term1 + term2)); - }, - - approximateTransit(longitude, siderealTime, rightAscension) { - const L = longitude; - const Theta0 = siderealTime; - const a2 = rightAscension; - /* Equation from page Astronomical Algorithms 102 */ - - const Lw = L * -1; - return normalizeToScale((a2 + Lw - Theta0) / 360, 1); - }, - - /* The time at which the sun is at its highest point in the sky (in universal time) */ - correctedTransit(approximateTransit, longitude, siderealTime, rightAscension, previousRightAscension, nextRightAscension) { - const m0 = approximateTransit; - const L = longitude; - const Theta0 = siderealTime; - const a2 = rightAscension; - const a1 = previousRightAscension; - const a3 = nextRightAscension; - /* Equation from page Astronomical Algorithms 102 */ - - const Lw = L * -1; - const Theta = unwindAngle(Theta0 + 360.985647 * m0); - const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m0)); - const H = quadrantShiftAngle(Theta - Lw - a); - const dm = H / -360; - return (m0 + dm) * 24; - }, - - correctedHourAngle(approximateTransit, angle, coordinates, afterTransit, siderealTime, rightAscension, previousRightAscension, nextRightAscension, declination, previousDeclination, nextDeclination) { - const m0 = approximateTransit; - const h0 = angle; - const Theta0 = siderealTime; - const a2 = rightAscension; - const a1 = previousRightAscension; - const a3 = nextRightAscension; - const d2 = declination; - const d1 = previousDeclination; - const d3 = nextDeclination; - /* Equation from page Astronomical Algorithms 102 */ - - const Lw = coordinates.longitude * -1; - const term1 = Math.sin(degreesToRadians(h0)) - Math.sin(degreesToRadians(coordinates.latitude)) * Math.sin(degreesToRadians(d2)); - const term2 = Math.cos(degreesToRadians(coordinates.latitude)) * Math.cos(degreesToRadians(d2)); - const H0 = radiansToDegrees(Math.acos(term1 / term2)); - const m = afterTransit ? m0 + H0 / 360 : m0 - H0 / 360; - const Theta = unwindAngle(Theta0 + 360.985647 * m); - const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m)); - const delta = Astronomical.interpolate(d2, d1, d3, m); - const H = Theta - Lw - a; - const h = Astronomical.altitudeOfCelestialBody(coordinates.latitude, delta, H); - const term3 = h - h0; - const term4 = 360 * Math.cos(degreesToRadians(delta)) * Math.cos(degreesToRadians(coordinates.latitude)) * Math.sin(degreesToRadians(H)); - const dm = term3 / term4; - return (m + dm) * 24; - }, - - /* Interpolation of a value given equidistant - previous and next values and a factor - equal to the fraction of the interpolated - point's time over the time between values. */ - interpolate(y2, y1, y3, n) { - /* Equation from Astronomical Algorithms page 24 */ - const a = y2 - y1; - const b = y3 - y2; - const c = b - a; - return y2 + n / 2 * (a + b + n * c); - }, - - /* Interpolation of three angles, accounting for - angle unwinding. */ - interpolateAngles(y2, y1, y3, n) { - /* Equation from Astronomical Algorithms page 24 */ - const a = unwindAngle(y2 - y1); - const b = unwindAngle(y3 - y2); - const c = b - a; - return y2 + n / 2 * (a + b + n * c); - }, - - /* The Julian Day for the given Gregorian date components. */ - julianDay(year, month, day, hours) { - /* Equation from Astronomical Algorithms page 60 */ - if (typeof hours === 'undefined') { - hours = 0; - } - - const trunc = Math.trunc || function (x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); - }; - - const Y = trunc(month > 2 ? year : year - 1); - const M = trunc(month > 2 ? month : month + 12); - const D = day + hours / 24; - const A = trunc(Y / 100); - const B = trunc(2 - A + trunc(A / 4)); - const i0 = trunc(365.25 * (Y + 4716)); - const i1 = trunc(30.6001 * (M + 1)); - return i0 + i1 + D + B - 1524.5; - }, - - /* Julian century from the epoch. */ - julianCentury(julianDay) { - /* Equation from Astronomical Algorithms page 163 */ - return (julianDay - 2451545.0) / 36525; - }, - - /* Whether or not a year is a leap year (has 366 days). */ - isLeapYear(year) { - if (year % 4 !== 0) { - return false; - } - - if (year % 100 === 0 && year % 400 !== 0) { - return false; - } - - return true; - }, - - seasonAdjustedMorningTwilight(latitude, dayOfYear, year, sunrise) { - const a = 75 + 28.65 / 55.0 * Math.abs(latitude); - const b = 75 + 19.44 / 55.0 * Math.abs(latitude); - const c = 75 + 32.74 / 55.0 * Math.abs(latitude); - const d = 75 + 48.1 / 55.0 * Math.abs(latitude); - - const adjustment = function () { - const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude); - - if (dyy < 91) { - return a + (b - a) / 91.0 * dyy; - } else if (dyy < 137) { - return b + (c - b) / 46.0 * (dyy - 91); - } else if (dyy < 183) { - return c + (d - c) / 46.0 * (dyy - 137); - } else if (dyy < 229) { - return d + (c - d) / 46.0 * (dyy - 183); - } else if (dyy < 275) { - return c + (b - c) / 46.0 * (dyy - 229); - } else { - return b + (a - b) / 91.0 * (dyy - 275); - } - }(); - - return dateByAddingSeconds(sunrise, Math.round(adjustment * -60.0)); - }, - - seasonAdjustedEveningTwilight(latitude, dayOfYear, year, sunset, shafaq) { - let a, b, c, d; - - if (shafaq === Shafaq.Ahmer) { - a = 62 + 17.4 / 55.0 * Math.abs(latitude); - b = 62 - 7.16 / 55.0 * Math.abs(latitude); - c = 62 + 5.12 / 55.0 * Math.abs(latitude); - d = 62 + 19.44 / 55.0 * Math.abs(latitude); - } else if (shafaq === Shafaq.Abyad) { - a = 75 + 25.6 / 55.0 * Math.abs(latitude); - b = 75 + 7.16 / 55.0 * Math.abs(latitude); - c = 75 + 36.84 / 55.0 * Math.abs(latitude); - d = 75 + 81.84 / 55.0 * Math.abs(latitude); - } else { - a = 75 + 25.6 / 55.0 * Math.abs(latitude); - b = 75 + 2.05 / 55.0 * Math.abs(latitude); - c = 75 - 9.21 / 55.0 * Math.abs(latitude); - d = 75 + 6.14 / 55.0 * Math.abs(latitude); - } - - const adjustment = function () { - const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude); - - if (dyy < 91) { - return a + (b - a) / 91.0 * dyy; - } else if (dyy < 137) { - return b + (c - b) / 46.0 * (dyy - 91); - } else if (dyy < 183) { - return c + (d - c) / 46.0 * (dyy - 137); - } else if (dyy < 229) { - return d + (c - d) / 46.0 * (dyy - 183); - } else if (dyy < 275) { - return c + (b - c) / 46.0 * (dyy - 229); - } else { - return b + (a - b) / 91.0 * (dyy - 275); - } - }(); - - return dateByAddingSeconds(sunset, Math.round(adjustment * 60.0)); - }, - - daysSinceSolstice(dayOfYear, year, latitude) { - let daysSinceSolstice = 0; - const northernOffset = 10; - const southernOffset = Astronomical.isLeapYear(year) ? 173 : 172; - const daysInYear = Astronomical.isLeapYear(year) ? 366 : 365; - - if (latitude >= 0) { - daysSinceSolstice = dayOfYear + northernOffset; - - if (daysSinceSolstice >= daysInYear) { - daysSinceSolstice = daysSinceSolstice - daysInYear; - } - } else { - daysSinceSolstice = dayOfYear - southernOffset; - - if (daysSinceSolstice < 0) { - daysSinceSolstice = daysSinceSolstice + daysInYear; - } - } - - return daysSinceSolstice; - } - -}; -/* harmony default export */ var src_Astronomical = (Astronomical); -// CONCATENATED MODULE: ./src/SolarCoordinates.js - - -class SolarCoordinates_SolarCoordinates { - constructor(julianDay) { - const T = src_Astronomical.julianCentury(julianDay); - const L0 = src_Astronomical.meanSolarLongitude(T); - const Lp = src_Astronomical.meanLunarLongitude(T); - const Omega = src_Astronomical.ascendingLunarNodeLongitude(T); - const Lambda = degreesToRadians(src_Astronomical.apparentSolarLongitude(T, L0)); - const Theta0 = src_Astronomical.meanSiderealTime(T); - const dPsi = src_Astronomical.nutationInLongitude(T, L0, Lp, Omega); - const dEpsilon = src_Astronomical.nutationInObliquity(T, L0, Lp, Omega); - const Epsilon0 = src_Astronomical.meanObliquityOfTheEcliptic(T); - const EpsilonApparent = degreesToRadians(src_Astronomical.apparentObliquityOfTheEcliptic(T, Epsilon0)); - /* declination: The declination of the sun, the angle between - the rays of the Sun and the plane of the Earth's - equator, in degrees. - Equation from Astronomical Algorithms page 165 */ - - this.declination = radiansToDegrees(Math.asin(Math.sin(EpsilonApparent) * Math.sin(Lambda))); - /* rightAscension: Right ascension of the Sun, the angular distance on the - celestial equator from the vernal equinox to the hour circle, - in degrees. - Equation from Astronomical Algorithms page 165 */ - - this.rightAscension = unwindAngle(radiansToDegrees(Math.atan2(Math.cos(EpsilonApparent) * Math.sin(Lambda), Math.cos(Lambda)))); - /* apparentSiderealTime: Apparent sidereal time, the hour angle of the vernal - equinox, in degrees. - Equation from Astronomical Algorithms page 88 */ - - this.apparentSiderealTime = Theta0 + dPsi * 3600 * Math.cos(degreesToRadians(Epsilon0 + dEpsilon)) / 3600; - } - -} -// CONCATENATED MODULE: ./src/SolarTime.js - - - -class SolarTime_SolarTime { - constructor(date, coordinates) { - const julianDay = src_Astronomical.julianDay(date.getFullYear(), date.getMonth() + 1, date.getDate(), 0); - this.observer = coordinates; - this.solar = new SolarCoordinates_SolarCoordinates(julianDay); - this.prevSolar = new SolarCoordinates_SolarCoordinates(julianDay - 1); - this.nextSolar = new SolarCoordinates_SolarCoordinates(julianDay + 1); - const m0 = src_Astronomical.approximateTransit(coordinates.longitude, this.solar.apparentSiderealTime, this.solar.rightAscension); - const solarAltitude = -50.0 / 60.0; - this.approxTransit = m0; - this.transit = src_Astronomical.correctedTransit(m0, coordinates.longitude, this.solar.apparentSiderealTime, this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension); - this.sunrise = src_Astronomical.correctedHourAngle(m0, solarAltitude, coordinates, false, this.solar.apparentSiderealTime, this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, this.solar.declination, this.prevSolar.declination, this.nextSolar.declination); - this.sunset = src_Astronomical.correctedHourAngle(m0, solarAltitude, coordinates, true, this.solar.apparentSiderealTime, this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, this.solar.declination, this.prevSolar.declination, this.nextSolar.declination); - } - - hourAngle(angle, afterTransit) { - return src_Astronomical.correctedHourAngle(this.approxTransit, angle, this.observer, afterTransit, this.solar.apparentSiderealTime, this.solar.rightAscension, this.prevSolar.rightAscension, this.nextSolar.rightAscension, this.solar.declination, this.prevSolar.declination, this.nextSolar.declination); - } - - afternoon(shadowLength) { - // TODO source shadow angle calculation - const tangent = Math.abs(this.observer.latitude - this.solar.declination); - const inverse = shadowLength + Math.tan(degreesToRadians(tangent)); - const angle = radiansToDegrees(Math.atan(1.0 / inverse)); - return this.hourAngle(angle, true); - } - -} -// CONCATENATED MODULE: ./src/TimeComponents.js -class TimeComponents { - constructor(number) { - this.hours = Math.floor(number); - this.minutes = Math.floor((number - this.hours) * 60); - this.seconds = Math.floor((number - (this.hours + this.minutes / 60)) * 60 * 60); - return this; - } - - utcDate(year, month, date) { - return new Date(Date.UTC(year, month, date, this.hours, this.minutes, this.seconds)); - } - -} -// CONCATENATED MODULE: ./src/Prayer.js -const Prayer = { - Fajr: 'fajr', - Sunrise: 'sunrise', - Dhuhr: 'dhuhr', - Asr: 'asr', - Maghrib: 'maghrib', - Isha: 'isha', - None: 'none' -}; -/* harmony default export */ var src_Prayer = (Prayer); -// CONCATENATED MODULE: ./src/Madhab.js -const Madhab = { - Shafi: 'shafi', - Hanafi: 'hanafi' -}; -function Madhab_shadowLength(madhab) { - switch (madhab) { - case Madhab.Shafi: - return 1; - - case Madhab.Hanafi: - return 2; - - default: - throw 'Invalid Madhab'; - } -} -// CONCATENATED MODULE: ./src/PolarCircleResolution.js - - -const PolarCircleResolution = { - AqrabBalad: 'AqrabBalad', - AqrabYaum: 'AqrabYaum', - Unresolved: 'Unresolved' -}; -const LATITUDE_VARIATION_STEP = 0.5; // Degrees to add/remove at each resolution step - -const UNSAFE_LATITUDE = 65; // Based on https://en.wikipedia.org/wiki/Midnight_sun - -const isValidSolarTime = solarTime => solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset); - -const aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => { - if (daysAdded > Math.ceil(365 / 2)) { - return null; - } - - const testDate = new Date(date.getTime()); - testDate.setDate(testDate.getDate() + direction * daysAdded); - const tomorrow = dateByAddingDays(testDate, 1); - const solarTime = new SolarTime_SolarTime(testDate, coordinates); - const tomorrowSolarTime = new SolarTime_SolarTime(tomorrow, coordinates); - - if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) { - return aqrabYaumResolver(coordinates, date, daysAdded + (direction > 0 ? 0 : 1), -direction); - } - - return { - date, - tomorrow, - coordinates, - solarTime, - tomorrowSolarTime - }; -}; - -const aqrabBaladResolver = (coordinates, date, latitude) => { - const solarTime = new SolarTime_SolarTime(date, { ...coordinates, - latitude - }); - const tomorrow = dateByAddingDays(date, 1); - const tomorrowSolarTime = new SolarTime_SolarTime(tomorrow, { ...coordinates, - latitude - }); - - if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) { - return Math.abs(latitude) >= UNSAFE_LATITUDE ? aqrabBaladResolver(coordinates, date, latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP) : null; - } - - return { - date, - tomorrow, - coordinates: { - latitude, - longitude: coordinates.longitude - }, - solarTime, - tomorrowSolarTime - }; -}; - -const polarCircleResolvedValues = (resolver, date, coordinates) => { - const defaultReturn = { - date, - tomorrow: dateByAddingDays(date, 1), - coordinates, - solarTime: new SolarTime_SolarTime(date, coordinates), - tomorrowSolarTime: new SolarTime_SolarTime(dateByAddingDays(date, 1), coordinates) - }; - - switch (resolver) { - case PolarCircleResolution.AqrabYaum: - { - return aqrabYaumResolver(coordinates, date) || defaultReturn; - } - - case PolarCircleResolution.AqrabBalad: - { - const { - latitude - } = coordinates; - return aqrabBaladResolver(coordinates, date, latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP) || defaultReturn; - } - - default: - { - return defaultReturn; - } - } -}; -// CONCATENATED MODULE: ./src/PrayerTimes.js - - - - - - - -class PrayerTimes_PrayerTimes { - // eslint-disable-next-line complexity - constructor(coordinates, date, calculationParameters) { - this.coordinates = coordinates; - this.date = date; - this.calculationParameters = calculationParameters; - let solarTime = new SolarTime_SolarTime(date, coordinates); - let fajrTime; - let sunriseTime; - let dhuhrTime; - let asrTime; - let maghribTime; - let ishaTime; - let nightFraction; - dhuhrTime = new TimeComponents(solarTime.transit).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - let sunsetTime = new TimeComponents(solarTime.sunset).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - const tomorrow = dateByAddingDays(date, 1); - let tomorrowSolarTime = new SolarTime_SolarTime(tomorrow, coordinates); - const polarCircleResolver = calculationParameters.polarCircleResolution; - - if ((!isValidDate(sunriseTime) || !isValidDate(sunsetTime) || isNaN(tomorrowSolarTime.sunrise)) && polarCircleResolver !== PolarCircleResolution.Unresolved) { - const resolved = polarCircleResolvedValues(polarCircleResolver, date, coordinates); - solarTime = resolved.solarTime; - tomorrowSolarTime = resolved.tomorrowSolarTime; - const dateComponents = [date.getFullYear(), date.getMonth(), date.getDate()]; - dhuhrTime = new TimeComponents(solarTime.transit).utcDate(...dateComponents); - sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(...dateComponents); - sunsetTime = new TimeComponents(solarTime.sunset).utcDate(...dateComponents); - } // eslint-disable-next-line prefer-const - - - asrTime = new TimeComponents(solarTime.afternoon(Madhab_shadowLength(calculationParameters.madhab))).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - const tomorrowSunrise = new TimeComponents(tomorrowSolarTime.sunrise).utcDate(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate()); - const night = (tomorrowSunrise - sunsetTime) / 1000; - fajrTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); // special case for moonsighting committee above latitude 55 - - if (calculationParameters.method === 'MoonsightingCommittee' && coordinates.latitude >= 55) { - nightFraction = night / 7; - fajrTime = dateByAddingSeconds(sunriseTime, -nightFraction); - } - - const safeFajr = function () { - if (calculationParameters.method === 'MoonsightingCommittee') { - return src_Astronomical.seasonAdjustedMorningTwilight(coordinates.latitude, DateUtils_dayOfYear(date), date.getFullYear(), sunriseTime); - } else { - const portion = calculationParameters.nightPortions().fajr; - nightFraction = portion * night; - return dateByAddingSeconds(sunriseTime, -nightFraction); - } - }(); - - if (fajrTime === null || isNaN(fajrTime.getTime()) || safeFajr > fajrTime) { - fajrTime = safeFajr; - } - - if (calculationParameters.ishaInterval > 0) { - ishaTime = dateByAddingMinutes(sunsetTime, calculationParameters.ishaInterval); - } else { - ishaTime = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.ishaAngle, true)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); // special case for moonsighting committee above latitude 55 - - if (calculationParameters.method === 'MoonsightingCommittee' && coordinates.latitude >= 55) { - nightFraction = night / 7; - ishaTime = dateByAddingSeconds(sunsetTime, nightFraction); - } - - const safeIsha = function () { - if (calculationParameters.method === 'MoonsightingCommittee') { - return src_Astronomical.seasonAdjustedEveningTwilight(coordinates.latitude, DateUtils_dayOfYear(date), date.getFullYear(), sunsetTime, calculationParameters.shafaq); - } else { - const portion = calculationParameters.nightPortions().isha; - nightFraction = portion * night; - return dateByAddingSeconds(sunsetTime, nightFraction); - } - }(); - - if (ishaTime == null || isNaN(ishaTime.getTime()) || safeIsha < ishaTime) { - ishaTime = safeIsha; - } - } - - maghribTime = sunsetTime; - - if (calculationParameters.maghribAngle) { - const angleBasedMaghrib = new TimeComponents(solarTime.hourAngle(-1 * calculationParameters.maghribAngle, true)).utcDate(date.getFullYear(), date.getMonth(), date.getDate()); - - if (sunsetTime < angleBasedMaghrib && ishaTime > angleBasedMaghrib) { - maghribTime = angleBasedMaghrib; - } - } - - const fajrAdjustment = (calculationParameters.adjustments.fajr || 0) + (calculationParameters.methodAdjustments.fajr || 0); - const sunriseAdjustment = (calculationParameters.adjustments.sunrise || 0) + (calculationParameters.methodAdjustments.sunrise || 0); - const dhuhrAdjustment = (calculationParameters.adjustments.dhuhr || 0) + (calculationParameters.methodAdjustments.dhuhr || 0); - const asrAdjustment = (calculationParameters.adjustments.asr || 0) + (calculationParameters.methodAdjustments.asr || 0); - const maghribAdjustment = (calculationParameters.adjustments.maghrib || 0) + (calculationParameters.methodAdjustments.maghrib || 0); - const ishaAdjustment = (calculationParameters.adjustments.isha || 0) + (calculationParameters.methodAdjustments.isha || 0); - this.fajr = roundedMinute(dateByAddingMinutes(fajrTime, fajrAdjustment), calculationParameters.rounding); - this.sunrise = roundedMinute(dateByAddingMinutes(sunriseTime, sunriseAdjustment), calculationParameters.rounding); - this.dhuhr = roundedMinute(dateByAddingMinutes(dhuhrTime, dhuhrAdjustment), calculationParameters.rounding); - this.asr = roundedMinute(dateByAddingMinutes(asrTime, asrAdjustment), calculationParameters.rounding); - this.maghrib = roundedMinute(dateByAddingMinutes(maghribTime, maghribAdjustment), calculationParameters.rounding); - this.isha = roundedMinute(dateByAddingMinutes(ishaTime, ishaAdjustment), calculationParameters.rounding); - } - - timeForPrayer(prayer) { - if (prayer === src_Prayer.Fajr) { - return this.fajr; - } else if (prayer === src_Prayer.Sunrise) { - return this.sunrise; - } else if (prayer === src_Prayer.Dhuhr) { - return this.dhuhr; - } else if (prayer === src_Prayer.Asr) { - return this.asr; - } else if (prayer === src_Prayer.Maghrib) { - return this.maghrib; - } else if (prayer === src_Prayer.Isha) { - return this.isha; - } else { - return null; - } - } - - currentPrayer(date) { - if (typeof date === 'undefined') { - date = new Date(); - } - - if (date >= this.isha) { - return src_Prayer.Isha; - } else if (date >= this.maghrib) { - return src_Prayer.Maghrib; - } else if (date >= this.asr) { - return src_Prayer.Asr; - } else if (date >= this.dhuhr) { - return src_Prayer.Dhuhr; - } else if (date >= this.sunrise) { - return src_Prayer.Sunrise; - } else if (date >= this.fajr) { - return src_Prayer.Fajr; - } else { - return src_Prayer.None; - } - } - - nextPrayer(date) { - if (typeof date === 'undefined') { - date = new Date(); - } - - if (date >= this.isha) { - return src_Prayer.None; - } else if (date >= this.maghrib) { - return src_Prayer.Isha; - } else if (date >= this.asr) { - return src_Prayer.Maghrib; - } else if (date >= this.dhuhr) { - return src_Prayer.Asr; - } else if (date >= this.sunrise) { - return src_Prayer.Dhuhr; - } else if (date >= this.fajr) { - return src_Prayer.Sunrise; - } else { - return src_Prayer.Fajr; - } - } - -} -// CONCATENATED MODULE: ./src/HighLatitudeRule.js -const HighLatitudeRule = { - MiddleOfTheNight: 'middleofthenight', - SeventhOfTheNight: 'seventhofthenight', - TwilightAngle: 'twilightangle', - - recommended(coordinates) { - if (coordinates.latitude > 48) { - return HighLatitudeRule.SeventhOfTheNight; - } else { - return HighLatitudeRule.MiddleOfTheNight; - } - } - -}; -/* harmony default export */ var src_HighLatitudeRule = (HighLatitudeRule); -// CONCATENATED MODULE: ./src/CalculationParameters.js - - - - - -class CalculationParameters_CalculationParameters { - constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) { - // Name of the method, can be used to apply special behavior in calculations. - // This property should not be manually modified. - this.method = methodName || 'Other'; // Angle of the sun below the horizon used for calculating Fajr. - - this.fajrAngle = fajrAngle || 0; // Angle of the sun below the horizon used for calculating Isha. - - this.ishaAngle = ishaAngle || 0; // Minutes after Maghrib to determine time for Isha - // if this value is greater than 0 then ishaAngle is not used. - - this.ishaInterval = ishaInterval || 0; // Angle of the sun below the horizon used for calculating Maghrib. - // Only used by the Tehran method to account for lightness in the sky. - - this.maghribAngle = maghribAngle; // Madhab to determine how Asr is calculated. - - this.madhab = Madhab.Shafi; // Rule to determine the earliest time for Fajr and latest time for Isha - // needed for high latitude locations where Fajr and Isha may not truly exist - // or may present a hardship unless bound to a reasonable time. - - this.highLatitudeRule = src_HighLatitudeRule.MiddleOfTheNight; // Manual adjustments (in minutes) to be added to each prayer time. - - this.adjustments = { - fajr: 0, - sunrise: 0, - dhuhr: 0, - asr: 0, - maghrib: 0, - isha: 0 - }; // Adjustments set by a calculation method. This value should not be manually modified. - - this.methodAdjustments = { - fajr: 0, - sunrise: 0, - dhuhr: 0, - asr: 0, - maghrib: 0, - isha: 0 - }; // Rule to determine how to resolve prayer times inside the Polar Circle - // where daylight or night may persist for more than 24 hours depending - // on the season - - this.polarCircleResolution = PolarCircleResolution.Unresolved; // How seconds are rounded when calculating prayer times - - this.rounding = Rounding.Nearest; // Used by the MoonsightingCommittee method to determine how to calculate Isha - - this.shafaq = Shafaq.General; - } - - nightPortions() { - switch (this.highLatitudeRule) { - case src_HighLatitudeRule.MiddleOfTheNight: - return { - fajr: 1 / 2, - isha: 1 / 2 - }; - - case src_HighLatitudeRule.SeventhOfTheNight: - return { - fajr: 1 / 7, - isha: 1 / 7 - }; - - case src_HighLatitudeRule.TwilightAngle: - return { - fajr: this.fajrAngle / 60, - isha: this.ishaAngle / 60 - }; - - default: - throw `Invalid high latitude rule found when attempting to compute night portions: ${this.highLatitudeRule}`; - } - } - -} -// CONCATENATED MODULE: ./src/CalculationMethod.js - - -const CalculationMethod = { - // Muslim World League - MuslimWorldLeague() { - const params = new CalculationParameters_CalculationParameters('MuslimWorldLeague', 18, 17); - params.methodAdjustments = { - dhuhr: 1 - }; - return params; - }, - - // Egyptian General Authority of Survey - Egyptian() { - const params = new CalculationParameters_CalculationParameters('Egyptian', 19.5, 17.5); - params.methodAdjustments = { - dhuhr: 1 - }; - return params; - }, - - // University of Islamic Sciences, Karachi - Karachi() { - const params = new CalculationParameters_CalculationParameters('Karachi', 18, 18); - params.methodAdjustments = { - dhuhr: 1 - }; - return params; - }, - - // Umm al-Qura University, Makkah - UmmAlQura() { - return new CalculationParameters_CalculationParameters('UmmAlQura', 18.5, 0, 90); - }, - - // Dubai - Dubai() { - const params = new CalculationParameters_CalculationParameters('Dubai', 18.2, 18.2); - params.methodAdjustments = { - sunrise: -3, - dhuhr: 3, - asr: 3, - maghrib: 3 - }; - return params; - }, - - // Moonsighting Committee - MoonsightingCommittee() { - const params = new CalculationParameters_CalculationParameters('MoonsightingCommittee', 18, 18); - params.methodAdjustments = { - dhuhr: 5, - maghrib: 3 - }; - return params; - }, - - // ISNA - NorthAmerica() { - const params = new CalculationParameters_CalculationParameters('NorthAmerica', 15, 15); - params.methodAdjustments = { - dhuhr: 1 - }; - return params; - }, - - // Kuwait - Kuwait() { - return new CalculationParameters_CalculationParameters('Kuwait', 18, 17.5); - }, - - // Qatar - Qatar() { - return new CalculationParameters_CalculationParameters('Qatar', 18, 0, 90); - }, - - // Singapore - Singapore() { - const params = new CalculationParameters_CalculationParameters('Singapore', 20, 18); - params.methodAdjustments = { - dhuhr: 1 - }; - params.rounding = Rounding.Up; - return params; - }, - - // Institute of Geophysics, University of Tehran - Tehran() { - const params = new CalculationParameters_CalculationParameters('Tehran', 17.7, 14, 0, 4.5); - return params; - }, - - // Dianet - Turkey() { - const params = new CalculationParameters_CalculationParameters('Turkey', 18, 17); - params.methodAdjustments = { - sunrise: -7, - dhuhr: 5, - asr: 4, - maghrib: 7 - }; - return params; - }, - - // Other - Other() { - return new CalculationParameters_CalculationParameters('Other', 0, 0); - } - -}; -/* harmony default export */ var src_CalculationMethod = (CalculationMethod); -// CONCATENATED MODULE: ./src/Qibla.js - - -function qibla(coordinates) { - const makkah = new Coordinates(21.4225241, 39.8261818); // Equation from "Spherical Trigonometry For the use of colleges and schools" page 50 - - const term1 = Math.sin(degreesToRadians(makkah.longitude) - degreesToRadians(coordinates.longitude)); - const term2 = Math.cos(degreesToRadians(coordinates.latitude)) * Math.tan(degreesToRadians(makkah.latitude)); - const term3 = Math.sin(degreesToRadians(coordinates.latitude)) * Math.cos(degreesToRadians(makkah.longitude) - degreesToRadians(coordinates.longitude)); - const angle = Math.atan2(term1, term2 - term3); - return unwindAngle(radiansToDegrees(angle)); -} -// CONCATENATED MODULE: ./src/SunnahTimes.js - - -class SunnahTimes_SunnahTimes { - constructor(prayerTimes) { - const date = prayerTimes.date; - const nextDay = dateByAddingDays(date, 1); - const nextDayPrayerTimes = new PrayerTimes_PrayerTimes(prayerTimes.coordinates, nextDay, prayerTimes.calculationParameters); - const nightDuration = (nextDayPrayerTimes.fajr.getTime() - prayerTimes.maghrib.getTime()) / 1000.0; - this.middleOfTheNight = roundedMinute(dateByAddingSeconds(prayerTimes.maghrib, nightDuration / 2)); - this.lastThirdOfTheNight = roundedMinute(dateByAddingSeconds(prayerTimes.maghrib, nightDuration * (2 / 3))); - } - -} -// CONCATENATED MODULE: ./src/Adhan.js - - - - - - - - - - - - -const adhan = { - Prayer: src_Prayer, - Madhab: Madhab, - HighLatitudeRule: src_HighLatitudeRule, - Coordinates: Coordinates, - CalculationParameters: CalculationParameters_CalculationParameters, - CalculationMethod: src_CalculationMethod, - PrayerTimes: PrayerTimes_PrayerTimes, - SunnahTimes: SunnahTimes_SunnahTimes, - Qibla: qibla, - PolarCircleResolution: PolarCircleResolution, - Rounding: Rounding, - Shafaq: Shafaq -}; -/* harmony default export */ var Adhan = __webpack_exports__["default"] = (adhan); - -/***/ }) -/******/ ])["default"]; -}); -//# sourceMappingURL=Adhan.js.map \ No newline at end of file diff --git a/Adhan.js.map b/Adhan.js.map deleted file mode 100644 index e1290fb..0000000 --- a/Adhan.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://adhan/webpack/universalModuleDefinition","webpack://adhan/webpack/bootstrap","webpack://adhan/./src/Coordinates.js","webpack://adhan/./src/Rounding.js","webpack://adhan/./src/DateUtils.js","webpack://adhan/./src/MathUtils.js","webpack://adhan/./src/Shafaq.js","webpack://adhan/./src/Astronomical.js","webpack://adhan/./src/SolarCoordinates.js","webpack://adhan/./src/SolarTime.js","webpack://adhan/./src/TimeComponents.js","webpack://adhan/./src/Prayer.js","webpack://adhan/./src/Madhab.js","webpack://adhan/./src/PolarCircleResolution.js","webpack://adhan/./src/PrayerTimes.js","webpack://adhan/./src/HighLatitudeRule.js","webpack://adhan/./src/CalculationParameters.js","webpack://adhan/./src/CalculationMethod.js","webpack://adhan/./src/Qibla.js","webpack://adhan/./src/SunnahTimes.js","webpack://adhan/./src/Adhan.js"],"names":["Coordinates","constructor","latitude","longitude","Rounding","Nearest","Up","None","dateByAddingDays","date","days","year","getFullYear","month","getMonth","day","getDate","hours","getHours","minutes","getMinutes","seconds","getSeconds","Date","dateByAddingMinutes","dateByAddingSeconds","getTime","roundedMinute","rounding","getUTCSeconds","offset","dayOfYear","returnedDayOfYear","feb","Astronomical","isLeapYear","months","i","isValidDate","isNaN","valueOf","degreesToRadians","degrees","Math","PI","radiansToDegrees","radians","normalizeToScale","number","max","floor","unwindAngle","angle","quadrantShiftAngle","round","Shafaq","General","Ahmer","Abyad","meanSolarLongitude","julianCentury","T","term1","term2","term3","pow","L0","meanLunarLongitude","Lp","ascendingLunarNodeLongitude","term4","Omega","meanSolarAnomaly","M","solarEquationOfTheCenter","meanAnomaly","Mrad","sin","apparentSolarLongitude","meanLongitude","Lambda","meanObliquityOfTheEcliptic","apparentObliquityOfTheEcliptic","Epsilon0","O","cos","meanSiderealTime","JD","Theta","nutationInLongitude","solarLongitude","lunarLongitude","ascendingNode","nutationInObliquity","altitudeOfCelestialBody","observerLatitude","declination","localHourAngle","Phi","delta","H","asin","approximateTransit","siderealTime","rightAscension","L","Theta0","a2","Lw","correctedTransit","previousRightAscension","nextRightAscension","m0","a1","a3","a","interpolateAngles","dm","correctedHourAngle","coordinates","afterTransit","previousDeclination","nextDeclination","h0","d2","d1","d3","H0","acos","m","interpolate","h","y2","y1","y3","n","b","c","julianDay","trunc","x","ceil","Y","D","A","B","i0","i1","seasonAdjustedMorningTwilight","sunrise","abs","d","adjustment","dyy","daysSinceSolstice","seasonAdjustedEveningTwilight","sunset","shafaq","northernOffset","southernOffset","daysInYear","SolarCoordinates","dPsi","dEpsilon","EpsilonApparent","atan2","apparentSiderealTime","SolarTime","observer","solar","prevSolar","nextSolar","solarAltitude","approxTransit","transit","hourAngle","afternoon","shadowLength","tangent","inverse","tan","atan","TimeComponents","utcDate","UTC","Prayer","Fajr","Sunrise","Dhuhr","Asr","Maghrib","Isha","Madhab","Shafi","Hanafi","madhab","PolarCircleResolution","AqrabBalad","AqrabYaum","Unresolved","LATITUDE_VARIATION_STEP","UNSAFE_LATITUDE","isValidSolarTime","solarTime","aqrabYaumResolver","daysAdded","direction","testDate","setDate","tomorrow","tomorrowSolarTime","aqrabBaladResolver","sign","polarCircleResolvedValues","resolver","defaultReturn","PrayerTimes","calculationParameters","fajrTime","sunriseTime","dhuhrTime","asrTime","maghribTime","ishaTime","nightFraction","sunsetTime","polarCircleResolver","polarCircleResolution","resolved","dateComponents","tomorrowSunrise","night","fajrAngle","method","safeFajr","portion","nightPortions","fajr","ishaInterval","ishaAngle","safeIsha","isha","maghribAngle","angleBasedMaghrib","fajrAdjustment","adjustments","methodAdjustments","sunriseAdjustment","dhuhrAdjustment","dhuhr","asrAdjustment","asr","maghribAdjustment","maghrib","ishaAdjustment","timeForPrayer","prayer","currentPrayer","nextPrayer","HighLatitudeRule","MiddleOfTheNight","SeventhOfTheNight","TwilightAngle","recommended","CalculationParameters","methodName","highLatitudeRule","CalculationMethod","MuslimWorldLeague","params","Egyptian","Karachi","UmmAlQura","Dubai","MoonsightingCommittee","NorthAmerica","Kuwait","Qatar","Singapore","Tehran","Turkey","Other","qibla","makkah","SunnahTimes","prayerTimes","nextDay","nextDayPrayerTimes","nightDuration","middleOfTheNight","lastThirdOfTheNight","adhan","Qibla"],"mappings":"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","file":"Adhan.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"adhan\"] = factory();\n\telse\n\t\troot[\"adhan\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export default class Coordinates {\n constructor(latitude, longitude) {\n this.latitude = latitude;\n this.longitude = longitude;\n }\n}\n","export const Rounding = {\n Nearest: 'nearest',\n Up: 'up',\n None: 'none',\n};\n","import Astronomical from './Astronomical';\nimport { Rounding } from './Rounding';\n\nexport function dateByAddingDays(date, days) {\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate() + days;\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n return new Date(year, month, day, hours, minutes, seconds);\n}\n\nexport function dateByAddingMinutes(date, minutes) {\n return dateByAddingSeconds(date, minutes * 60);\n}\n\nexport function dateByAddingSeconds(date, seconds) {\n return new Date(date.getTime() + seconds * 1000);\n}\n\nexport function roundedMinute(date, rounding = Rounding.Nearest) {\n const seconds = date.getUTCSeconds();\n let offset = seconds >= 30 ? 60 - seconds : -1 * seconds;\n if (rounding === Rounding.Up) {\n offset = 60 - seconds;\n } else if (rounding === Rounding.None) {\n offset = 0;\n }\n\n return dateByAddingSeconds(date, offset);\n}\n\nexport function dayOfYear(date) {\n let returnedDayOfYear = 0;\n const feb = Astronomical.isLeapYear(date.getFullYear()) ? 29 : 28;\n const months = [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n for (let i = 0; i < date.getMonth(); i++) {\n returnedDayOfYear += months[i];\n }\n\n returnedDayOfYear += date.getDate();\n\n return returnedDayOfYear;\n}\n\nexport function isValidDate(date) {\n return date instanceof Date && !isNaN(date.valueOf());\n}\n","export function degreesToRadians(degrees) {\n return (degrees * Math.PI) / 180.0;\n}\n\nexport function radiansToDegrees(radians) {\n return (radians * 180.0) / Math.PI;\n}\n\nexport function normalizeToScale(number, max) {\n return number - max * Math.floor(number / max);\n}\n\nexport function unwindAngle(angle) {\n return normalizeToScale(angle, 360.0);\n}\n\nexport function quadrantShiftAngle(angle) {\n if (angle >= -180 && angle <= 180) {\n return angle;\n }\n\n return angle - 360 * Math.round(angle / 360);\n}\n","// Shafaq is the twilight in the sky. Different madhabs define the appearance of\n// twilight differently. These values are used by the MoonsightingComittee method\n// for the different ways to calculate Isha.\nexport const Shafaq = {\n // General is a combination of Ahmer and Abyad.\n General: 'general',\n\n // Ahmer means the twilight is the red glow in the sky. Used by the Shafi, Maliki, and Hanbali madhabs.\n Ahmer: 'ahmer',\n\n // Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab.\n Abyad: 'abyad',\n};\n","/* eslint-disable max-params, max-lines */\nimport { dateByAddingSeconds } from './DateUtils';\nimport {\n degreesToRadians,\n normalizeToScale,\n quadrantShiftAngle,\n radiansToDegrees,\n unwindAngle,\n} from './MathUtils';\nimport { Shafaq } from './Shafaq';\n\nconst Astronomical = {\n /* The geometric mean longitude of the sun in degrees. */\n meanSolarLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 163 */\n const term1 = 280.4664567;\n const term2 = 36000.76983 * T;\n const term3 = 0.0003032 * Math.pow(T, 2);\n const L0 = term1 + term2 + term3;\n return unwindAngle(L0);\n },\n\n /* The geometric mean longitude of the moon in degrees. */\n meanLunarLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = 218.3165;\n const term2 = 481267.8813 * T;\n const Lp = term1 + term2;\n return unwindAngle(Lp);\n },\n\n ascendingLunarNodeLongitude(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = 125.04452;\n const term2 = 1934.136261 * T;\n const term3 = 0.0020708 * Math.pow(T, 2);\n const term4 = Math.pow(T, 3) / 450000;\n const Omega = term1 - term2 + term3 + term4;\n return unwindAngle(Omega);\n },\n\n /* The mean anomaly of the sun. */\n meanSolarAnomaly(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 163 */\n const term1 = 357.52911;\n const term2 = 35999.05029 * T;\n const term3 = 0.0001537 * Math.pow(T, 2);\n const M = term1 + term2 - term3;\n return unwindAngle(M);\n },\n\n /* The Sun's equation of the center in degrees. */\n solarEquationOfTheCenter(julianCentury, meanAnomaly) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 164 */\n const Mrad = degreesToRadians(meanAnomaly);\n const term1 =\n (1.914602 - 0.004817 * T - 0.000014 * Math.pow(T, 2)) * Math.sin(Mrad);\n const term2 = (0.019993 - 0.000101 * T) * Math.sin(2 * Mrad);\n const term3 = 0.000289 * Math.sin(3 * Mrad);\n return term1 + term2 + term3;\n },\n\n /* The apparent longitude of the Sun, referred to the\n true equinox of the date. */\n apparentSolarLongitude(julianCentury, meanLongitude) {\n const T = julianCentury;\n const L0 = meanLongitude;\n /* Equation from Astronomical Algorithms page 164 */\n const longitude =\n L0 +\n Astronomical.solarEquationOfTheCenter(\n T,\n Astronomical.meanSolarAnomaly(T),\n );\n const Omega = 125.04 - 1934.136 * T;\n const Lambda =\n longitude - 0.00569 - 0.00478 * Math.sin(degreesToRadians(Omega));\n return unwindAngle(Lambda);\n },\n\n /* The mean obliquity of the ecliptic, formula\n adopted by the International Astronomical Union.\n Represented in degrees. */\n meanObliquityOfTheEcliptic(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 147 */\n const term1 = 23.439291;\n const term2 = 0.013004167 * T;\n const term3 = 0.0000001639 * Math.pow(T, 2);\n const term4 = 0.0000005036 * Math.pow(T, 3);\n return term1 - term2 - term3 + term4;\n },\n\n /* The mean obliquity of the ecliptic, corrected for\n calculating the apparent position of the sun, in degrees. */\n apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) {\n const T = julianCentury;\n const Epsilon0 = meanObliquityOfTheEcliptic;\n /* Equation from Astronomical Algorithms page 165 */\n const O = 125.04 - 1934.136 * T;\n return Epsilon0 + 0.00256 * Math.cos(degreesToRadians(O));\n },\n\n /* Mean sidereal time, the hour angle of the vernal equinox, in degrees. */\n meanSiderealTime(julianCentury) {\n const T = julianCentury;\n /* Equation from Astronomical Algorithms page 165 */\n const JD = T * 36525 + 2451545.0;\n const term1 = 280.46061837;\n const term2 = 360.98564736629 * (JD - 2451545);\n const term3 = 0.000387933 * Math.pow(T, 2);\n const term4 = Math.pow(T, 3) / 38710000;\n const Theta = term1 + term2 + term3 - term4;\n return unwindAngle(Theta);\n },\n\n nutationInLongitude(\n julianCentury,\n solarLongitude,\n lunarLongitude,\n ascendingNode,\n ) {\n const L0 = solarLongitude;\n const Lp = lunarLongitude;\n const Omega = ascendingNode;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = (-17.2 / 3600) * Math.sin(degreesToRadians(Omega));\n const term2 = (1.32 / 3600) * Math.sin(2 * degreesToRadians(L0));\n const term3 = (0.23 / 3600) * Math.sin(2 * degreesToRadians(Lp));\n const term4 = (0.21 / 3600) * Math.sin(2 * degreesToRadians(Omega));\n return term1 - term2 - term3 + term4;\n },\n\n nutationInObliquity(\n julianCentury,\n solarLongitude,\n lunarLongitude,\n ascendingNode,\n ) {\n const L0 = solarLongitude;\n const Lp = lunarLongitude;\n const Omega = ascendingNode;\n /* Equation from Astronomical Algorithms page 144 */\n const term1 = (9.2 / 3600) * Math.cos(degreesToRadians(Omega));\n const term2 = (0.57 / 3600) * Math.cos(2 * degreesToRadians(L0));\n const term3 = (0.1 / 3600) * Math.cos(2 * degreesToRadians(Lp));\n const term4 = (0.09 / 3600) * Math.cos(2 * degreesToRadians(Omega));\n return term1 + term2 + term3 - term4;\n },\n\n altitudeOfCelestialBody(observerLatitude, declination, localHourAngle) {\n const Phi = observerLatitude;\n const delta = declination;\n const H = localHourAngle;\n /* Equation from Astronomical Algorithms page 93 */\n const term1 =\n Math.sin(degreesToRadians(Phi)) * Math.sin(degreesToRadians(delta));\n const term2 =\n Math.cos(degreesToRadians(Phi)) *\n Math.cos(degreesToRadians(delta)) *\n Math.cos(degreesToRadians(H));\n return radiansToDegrees(Math.asin(term1 + term2));\n },\n\n approximateTransit(longitude, siderealTime, rightAscension) {\n const L = longitude;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = L * -1;\n return normalizeToScale((a2 + Lw - Theta0) / 360, 1);\n },\n\n /* The time at which the sun is at its highest point in the sky (in universal time) */\n correctedTransit(\n approximateTransit,\n longitude,\n siderealTime,\n rightAscension,\n previousRightAscension,\n nextRightAscension,\n ) {\n const m0 = approximateTransit;\n const L = longitude;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n const a1 = previousRightAscension;\n const a3 = nextRightAscension;\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = L * -1;\n const Theta = unwindAngle(Theta0 + 360.985647 * m0);\n const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m0));\n const H = quadrantShiftAngle(Theta - Lw - a);\n const dm = H / -360;\n return (m0 + dm) * 24;\n },\n\n correctedHourAngle(\n approximateTransit,\n angle,\n coordinates,\n afterTransit,\n siderealTime,\n rightAscension,\n previousRightAscension,\n nextRightAscension,\n declination,\n previousDeclination,\n nextDeclination,\n ) {\n const m0 = approximateTransit;\n const h0 = angle;\n const Theta0 = siderealTime;\n const a2 = rightAscension;\n const a1 = previousRightAscension;\n const a3 = nextRightAscension;\n const d2 = declination;\n const d1 = previousDeclination;\n const d3 = nextDeclination;\n\n /* Equation from page Astronomical Algorithms 102 */\n const Lw = coordinates.longitude * -1;\n const term1 =\n Math.sin(degreesToRadians(h0)) -\n Math.sin(degreesToRadians(coordinates.latitude)) *\n Math.sin(degreesToRadians(d2));\n const term2 =\n Math.cos(degreesToRadians(coordinates.latitude)) *\n Math.cos(degreesToRadians(d2));\n const H0 = radiansToDegrees(Math.acos(term1 / term2));\n const m = afterTransit ? m0 + H0 / 360 : m0 - H0 / 360;\n const Theta = unwindAngle(Theta0 + 360.985647 * m);\n const a = unwindAngle(Astronomical.interpolateAngles(a2, a1, a3, m));\n const delta = Astronomical.interpolate(d2, d1, d3, m);\n const H = Theta - Lw - a;\n const h = Astronomical.altitudeOfCelestialBody(\n coordinates.latitude,\n delta,\n H,\n );\n const term3 = h - h0;\n const term4 =\n 360 *\n Math.cos(degreesToRadians(delta)) *\n Math.cos(degreesToRadians(coordinates.latitude)) *\n Math.sin(degreesToRadians(H));\n const dm = term3 / term4;\n return (m + dm) * 24;\n },\n\n /* Interpolation of a value given equidistant\n previous and next values and a factor\n equal to the fraction of the interpolated\n point's time over the time between values. */\n interpolate(y2, y1, y3, n) {\n /* Equation from Astronomical Algorithms page 24 */\n const a = y2 - y1;\n const b = y3 - y2;\n const c = b - a;\n return y2 + (n / 2) * (a + b + n * c);\n },\n\n /* Interpolation of three angles, accounting for\n angle unwinding. */\n interpolateAngles(y2, y1, y3, n) {\n /* Equation from Astronomical Algorithms page 24 */\n const a = unwindAngle(y2 - y1);\n const b = unwindAngle(y3 - y2);\n const c = b - a;\n return y2 + (n / 2) * (a + b + n * c);\n },\n\n /* The Julian Day for the given Gregorian date components. */\n julianDay(year, month, day, hours) {\n /* Equation from Astronomical Algorithms page 60 */\n if (typeof hours === 'undefined') {\n hours = 0;\n }\n\n const trunc =\n Math.trunc ||\n function (x) {\n return x < 0 ? Math.ceil(x) : Math.floor(x);\n };\n\n const Y = trunc(month > 2 ? year : year - 1);\n const M = trunc(month > 2 ? month : month + 12);\n const D = day + hours / 24;\n\n const A = trunc(Y / 100);\n const B = trunc(2 - A + trunc(A / 4));\n\n const i0 = trunc(365.25 * (Y + 4716));\n const i1 = trunc(30.6001 * (M + 1));\n\n return i0 + i1 + D + B - 1524.5;\n },\n\n /* Julian century from the epoch. */\n julianCentury(julianDay) {\n /* Equation from Astronomical Algorithms page 163 */\n return (julianDay - 2451545.0) / 36525;\n },\n\n /* Whether or not a year is a leap year (has 366 days). */\n isLeapYear(year) {\n if (year % 4 !== 0) {\n return false;\n }\n\n if (year % 100 === 0 && year % 400 !== 0) {\n return false;\n }\n\n return true;\n },\n\n seasonAdjustedMorningTwilight(latitude, dayOfYear, year, sunrise) {\n const a = 75 + (28.65 / 55.0) * Math.abs(latitude);\n const b = 75 + (19.44 / 55.0) * Math.abs(latitude);\n const c = 75 + (32.74 / 55.0) * Math.abs(latitude);\n const d = 75 + (48.1 / 55.0) * Math.abs(latitude);\n\n const adjustment = (function () {\n const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude);\n if (dyy < 91) {\n return a + ((b - a) / 91.0) * dyy;\n } else if (dyy < 137) {\n return b + ((c - b) / 46.0) * (dyy - 91);\n } else if (dyy < 183) {\n return c + ((d - c) / 46.0) * (dyy - 137);\n } else if (dyy < 229) {\n return d + ((c - d) / 46.0) * (dyy - 183);\n } else if (dyy < 275) {\n return c + ((b - c) / 46.0) * (dyy - 229);\n } else {\n return b + ((a - b) / 91.0) * (dyy - 275);\n }\n })();\n\n return dateByAddingSeconds(sunrise, Math.round(adjustment * -60.0));\n },\n\n seasonAdjustedEveningTwilight(latitude, dayOfYear, year, sunset, shafaq) {\n let a, b, c, d;\n if (shafaq === Shafaq.Ahmer) {\n a = 62 + (17.4 / 55.0) * Math.abs(latitude);\n b = 62 - (7.16 / 55.0) * Math.abs(latitude);\n c = 62 + (5.12 / 55.0) * Math.abs(latitude);\n d = 62 + (19.44 / 55.0) * Math.abs(latitude);\n } else if (shafaq === Shafaq.Abyad) {\n a = 75 + (25.6 / 55.0) * Math.abs(latitude);\n b = 75 + (7.16 / 55.0) * Math.abs(latitude);\n c = 75 + (36.84 / 55.0) * Math.abs(latitude);\n d = 75 + (81.84 / 55.0) * Math.abs(latitude);\n } else {\n a = 75 + (25.6 / 55.0) * Math.abs(latitude);\n b = 75 + (2.05 / 55.0) * Math.abs(latitude);\n c = 75 - (9.21 / 55.0) * Math.abs(latitude);\n d = 75 + (6.14 / 55.0) * Math.abs(latitude);\n }\n\n const adjustment = (function () {\n const dyy = Astronomical.daysSinceSolstice(dayOfYear, year, latitude);\n if (dyy < 91) {\n return a + ((b - a) / 91.0) * dyy;\n } else if (dyy < 137) {\n return b + ((c - b) / 46.0) * (dyy - 91);\n } else if (dyy < 183) {\n return c + ((d - c) / 46.0) * (dyy - 137);\n } else if (dyy < 229) {\n return d + ((c - d) / 46.0) * (dyy - 183);\n } else if (dyy < 275) {\n return c + ((b - c) / 46.0) * (dyy - 229);\n } else {\n return b + ((a - b) / 91.0) * (dyy - 275);\n }\n })();\n\n return dateByAddingSeconds(sunset, Math.round(adjustment * 60.0));\n },\n\n daysSinceSolstice(dayOfYear, year, latitude) {\n let daysSinceSolstice = 0;\n const northernOffset = 10;\n const southernOffset = Astronomical.isLeapYear(year) ? 173 : 172;\n const daysInYear = Astronomical.isLeapYear(year) ? 366 : 365;\n\n if (latitude >= 0) {\n daysSinceSolstice = dayOfYear + northernOffset;\n if (daysSinceSolstice >= daysInYear) {\n daysSinceSolstice = daysSinceSolstice - daysInYear;\n }\n } else {\n daysSinceSolstice = dayOfYear - southernOffset;\n if (daysSinceSolstice < 0) {\n daysSinceSolstice = daysSinceSolstice + daysInYear;\n }\n }\n\n return daysSinceSolstice;\n },\n};\n\nexport default Astronomical;\n","import Astronomical from './Astronomical';\nimport { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils';\n\nexport default class SolarCoordinates {\n constructor(julianDay) {\n const T = Astronomical.julianCentury(julianDay);\n const L0 = Astronomical.meanSolarLongitude(T);\n const Lp = Astronomical.meanLunarLongitude(T);\n const Omega = Astronomical.ascendingLunarNodeLongitude(T);\n const Lambda = degreesToRadians(Astronomical.apparentSolarLongitude(T, L0));\n const Theta0 = Astronomical.meanSiderealTime(T);\n const dPsi = Astronomical.nutationInLongitude(T, L0, Lp, Omega);\n const dEpsilon = Astronomical.nutationInObliquity(T, L0, Lp, Omega);\n const Epsilon0 = Astronomical.meanObliquityOfTheEcliptic(T);\n const EpsilonApparent = degreesToRadians(\n Astronomical.apparentObliquityOfTheEcliptic(T, Epsilon0),\n );\n\n /* declination: The declination of the sun, the angle between\n the rays of the Sun and the plane of the Earth's\n equator, in degrees.\n Equation from Astronomical Algorithms page 165 */\n this.declination = radiansToDegrees(\n Math.asin(Math.sin(EpsilonApparent) * Math.sin(Lambda)),\n );\n\n /* rightAscension: Right ascension of the Sun, the angular distance on the\n celestial equator from the vernal equinox to the hour circle,\n in degrees.\n Equation from Astronomical Algorithms page 165 */\n this.rightAscension = unwindAngle(\n radiansToDegrees(\n Math.atan2(\n Math.cos(EpsilonApparent) * Math.sin(Lambda),\n Math.cos(Lambda),\n ),\n ),\n );\n\n /* apparentSiderealTime: Apparent sidereal time, the hour angle of the vernal\n equinox, in degrees.\n Equation from Astronomical Algorithms page 88 */\n this.apparentSiderealTime =\n Theta0 +\n (dPsi * 3600 * Math.cos(degreesToRadians(Epsilon0 + dEpsilon))) / 3600;\n }\n}\n","import Astronomical from './Astronomical';\nimport { degreesToRadians, radiansToDegrees } from './MathUtils';\nimport SolarCoordinates from './SolarCoordinates';\n\nexport default class SolarTime {\n constructor(date, coordinates) {\n const julianDay = Astronomical.julianDay(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n 0,\n );\n\n this.observer = coordinates;\n this.solar = new SolarCoordinates(julianDay);\n\n this.prevSolar = new SolarCoordinates(julianDay - 1);\n this.nextSolar = new SolarCoordinates(julianDay + 1);\n\n const m0 = Astronomical.approximateTransit(\n coordinates.longitude,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n );\n const solarAltitude = -50.0 / 60.0;\n\n this.approxTransit = m0;\n\n this.transit = Astronomical.correctedTransit(\n m0,\n coordinates.longitude,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n );\n\n this.sunrise = Astronomical.correctedHourAngle(\n m0,\n solarAltitude,\n coordinates,\n false,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n this.solar.declination,\n this.prevSolar.declination,\n this.nextSolar.declination,\n );\n\n this.sunset = Astronomical.correctedHourAngle(\n m0,\n solarAltitude,\n coordinates,\n true,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n this.solar.declination,\n this.prevSolar.declination,\n this.nextSolar.declination,\n );\n }\n\n hourAngle(angle, afterTransit) {\n return Astronomical.correctedHourAngle(\n this.approxTransit,\n angle,\n this.observer,\n afterTransit,\n this.solar.apparentSiderealTime,\n this.solar.rightAscension,\n this.prevSolar.rightAscension,\n this.nextSolar.rightAscension,\n this.solar.declination,\n this.prevSolar.declination,\n this.nextSolar.declination,\n );\n }\n\n afternoon(shadowLength) {\n // TODO source shadow angle calculation\n const tangent = Math.abs(this.observer.latitude - this.solar.declination);\n const inverse = shadowLength + Math.tan(degreesToRadians(tangent));\n const angle = radiansToDegrees(Math.atan(1.0 / inverse));\n return this.hourAngle(angle, true);\n }\n}\n","export default class TimeComponents {\n constructor(number) {\n this.hours = Math.floor(number);\n this.minutes = Math.floor((number - this.hours) * 60);\n this.seconds = Math.floor(\n (number - (this.hours + this.minutes / 60)) * 60 * 60,\n );\n return this;\n }\n\n utcDate(year, month, date) {\n return new Date(\n Date.UTC(year, month, date, this.hours, this.minutes, this.seconds),\n );\n }\n}\n","const Prayer = {\n Fajr: 'fajr',\n Sunrise: 'sunrise',\n Dhuhr: 'dhuhr',\n Asr: 'asr',\n Maghrib: 'maghrib',\n Isha: 'isha',\n None: 'none',\n};\n\nexport default Prayer;\n","export const Madhab = {\n Shafi: 'shafi',\n Hanafi: 'hanafi',\n};\n\nexport function shadowLength(madhab) {\n switch (madhab) {\n case Madhab.Shafi:\n return 1;\n case Madhab.Hanafi:\n return 2;\n default:\n throw 'Invalid Madhab';\n }\n}\n","import SolarTime from './SolarTime';\nimport { dateByAddingDays } from './DateUtils';\n\nexport const PolarCircleResolution = {\n AqrabBalad: 'AqrabBalad',\n AqrabYaum: 'AqrabYaum',\n Unresolved: 'Unresolved',\n};\n\nconst LATITUDE_VARIATION_STEP = 0.5; // Degrees to add/remove at each resolution step\nconst UNSAFE_LATITUDE = 65; // Based on https://en.wikipedia.org/wiki/Midnight_sun\n\nconst isValidSolarTime = (solarTime) =>\n solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset);\n\nconst aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => {\n if (daysAdded > Math.ceil(365 / 2)) {\n return null;\n }\n const testDate = new Date(date.getTime());\n testDate.setDate(testDate.getDate() + direction * daysAdded);\n const tomorrow = dateByAddingDays(testDate, 1);\n const solarTime = new SolarTime(testDate, coordinates);\n const tomorrowSolarTime = new SolarTime(tomorrow, coordinates);\n\n if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) {\n return aqrabYaumResolver(\n coordinates,\n date,\n daysAdded + (direction > 0 ? 0 : 1),\n -direction,\n );\n }\n\n return {\n date,\n tomorrow,\n coordinates,\n solarTime,\n tomorrowSolarTime,\n };\n};\n\nconst aqrabBaladResolver = (coordinates, date, latitude) => {\n const solarTime = new SolarTime(date, { ...coordinates, latitude });\n const tomorrow = dateByAddingDays(date, 1);\n const tomorrowSolarTime = new SolarTime(tomorrow, {\n ...coordinates,\n latitude,\n });\n if (!isValidSolarTime(solarTime) || !isValidSolarTime(tomorrowSolarTime)) {\n return Math.abs(latitude) >= UNSAFE_LATITUDE\n ? aqrabBaladResolver(\n coordinates,\n date,\n latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP,\n )\n : null;\n }\n\n return {\n date,\n tomorrow,\n coordinates: { latitude, longitude: coordinates.longitude },\n solarTime,\n tomorrowSolarTime,\n };\n};\n\nexport const polarCircleResolvedValues = (resolver, date, coordinates) => {\n const defaultReturn = {\n date,\n tomorrow: dateByAddingDays(date, 1),\n coordinates,\n solarTime: new SolarTime(date, coordinates),\n tomorrowSolarTime: new SolarTime(dateByAddingDays(date, 1), coordinates),\n };\n\n switch (resolver) {\n case PolarCircleResolution.AqrabYaum: {\n return aqrabYaumResolver(coordinates, date) || defaultReturn;\n }\n case PolarCircleResolution.AqrabBalad: {\n const { latitude } = coordinates;\n return (\n aqrabBaladResolver(\n coordinates,\n date,\n latitude - Math.sign(latitude) * LATITUDE_VARIATION_STEP,\n ) || defaultReturn\n );\n }\n default: {\n return defaultReturn;\n }\n }\n};\n","import SolarTime from './SolarTime';\nimport TimeComponents from './TimeComponents';\nimport Prayer from './Prayer';\nimport Astronomical from './Astronomical';\nimport {\n dateByAddingDays,\n dateByAddingMinutes,\n dateByAddingSeconds,\n roundedMinute,\n dayOfYear,\n isValidDate,\n} from './DateUtils';\nimport { shadowLength } from './Madhab';\nimport {\n PolarCircleResolution,\n polarCircleResolvedValues,\n} from './PolarCircleResolution';\n\nexport default class PrayerTimes {\n // eslint-disable-next-line complexity\n constructor(coordinates, date, calculationParameters) {\n this.coordinates = coordinates;\n this.date = date;\n this.calculationParameters = calculationParameters;\n\n let solarTime = new SolarTime(date, coordinates);\n\n let fajrTime;\n let sunriseTime;\n let dhuhrTime;\n let asrTime;\n let maghribTime;\n let ishaTime;\n\n let nightFraction;\n\n dhuhrTime = new TimeComponents(solarTime.transit).utcDate(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n );\n sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n );\n let sunsetTime = new TimeComponents(solarTime.sunset).utcDate(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n );\n const tomorrow = dateByAddingDays(date, 1);\n let tomorrowSolarTime = new SolarTime(tomorrow, coordinates);\n\n const polarCircleResolver = calculationParameters.polarCircleResolution;\n if (\n (!isValidDate(sunriseTime) ||\n !isValidDate(sunsetTime) ||\n isNaN(tomorrowSolarTime.sunrise)) &&\n polarCircleResolver !== PolarCircleResolution.Unresolved\n ) {\n const resolved = polarCircleResolvedValues(\n polarCircleResolver,\n date,\n coordinates,\n );\n solarTime = resolved.solarTime;\n tomorrowSolarTime = resolved.tomorrowSolarTime;\n const dateComponents = [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n ];\n\n dhuhrTime = new TimeComponents(solarTime.transit).utcDate(\n ...dateComponents,\n );\n sunriseTime = new TimeComponents(solarTime.sunrise).utcDate(\n ...dateComponents,\n );\n sunsetTime = new TimeComponents(solarTime.sunset).utcDate(\n ...dateComponents,\n );\n }\n\n // eslint-disable-next-line prefer-const\n asrTime = new TimeComponents(\n solarTime.afternoon(shadowLength(calculationParameters.madhab)),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n const tomorrowSunrise = new TimeComponents(\n tomorrowSolarTime.sunrise,\n ).utcDate(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate());\n const night = (tomorrowSunrise - sunsetTime) / 1000;\n\n fajrTime = new TimeComponents(\n solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n // special case for moonsighting committee above latitude 55\n if (\n calculationParameters.method === 'MoonsightingCommittee' &&\n coordinates.latitude >= 55\n ) {\n nightFraction = night / 7;\n fajrTime = dateByAddingSeconds(sunriseTime, -nightFraction);\n }\n\n const safeFajr = (function () {\n if (calculationParameters.method === 'MoonsightingCommittee') {\n return Astronomical.seasonAdjustedMorningTwilight(\n coordinates.latitude,\n dayOfYear(date),\n date.getFullYear(),\n sunriseTime,\n );\n } else {\n const portion = calculationParameters.nightPortions().fajr;\n nightFraction = portion * night;\n return dateByAddingSeconds(sunriseTime, -nightFraction);\n }\n })();\n\n if (fajrTime === null || isNaN(fajrTime.getTime()) || safeFajr > fajrTime) {\n fajrTime = safeFajr;\n }\n\n if (calculationParameters.ishaInterval > 0) {\n ishaTime = dateByAddingMinutes(\n sunsetTime,\n calculationParameters.ishaInterval,\n );\n } else {\n ishaTime = new TimeComponents(\n solarTime.hourAngle(-1 * calculationParameters.ishaAngle, true),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n\n // special case for moonsighting committee above latitude 55\n if (\n calculationParameters.method === 'MoonsightingCommittee' &&\n coordinates.latitude >= 55\n ) {\n nightFraction = night / 7;\n ishaTime = dateByAddingSeconds(sunsetTime, nightFraction);\n }\n\n const safeIsha = (function () {\n if (calculationParameters.method === 'MoonsightingCommittee') {\n return Astronomical.seasonAdjustedEveningTwilight(\n coordinates.latitude,\n dayOfYear(date),\n date.getFullYear(),\n sunsetTime,\n calculationParameters.shafaq,\n );\n } else {\n const portion = calculationParameters.nightPortions().isha;\n nightFraction = portion * night;\n return dateByAddingSeconds(sunsetTime, nightFraction);\n }\n })();\n\n if (\n ishaTime == null ||\n isNaN(ishaTime.getTime()) ||\n safeIsha < ishaTime\n ) {\n ishaTime = safeIsha;\n }\n }\n\n maghribTime = sunsetTime;\n if (calculationParameters.maghribAngle) {\n const angleBasedMaghrib = new TimeComponents(\n solarTime.hourAngle(-1 * calculationParameters.maghribAngle, true),\n ).utcDate(date.getFullYear(), date.getMonth(), date.getDate());\n if (sunsetTime < angleBasedMaghrib && ishaTime > angleBasedMaghrib) {\n maghribTime = angleBasedMaghrib;\n }\n }\n\n const fajrAdjustment =\n (calculationParameters.adjustments.fajr || 0) +\n (calculationParameters.methodAdjustments.fajr || 0);\n const sunriseAdjustment =\n (calculationParameters.adjustments.sunrise || 0) +\n (calculationParameters.methodAdjustments.sunrise || 0);\n const dhuhrAdjustment =\n (calculationParameters.adjustments.dhuhr || 0) +\n (calculationParameters.methodAdjustments.dhuhr || 0);\n const asrAdjustment =\n (calculationParameters.adjustments.asr || 0) +\n (calculationParameters.methodAdjustments.asr || 0);\n const maghribAdjustment =\n (calculationParameters.adjustments.maghrib || 0) +\n (calculationParameters.methodAdjustments.maghrib || 0);\n const ishaAdjustment =\n (calculationParameters.adjustments.isha || 0) +\n (calculationParameters.methodAdjustments.isha || 0);\n\n this.fajr = roundedMinute(\n dateByAddingMinutes(fajrTime, fajrAdjustment),\n calculationParameters.rounding,\n );\n this.sunrise = roundedMinute(\n dateByAddingMinutes(sunriseTime, sunriseAdjustment),\n calculationParameters.rounding,\n );\n this.dhuhr = roundedMinute(\n dateByAddingMinutes(dhuhrTime, dhuhrAdjustment),\n calculationParameters.rounding,\n );\n this.asr = roundedMinute(\n dateByAddingMinutes(asrTime, asrAdjustment),\n calculationParameters.rounding,\n );\n this.maghrib = roundedMinute(\n dateByAddingMinutes(maghribTime, maghribAdjustment),\n calculationParameters.rounding,\n );\n this.isha = roundedMinute(\n dateByAddingMinutes(ishaTime, ishaAdjustment),\n calculationParameters.rounding,\n );\n }\n\n timeForPrayer(prayer) {\n if (prayer === Prayer.Fajr) {\n return this.fajr;\n } else if (prayer === Prayer.Sunrise) {\n return this.sunrise;\n } else if (prayer === Prayer.Dhuhr) {\n return this.dhuhr;\n } else if (prayer === Prayer.Asr) {\n return this.asr;\n } else if (prayer === Prayer.Maghrib) {\n return this.maghrib;\n } else if (prayer === Prayer.Isha) {\n return this.isha;\n } else {\n return null;\n }\n }\n\n currentPrayer(date) {\n if (typeof date === 'undefined') {\n date = new Date();\n }\n if (date >= this.isha) {\n return Prayer.Isha;\n } else if (date >= this.maghrib) {\n return Prayer.Maghrib;\n } else if (date >= this.asr) {\n return Prayer.Asr;\n } else if (date >= this.dhuhr) {\n return Prayer.Dhuhr;\n } else if (date >= this.sunrise) {\n return Prayer.Sunrise;\n } else if (date >= this.fajr) {\n return Prayer.Fajr;\n } else {\n return Prayer.None;\n }\n }\n\n nextPrayer(date) {\n if (typeof date === 'undefined') {\n date = new Date();\n }\n if (date >= this.isha) {\n return Prayer.None;\n } else if (date >= this.maghrib) {\n return Prayer.Isha;\n } else if (date >= this.asr) {\n return Prayer.Maghrib;\n } else if (date >= this.dhuhr) {\n return Prayer.Asr;\n } else if (date >= this.sunrise) {\n return Prayer.Dhuhr;\n } else if (date >= this.fajr) {\n return Prayer.Sunrise;\n } else {\n return Prayer.Fajr;\n }\n }\n}\n","const HighLatitudeRule = {\n MiddleOfTheNight: 'middleofthenight',\n SeventhOfTheNight: 'seventhofthenight',\n TwilightAngle: 'twilightangle',\n\n recommended(coordinates) {\n if (coordinates.latitude > 48) {\n return HighLatitudeRule.SeventhOfTheNight;\n } else {\n return HighLatitudeRule.MiddleOfTheNight;\n }\n },\n};\n\nexport default HighLatitudeRule;\n","import { Madhab } from './Madhab';\nimport HighLatitudeRule from './HighLatitudeRule';\nimport { PolarCircleResolution } from './PolarCircleResolution';\nimport { Rounding } from './Rounding';\nimport { Shafaq } from './Shafaq';\n\nexport default class CalculationParameters {\n constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) {\n // Name of the method, can be used to apply special behavior in calculations.\n // This property should not be manually modified.\n this.method = methodName || 'Other';\n\n // Angle of the sun below the horizon used for calculating Fajr.\n this.fajrAngle = fajrAngle || 0;\n\n // Angle of the sun below the horizon used for calculating Isha.\n this.ishaAngle = ishaAngle || 0;\n\n // Minutes after Maghrib to determine time for Isha\n // if this value is greater than 0 then ishaAngle is not used.\n this.ishaInterval = ishaInterval || 0;\n\n // Angle of the sun below the horizon used for calculating Maghrib.\n // Only used by the Tehran method to account for lightness in the sky.\n this.maghribAngle = maghribAngle;\n\n // Madhab to determine how Asr is calculated.\n this.madhab = Madhab.Shafi;\n\n // Rule to determine the earliest time for Fajr and latest time for Isha\n // needed for high latitude locations where Fajr and Isha may not truly exist\n // or may present a hardship unless bound to a reasonable time.\n this.highLatitudeRule = HighLatitudeRule.MiddleOfTheNight;\n\n // Manual adjustments (in minutes) to be added to each prayer time.\n this.adjustments = {\n fajr: 0,\n sunrise: 0,\n dhuhr: 0,\n asr: 0,\n maghrib: 0,\n isha: 0,\n };\n\n // Adjustments set by a calculation method. This value should not be manually modified.\n this.methodAdjustments = {\n fajr: 0,\n sunrise: 0,\n dhuhr: 0,\n asr: 0,\n maghrib: 0,\n isha: 0,\n };\n\n // Rule to determine how to resolve prayer times inside the Polar Circle\n // where daylight or night may persist for more than 24 hours depending\n // on the season\n this.polarCircleResolution = PolarCircleResolution.Unresolved;\n\n // How seconds are rounded when calculating prayer times\n this.rounding = Rounding.Nearest;\n\n // Used by the MoonsightingCommittee method to determine how to calculate Isha\n this.shafaq = Shafaq.General;\n }\n\n nightPortions() {\n switch (this.highLatitudeRule) {\n case HighLatitudeRule.MiddleOfTheNight:\n return { fajr: 1 / 2, isha: 1 / 2 };\n case HighLatitudeRule.SeventhOfTheNight:\n return { fajr: 1 / 7, isha: 1 / 7 };\n case HighLatitudeRule.TwilightAngle:\n return { fajr: this.fajrAngle / 60, isha: this.ishaAngle / 60 };\n default:\n throw `Invalid high latitude rule found when attempting to compute night portions: ${this.highLatitudeRule}`;\n }\n }\n}\n","import CalculationParameters from './CalculationParameters';\nimport { Rounding } from './Rounding';\n\nconst CalculationMethod = {\n // Muslim World League\n MuslimWorldLeague() {\n const params = new CalculationParameters('MuslimWorldLeague', 18, 17);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Egyptian General Authority of Survey\n Egyptian() {\n const params = new CalculationParameters('Egyptian', 19.5, 17.5);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // University of Islamic Sciences, Karachi\n Karachi() {\n const params = new CalculationParameters('Karachi', 18, 18);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Umm al-Qura University, Makkah\n UmmAlQura() {\n return new CalculationParameters('UmmAlQura', 18.5, 0, 90);\n },\n\n // Dubai\n Dubai() {\n const params = new CalculationParameters('Dubai', 18.2, 18.2);\n params.methodAdjustments = { sunrise: -3, dhuhr: 3, asr: 3, maghrib: 3 };\n return params;\n },\n\n // Moonsighting Committee\n MoonsightingCommittee() {\n const params = new CalculationParameters('MoonsightingCommittee', 18, 18);\n params.methodAdjustments = { dhuhr: 5, maghrib: 3 };\n return params;\n },\n\n // ISNA\n NorthAmerica() {\n const params = new CalculationParameters('NorthAmerica', 15, 15);\n params.methodAdjustments = { dhuhr: 1 };\n return params;\n },\n\n // Kuwait\n Kuwait() {\n return new CalculationParameters('Kuwait', 18, 17.5);\n },\n\n // Qatar\n Qatar() {\n return new CalculationParameters('Qatar', 18, 0, 90);\n },\n\n // Singapore\n Singapore() {\n const params = new CalculationParameters('Singapore', 20, 18);\n params.methodAdjustments = { dhuhr: 1 };\n params.rounding = Rounding.Up;\n return params;\n },\n\n // Institute of Geophysics, University of Tehran\n Tehran() {\n const params = new CalculationParameters('Tehran', 17.7, 14, 0, 4.5);\n return params;\n },\n\n // Dianet\n Turkey() {\n const params = new CalculationParameters('Turkey', 18, 17);\n params.methodAdjustments = { sunrise: -7, dhuhr: 5, asr: 4, maghrib: 7 };\n return params;\n },\n\n // Other\n Other() {\n return new CalculationParameters('Other', 0, 0);\n },\n};\n\nexport default CalculationMethod;\n","import Coordinates from './Coordinates';\nimport { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils';\n\nexport default function qibla(coordinates) {\n const makkah = new Coordinates(21.4225241, 39.8261818);\n\n // Equation from \"Spherical Trigonometry For the use of colleges and schools\" page 50\n const term1 = Math.sin(\n degreesToRadians(makkah.longitude) -\n degreesToRadians(coordinates.longitude),\n );\n const term2 =\n Math.cos(degreesToRadians(coordinates.latitude)) *\n Math.tan(degreesToRadians(makkah.latitude));\n const term3 =\n Math.sin(degreesToRadians(coordinates.latitude)) *\n Math.cos(\n degreesToRadians(makkah.longitude) -\n degreesToRadians(coordinates.longitude),\n );\n const angle = Math.atan2(term1, term2 - term3);\n\n return unwindAngle(radiansToDegrees(angle));\n}\n","import {\n dateByAddingDays,\n dateByAddingSeconds,\n roundedMinute,\n} from './DateUtils';\nimport PrayerTimes from './PrayerTimes';\n\nexport default class SunnahTimes {\n constructor(prayerTimes) {\n const date = prayerTimes.date;\n const nextDay = dateByAddingDays(date, 1);\n const nextDayPrayerTimes = new PrayerTimes(\n prayerTimes.coordinates,\n nextDay,\n prayerTimes.calculationParameters,\n );\n\n const nightDuration =\n (nextDayPrayerTimes.fajr.getTime() - prayerTimes.maghrib.getTime()) /\n 1000.0;\n\n this.middleOfTheNight = roundedMinute(\n dateByAddingSeconds(prayerTimes.maghrib, nightDuration / 2),\n );\n this.lastThirdOfTheNight = roundedMinute(\n dateByAddingSeconds(prayerTimes.maghrib, nightDuration * (2 / 3)),\n );\n }\n}\n","import Coordinates from './Coordinates';\nimport PrayerTimes from './PrayerTimes';\nimport Prayer from './Prayer';\nimport { Madhab } from './Madhab';\nimport HighLatitudeRule from './HighLatitudeRule';\nimport CalculationMethod from './CalculationMethod';\nimport CalculationParameters from './CalculationParameters';\nimport Qibla from './Qibla';\nimport SunnahTimes from './SunnahTimes';\nimport { PolarCircleResolution } from './PolarCircleResolution';\nimport { Rounding } from './Rounding';\nimport { Shafaq } from './Shafaq';\n\nconst adhan = {\n Prayer,\n Madhab,\n HighLatitudeRule,\n Coordinates,\n CalculationParameters,\n CalculationMethod,\n PrayerTimes,\n SunnahTimes,\n Qibla,\n PolarCircleResolution,\n Rounding,\n Shafaq,\n};\n\nexport default adhan;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/babel.config.js b/babel.config.js index f037a1a..d0438f9 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,12 +1,38 @@ +const sharedPresets = ['@babel/typescript']; +const shared = { + ignore: ['src/**/*.spec.ts', 'src/**/*.spec.js'], + presets: sharedPresets, +}; + module.exports = { - presets: [ - [ - '@babel/preset-env', - { - targets: { - node: 'current', - }, - }, - ], - ], + env: { + esmUnbundled: shared, + esmBundled: { + ...shared, + presets: [ + [ + '@babel/env', + { + targets: '> 0.25%, not dead', + }, + ], + ...sharedPresets, + ], + }, + cjs: { + ...shared, + presets: [ + [ + '@babel/env', + { + modules: 'commonjs', + }, + ], + ...sharedPresets, + ], + }, + test: { + presets: ['@babel/env', ...sharedPresets], + }, + }, }; diff --git a/jest.config.js b/jest.config.js index ea36495..9988bb6 100644 --- a/jest.config.js +++ b/jest.config.js @@ -7,7 +7,12 @@ module.exports = { // An array of file extensions your modules use moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node'], - collectCoverageFrom: ['src/**/*.js'], + collectCoverageFrom: [ + 'src/**/*.js', + 'src/**/*.ts', + '!src/**/*.spec.js', + '!src/**/*.spec.ts', + ], // The test environment that will be used for testing testEnvironment: 'node', diff --git a/package-lock.json b/package-lock.json index 02812d1..368cb6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,67 +9,142 @@ "version": "4.3.2", "license": "MIT", "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.5", - "@babel/register": "^7.9.0", - "@commitlint/cli": "^12.0.1", - "@commitlint/config-conventional": "^12.0.1", - "@semantic-release/changelog": "^5.0.1", - "@semantic-release/git": "^9.0.0", - "babel-loader": "^8.1.0", - "codecov": "^3.6.5", - "commitizen": "^4.2.3", + "@babel/cli": "^7.17.6", + "@babel/core": "^7.17.9", + "@babel/preset-env": "^7.16.11", + "@babel/preset-typescript": "^7.16.7", + "@babel/register": "^7.17.7", + "@commitlint/cli": "^16.2.3", + "@commitlint/config-conventional": "^16.2.1", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-node-resolve": "^13.2.1", + "@semantic-release/changelog": "^6.0.1", + "@semantic-release/git": "^10.0.1", + "@types/jest": "^27.4.1", + "babel-loader": "^8.2.4", + "commitizen": "^4.2.4", + "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.3.0", - "eslint": "^7.17.0", - "eslint-plugin-jest": "^24.1.5", - "husky": "^5.1.2", - "jest": "^26.6.0", - "moment": "^2.24.0", - "moment-timezone": "^0.5.28", + "eslint": "^8.13.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-jest": "^26.1.4", + "eslint-plugin-prettier": "^4.0.0", + "husky": "^7.0.4", + "jest": "^27.5.1", + "moment": "^2.29.2", + "moment-timezone": "^0.5.34", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", "pretty-quick": "^3.1.3", - "semantic-release": "^17.4.0", - "webpack": "^4.42.1", - "webpack-cli": "^3.3.11" + "rimraf": "^3.0.2", + "rollup": "^2.70.2", + "rollup-plugin-terser": "^7.0.2", + "semantic-release": "^19.0.2", + "typescript": "^4.6.3" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/cli": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.17.6.tgz", + "integrity": "sha512-l4w608nsDNlxZhiJ5tE3DbNmr61fIKMZ6fTBo171VEFuFMIYuJ3mHRhTLEkKKyvx2Mizkkv/0a8OJOnZqkKYNA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.4", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/cli/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@babel/cli/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" } }, "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "dependencies": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", - "dev": true + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/core": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz", - "integrity": "sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -80,84 +155,103 @@ } }, "node_modules/@babel/generator": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.0.tgz", - "integrity": "sha512-C6u00HbmsrNPug6A+CiNl8rEys7TsdcXwg12BHi2ca5rUfAs3+UwZsuDQSXnc+wCElCXMB8gMaJ3YXDdh8fAlg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", "dev": true, "dependencies": { - "@babel/types": "^7.14.0", + "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.0.tgz", - "integrity": "sha512-6pXDPguA5zC40Y8oI5mqr+jEUpjMJonKvknvA+vD8CYDz5uuXEwWBK8sRAsE/t3gfb1k15AQb9RhwpscC4nUJQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", @@ -173,194 +267,250 @@ "@babel/core": "^7.4.0-0" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "dependencies": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "node_modules/@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "dependencies": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "dependencies": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz", - "integrity": "sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", - "dev": true + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "dependencies": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", - "dev": true + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", - "dev": true + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dev": true, "dependencies": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.0", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.0.tgz", - "integrity": "sha512-AHbfoxesfBALg33idaTBVUkLnfXtsgvJREf93p4p0Lwsz4ppfE7g1tpEXVm4vrxUcH4DVhAa9Z1m1zqf9WUC7Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -369,217 +519,278 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.13.0" } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", - "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", - "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-class-static-block": "^7.12.13" + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.12.0" } }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" + "@babel/plugin-transform-parameters": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-create-class-features-plugin": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=4" @@ -625,12 +836,15 @@ } }, "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", - "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -757,466 +971,603 @@ } }, "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.0.tgz", - "integrity": "sha512-CF4c5LX4LQ03LebQxJ5JZes2OYjzBuk1TdiF7cG7d5dK4lAdw9NZmaxq5K/mouUdNeqwz3TNjnW6v01UqUNgpQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", - "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", - "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "dependencies": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.0.tgz", - "integrity": "sha512-GWRCdBv2whxqqaSi7bo/BEXf070G/fWFMEdCnmoRg2CZJy4GK06ovFuEjJrZhDRXYgBsYtxVbG8GUHvw+UWBkQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.15", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -1226,56 +1577,59 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.13.16", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.14.0", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.14.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1288,66 +1642,100 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/register": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.16.tgz", - "integrity": "sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", + "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.0", + "pirates": "^4.0.5", "source-map-support": "^0.5.16" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/runtime": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.0.tgz", - "integrity": "sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.0", - "@babel/types": "^7.14.0", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.9", + "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.0.tgz", - "integrity": "sha512-O2LVLdcnWplaGxiPBz12d0HcdN8QdxdsWYhz5LSeuukV/5mn2xUUc3gBeU4QBYPJ18g/UToe8F532XJ608prmg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.0", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@bcoe/v8-coverage": { @@ -1356,91 +1744,156 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, + "optional": true, "engines": { - "node": ">=0.1.95" + "node": ">=0.1.90" } }, "node_modules/@commitlint/cli": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-12.1.1.tgz", - "integrity": "sha512-SB67/s6VJ50seoPx/Sr2gj1fMzKrx+udgarecGdr8h43ah+M2e22gjQJ7xHv5KwyPQ+6ug1YOMCL34ubT4zupQ==", + "version": "16.2.3", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-16.2.3.tgz", + "integrity": "sha512-VsJBQLvhhlOgEfxs/Z5liYuK0dXqLE5hz1VJzLBxiOxG31kL/X5Q4OvK292BmO7IGZcm1yJE3XQPWSiFaEHbWA==", "dev": true, "dependencies": { - "@commitlint/format": "^12.1.1", - "@commitlint/lint": "^12.1.1", - "@commitlint/load": "^12.1.1", - "@commitlint/read": "^12.1.1", - "@commitlint/types": "^12.1.1", - "get-stdin": "8.0.0", + "@commitlint/format": "^16.2.1", + "@commitlint/lint": "^16.2.1", + "@commitlint/load": "^16.2.3", + "@commitlint/read": "^16.2.1", + "@commitlint/types": "^16.2.1", "lodash": "^4.17.19", "resolve-from": "5.0.0", "resolve-global": "1.0.0", - "yargs": "^16.2.0" + "yargs": "^17.0.0" }, "bin": { "commitlint": "cli.js" }, "engines": { - "node": ">=v10" + "node": ">=v12" + } + }, + "node_modules/@commitlint/cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/cli/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/cli/node_modules/yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@commitlint/cli/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" } }, "node_modules/@commitlint/config-conventional": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-12.1.1.tgz", - "integrity": "sha512-15CqbXMsQiEb0qbzjEHe2OkzaXPYSp7RxaS6KoSVk/4W0QiigquavQ+M0huBZze92h0lMS6Pxoq4AJ5CQ3D+iQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.2.1.tgz", + "integrity": "sha512-cP9gArx7gnaj4IqmtCIcHdRjTYdRUi6lmGE+lOzGGjGe45qGOS8nyQQNvkNy2Ey2VqoSWuXXkD8zCUh6EHf1Ww==", "dev": true, "dependencies": { "conventional-changelog-conventionalcommits": "^4.3.1" }, "engines": { - "node": ">=v10" + "node": ">=v12" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-16.2.1.tgz", + "integrity": "sha512-hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==", + "dev": true, + "dependencies": { + "@commitlint/types": "^16.2.1", + "ajv": "^6.12.6" + }, + "engines": { + "node": ">=v12" } }, "node_modules/@commitlint/ensure": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.1.1.tgz", - "integrity": "sha512-XEUQvUjzBVQM7Uv8vYz+c7PDukFvx0AvQEyX/V+PaTkCK/xPvexu7FLbFwvypjSt9BPMf+T/rhB1hVmldkd6lw==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-16.2.1.tgz", + "integrity": "sha512-/h+lBTgf1r5fhbDNHOViLuej38i3rZqTQnBTk+xEg+ehOwQDXUuissQ5GsYXXqI5uGy+261ew++sT4EA3uBJ+A==", "dev": true, "dependencies": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "lodash": "^4.17.19" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/execute-rule": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.1.1.tgz", - "integrity": "sha512-6mplMGvLCKF5LieL7BRhydpg32tm6LICnWQADrWU4S5g9PKi2utNvhiaiuNPoHUXr29RdbNaGNcyyPv8DSjJsQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-16.2.1.tgz", + "integrity": "sha512-oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==", "dev": true, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/format": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-12.1.1.tgz", - "integrity": "sha512-bTAoOryTFLqls17JTaRwk2WDVOP0NwuG4F/JPK8RaF6DMZNVQTfajkgTxFENNZRnESfau1BvivvEXfUAW2ZsvA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-16.2.1.tgz", + "integrity": "sha512-Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q==", "dev": true, "dependencies": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "chalk": "^4.0.0" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/format/node_modules/ansi-styles": { @@ -1459,9 +1912,9 @@ } }, "node_modules/@commitlint/format/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -1514,16 +1967,16 @@ } }, "node_modules/@commitlint/is-ignored": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.1.1.tgz", - "integrity": "sha512-Sn4fsnWX+wLAJOD/UZeoVruB98te1TyPYRiDEq0MhRJAQIrP+7jE/O3/ass68AAMq00HvH3OK9kt4UBXggcGjA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.2.1.tgz", + "integrity": "sha512-exl8HRzTIfb1YvDJp2b2HU5z1BT+9tmgxR2XF0YEzkMiCIuEKh+XLeocPr1VcvAKXv3Cmv5X/OfNRp+i+/HIhQ==", "dev": true, "dependencies": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "semver": "7.3.5" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/is-ignored/node_modules/semver": { @@ -1542,36 +1995,40 @@ } }, "node_modules/@commitlint/lint": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-12.1.1.tgz", - "integrity": "sha512-FFFPpku/E0svL1jaUVqosuZJDDWiNWYBlUw5ZEljh3MwWRcoaWtMIX5bseX+IvHpFZsCTAiBs1kCgNulCi0UvA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-16.2.1.tgz", + "integrity": "sha512-fNINQ3X2ZqsCkNB3Z0Z8ElmhewqrS3gy2wgBTx97BkcjOWiyPAGwDJ752hwrsUnWAVBRztgw826n37xPzxsOgg==", "dev": true, "dependencies": { - "@commitlint/is-ignored": "^12.1.1", - "@commitlint/parse": "^12.1.1", - "@commitlint/rules": "^12.1.1", - "@commitlint/types": "^12.1.1" + "@commitlint/is-ignored": "^16.2.1", + "@commitlint/parse": "^16.2.1", + "@commitlint/rules": "^16.2.1", + "@commitlint/types": "^16.2.1" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/load": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-12.1.1.tgz", - "integrity": "sha512-qOQtgNdJRULUQWP9jkpTwhj7aEtnqUtqeUpbQ9rjS+GIUST65HZbteNUX4S0mAEGPWqy2aK5xGd73cUfFSvuuw==", + "version": "16.2.3", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-16.2.3.tgz", + "integrity": "sha512-Hb4OUlMnBUK6UxJEZ/VJ5k0LocIS7PtEMbRXEAA7eSpOgORIFexC4K/RaRpVd5UTtu3M0ST3ddPPijF9rdW6nw==", "dev": true, "dependencies": { - "@commitlint/execute-rule": "^12.1.1", - "@commitlint/resolve-extends": "^12.1.1", - "@commitlint/types": "^12.1.1", + "@commitlint/config-validator": "^16.2.1", + "@commitlint/execute-rule": "^16.2.1", + "@commitlint/resolve-extends": "^16.2.1", + "@commitlint/types": "^16.2.1", + "@types/node": ">=12", "chalk": "^4.0.0", "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^1.0.0", "lodash": "^4.17.19", - "resolve-from": "^5.0.0" + "resolve-from": "^5.0.0", + "typescript": "^4.4.3" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/load/node_modules/ansi-styles": { @@ -1645,104 +2102,165 @@ } }, "node_modules/@commitlint/message": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-12.1.1.tgz", - "integrity": "sha512-RakDSLAiOligXjhbLahV8HowF4K75pZIcs0+Ii9Q8Gz5H3DWf1Ngit7alFTWfcbf/+DTjSzVPov5HiwQZPIBUg==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-16.2.1.tgz", + "integrity": "sha512-2eWX/47rftViYg7a3axYDdrgwKv32mxbycBJT6OQY/MJM7SUfYNYYvbMFOQFaA4xIVZt7t2Alyqslbl6blVwWw==", "dev": true, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/parse": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-12.1.1.tgz", - "integrity": "sha512-nuljIvAbBDr93DgL0wCArftEIhjSghawAwhvrKNV9FFcqAJqfVqitwMxJrNDCQ5pgUMCSKULLOEv+dA0bLlTEQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-16.2.1.tgz", + "integrity": "sha512-2NP2dDQNL378VZYioLrgGVZhWdnJO4nAxQl5LXwYb08nEcN+cgxHN1dJV8OLJ5uxlGJtDeR8UZZ1mnQ1gSAD/g==", "dev": true, "dependencies": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.0.0" + "conventional-commits-parser": "^3.2.2" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/read": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-12.1.1.tgz", - "integrity": "sha512-1k0CQEoZIdixvmqZRKEcWdj2XiKS7SlizEOJ1SE99Qui5d5FlBey8eaooTGgmpR6zObpIHJehtEPzM3VzUT3qA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-16.2.1.tgz", + "integrity": "sha512-tViXGuaxLTrw2r7PiYMQOFA2fueZxnnt0lkOWqKyxT+n2XdEMGYcI9ID5ndJKXnfPGPppD0w/IItKsIXlZ+alw==", "dev": true, "dependencies": { - "@commitlint/top-level": "^12.1.1", - "@commitlint/types": "^12.1.1", - "fs-extra": "^9.0.0", + "@commitlint/top-level": "^16.2.1", + "@commitlint/types": "^16.2.1", + "fs-extra": "^10.0.0", "git-raw-commits": "^2.0.0" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, - "node_modules/@commitlint/resolve-extends": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.1.1.tgz", - "integrity": "sha512-/DXRt0S0U3o9lq5cc8OL1Lkx0IjW0HcDWjUkUXshAajBIKBYSJB8x/loNCi1krNEJ8SwLXUEFt5OLxNO6wE9yQ==", + "node_modules/@commitlint/read/node_modules/fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", "dev": true, "dependencies": { - "import-fresh": "^3.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=v10" + "node": ">=12" } }, - "node_modules/@commitlint/rules": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-12.1.1.tgz", - "integrity": "sha512-oCcLF/ykcJfhM2DeeaDyrgdaiuKsqIPNocugdPj2WEyhSYqmx1/u18CV96LAtW+WyyiOLCCeiZwiQutx3T5nXg==", + "node_modules/@commitlint/resolve-extends": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-16.2.1.tgz", + "integrity": "sha512-NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==", "dev": true, "dependencies": { - "@commitlint/ensure": "^12.1.1", - "@commitlint/message": "^12.1.1", - "@commitlint/to-lines": "^12.1.1", - "@commitlint/types": "^12.1.1" + "@commitlint/config-validator": "^16.2.1", + "@commitlint/types": "^16.2.1", + "import-fresh": "^3.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" }, "engines": { - "node": ">=v10" - } - }, - "node_modules/@commitlint/to-lines": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.1.1.tgz", - "integrity": "sha512-W23AH2XF5rI27MOAPSSr0TUDoRe7ZbFoRtYhFnPu2MBmcuDA9Tmfd9N5sM2tBXtdE26uq3SazwKqGt1OoGAilQ==", - "dev": true, - "engines": { - "node": ">=v10" + "node": ">=v12" } }, - "node_modules/@commitlint/top-level": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.1.1.tgz", - "integrity": "sha512-g7uRbr81QEIg+pbii0OkE17Zh/2C/f6dSmiMDVRn1S0+hNHR1bENCh18hVUKcV/qKTUsKkFlhhWXM9mQBfxQJw==", + "node_modules/@commitlint/rules": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-16.2.1.tgz", + "integrity": "sha512-ZFezJXQaBBso+BOTre/+1dGCuCzlWVaeLiVRGypI53qVgPMzQqZhkCcrxBFeqB87qeyzr4A4EoG++IvITwwpIw==", "dev": true, "dependencies": { - "find-up": "^5.0.0" + "@commitlint/ensure": "^16.2.1", + "@commitlint/message": "^16.2.1", + "@commitlint/to-lines": "^16.2.1", + "@commitlint/types": "^16.2.1", + "execa": "^5.0.0" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, - "node_modules/@commitlint/types": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-12.1.1.tgz", - "integrity": "sha512-+qGH+s2Lo6qwacV2X3/ZypZwaAI84ift+1HBjXdXtI/q0F5NtmXucV3lcQOTviMTNiJhq4qWON2fjci2NItASw==", + "node_modules/@commitlint/rules/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "chalk": "^4.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/rules/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/rules/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-16.2.1.tgz", + "integrity": "sha512-9/VjpYj5j1QeY3eiog1zQWY6axsdWAc0AonUUfyZ7B0MVcRI0R56YsHAfzF6uK/g/WwPZaoe4Lb1QCyDVnpVaQ==", + "dev": true, + "engines": { + "node": ">=v12" + } + }, + "node_modules/@commitlint/top-level": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-16.2.1.tgz", + "integrity": "sha512-lS6GSieHW9y6ePL73ied71Z9bOKyK+Ib9hTkRsB8oZFAyQZcyRwq2w6nIa6Fngir1QW51oKzzaXfJL94qwImyw==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=v12" + } + }, + "node_modules/@commitlint/types": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-16.2.1.tgz", + "integrity": "sha512-7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" }, "engines": { - "node": ">=v10" + "node": ">=v12" } }, "node_modules/@commitlint/types/node_modules/ansi-styles": { @@ -1761,9 +2279,9 @@ } }, "node_modules/@commitlint/types/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -1815,33 +2333,60 @@ "node": ">=8" } }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-consumer": "0.8.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", + "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "dependencies": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" @@ -1850,6 +2395,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -1863,14 +2420,37 @@ } }, "node_modules/@eslint/eslintrc/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==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -1949,20 +2529,20 @@ } }, "node_modules/@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/console/node_modules/ansi-styles": { @@ -1981,9 +2561,9 @@ } }, "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2036,42 +2616,50 @@ } }, "node_modules/@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", "dev": true, "dependencies": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", + "emittery": "^0.8.1", "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, "node_modules/@jest/core/node_modules/ansi-escapes": { @@ -2105,9 +2693,9 @@ } }, "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2172,87 +2760,93 @@ } }, "node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", "dev": true, "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", - "jest-mock": "^26.6.2" + "jest-mock": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", "dev": true, "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.2", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" + "v8-to-istanbul": "^8.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "optionalDependencies": { - "node-notifier": "^8.0.0" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, "node_modules/@jest/reporters/node_modules/ansi-styles": { @@ -2271,9 +2865,9 @@ } }, "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2313,6 +2907,35 @@ "node": ">=8" } }, + "node_modules/@jest/reporters/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/reporters/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/@jest/reporters/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2335,17 +2958,17 @@ } }, "node_modules/@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", "dev": true, "dependencies": { "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "source-map": "^0.6.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/source-map/node_modules/source-map": { @@ -2358,60 +2981,59 @@ } }, "node_modules/@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dev": true, "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", "dev": true, "dependencies": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", "dev": true, "dependencies": { "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/transform/node_modules/ansi-styles": { @@ -2430,9 +3052,9 @@ } }, "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2494,19 +3116,19 @@ } }, "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^15.0.0", + "@types/yargs": "^16.0.0", "chalk": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/types/node_modules/ansi-styles": { @@ -2525,9 +3147,9 @@ } }, "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2579,13 +3201,45 @@ "node": ">=8" } }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.4", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" }, "engines": { @@ -2593,21 +3247,21 @@ } }, "node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.4", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" }, "engines": { @@ -2615,23 +3269,23 @@ } }, "node_modules/@octokit/auth-token": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", - "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dev": true, "dependencies": { "@octokit/types": "^6.0.3" } }, "node_modules/@octokit/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz", - "integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dev": true, "dependencies": { "@octokit/auth-token": "^2.4.4", "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.4.12", + "@octokit/request": "^5.6.3", "@octokit/request-error": "^2.0.5", "@octokit/types": "^6.0.3", "before-after-hook": "^2.2.0", @@ -2639,9 +3293,9 @@ } }, "node_modules/@octokit/endpoint": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", - "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, "dependencies": { "@octokit/types": "^6.0.3", @@ -2659,50 +3313,50 @@ } }, "node_modules/@octokit/graphql": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.1.tgz", - "integrity": "sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, "dependencies": { - "@octokit/request": "^5.3.0", + "@octokit/request": "^5.6.0", "@octokit/types": "^6.0.3", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/openapi-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz", - "integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.13.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz", - "integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", "dev": true, "dependencies": { - "@octokit/types": "^6.11.0" + "@octokit/types": "^6.34.0" }, "peerDependencies": { "@octokit/core": ">=2" } }, "node_modules/@octokit/plugin-request-log": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", - "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", "dev": true, "peerDependencies": { "@octokit/core": ">=3" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.0.1.tgz", - "integrity": "sha512-vvWbPtPqLyIzJ7A4IPdTl+8IeuKAwMJ4LjvmqWOOdfSuqWQYZXq2CEd0hsnkidff2YfKlguzujHs/reBdAx8Sg==", + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", "dev": true, "dependencies": { - "@octokit/types": "^6.13.1", + "@octokit/types": "^6.34.0", "deprecation": "^2.3.1" }, "peerDependencies": { @@ -2710,23 +3364,23 @@ } }, "node_modules/@octokit/request": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", - "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dev": true, "dependencies": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dev": true, "dependencies": { "@octokit/types": "^6.0.3", @@ -2744,97 +3398,204 @@ } }, "node_modules/@octokit/rest": { - "version": "18.5.3", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.5.3.tgz", - "integrity": "sha512-KPAsUCr1DOdLVbZJgGNuE/QVLWEaVBpFQwDAz/2Cnya6uW2wJ/P5RVGk0itx7yyN1aGa8uXm2pri4umEqG1JBA==", + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", "dev": true, "dependencies": { - "@octokit/core": "^3.2.3", - "@octokit/plugin-paginate-rest": "^2.6.2", - "@octokit/plugin-request-log": "^1.0.2", - "@octokit/plugin-rest-endpoint-methods": "5.0.1" + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" } }, "node_modules/@octokit/types": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz", - "integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==", + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.2.1.tgz", + "integrity": "sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^2.42.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^7.0.0" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, "node_modules/@semantic-release/changelog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-5.0.1.tgz", - "integrity": "sha512-unvqHo5jk4dvAf2nZ3aw4imrlwQ2I50eVVvq9D47Qc3R+keNqepx1vDYwkjF8guFXnOYaYcR28yrZWno1hFbiw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.1.tgz", + "integrity": "sha512-FT+tAGdWHr0RCM3EpWegWnvXJ05LQtBkQUaQRIExONoXjVjLuOILNm4DEKNaV+GAQyJjbLRVs57ti//GypH6PA==", "dev": true, "dependencies": { - "@semantic-release/error": "^2.1.0", + "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "fs-extra": "^9.0.0", "lodash": "^4.17.4" }, "engines": { - "node": ">=10.18" + "node": ">=14.17" }, "peerDependencies": { - "semantic-release": ">=15.8.0 <18.0.0" + "semantic-release": ">=18.0.0" } }, "node_modules/@semantic-release/commit-analyzer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-8.0.1.tgz", - "integrity": "sha512-5bJma/oB7B4MtwUkZC2Bf7O1MHfi4gWe4mA+MIQ3lsEV0b422Bvl1z5HRpplDnMLHH3EXMoRdEng6Ds5wUqA3A==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-9.0.2.tgz", + "integrity": "sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==", "dev": true, "dependencies": { "conventional-changelog-angular": "^5.0.0", "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.0.7", + "conventional-commits-parser": "^3.2.3", "debug": "^4.0.0", - "import-from": "^3.0.0", + "import-from": "^4.0.0", "lodash": "^4.17.4", "micromatch": "^4.0.2" }, "engines": { - "node": ">=10.18" + "node": ">=14.17" }, "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" + "semantic-release": ">=18.0.0-beta.1" } }, "node_modules/@semantic-release/error": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", - "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", + "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", + "dev": true, + "engines": { + "node": ">=14.17" + } }, "node_modules/@semantic-release/git": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-9.0.0.tgz", - "integrity": "sha512-AZ4Zha5NAPAciIJH3ipzw/WU9qLAn8ENaoVAhD6srRPxTpTzuV3NhNh14rcAo8Paj9dO+5u4rTKcpetOBluYVw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz", + "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==", "dev": true, "dependencies": { - "@semantic-release/error": "^2.1.0", + "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "debug": "^4.0.0", "dir-glob": "^3.0.0", - "execa": "^4.0.0", + "execa": "^5.0.0", "lodash": "^4.17.4", "micromatch": "^4.0.0", "p-reduce": "^2.0.0" }, "engines": { - "node": ">=10.18" + "node": ">=14.17" }, "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" + "semantic-release": ">=18.0.0" + } + }, + "node_modules/@semantic-release/git/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@semantic-release/git/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/git/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" } }, "node_modules/@semantic-release/github": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-7.2.1.tgz", - "integrity": "sha512-+gOhbaG4T3xJb6aTZu1/7KvCmYKRChkasdIyFWdaGaTWVeGpdl4o0zMviV1z3kRcgPOSXeqjHSQ6SOQAfHQiDw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-8.0.4.tgz", + "integrity": "sha512-But4e8oqqP3anZI5tjzZssZc2J6eoUdeeE0s7LVKKwyiAXJiQDWNNvtPOpgG2DsIz4+Exuse7cEQgjGMxwtLmg==", "dev": true, "dependencies": { "@octokit/rest": "^18.0.0", @@ -2843,38 +3604,81 @@ "bottleneck": "^2.18.1", "debug": "^4.0.0", "dir-glob": "^3.0.0", - "fs-extra": "^9.0.0", + "fs-extra": "^10.0.0", "globby": "^11.0.0", - "http-proxy-agent": "^4.0.0", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "issue-parser": "^6.0.0", "lodash": "^4.17.4", - "mime": "^2.4.3", + "mime": "^3.0.0", "p-filter": "^2.0.0", "p-retry": "^4.0.0", "url-join": "^4.0.0" }, "engines": { - "node": ">=10.18" + "node": ">=14.17" }, "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" + "semantic-release": ">=18.0.0-beta.1" + } + }, + "node_modules/@semantic-release/github/node_modules/@semantic-release/error": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", + "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", + "dev": true + }, + "node_modules/@semantic-release/github/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@semantic-release/github/node_modules/fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@semantic-release/github/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, "node_modules/@semantic-release/npm": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-7.1.1.tgz", - "integrity": "sha512-zTYAno1j49XiH+uAVCY47dKOJAagA/MaJb26FFIfNujNHw3GYXk3ygsFa5CSa55xsO0qEMLcsDX3f3ByCg6nZw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-9.0.1.tgz", + "integrity": "sha512-I5nVZklxBzfMFwemhRNbSrkiN/dsH3c7K9+KSk6jUnq0rdLFUuJt7EBsysq4Ir3moajQgFkfEryEHPqiKJj20g==", "dev": true, "dependencies": { - "@semantic-release/error": "^2.2.0", + "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "execa": "^5.0.0", - "fs-extra": "^9.0.0", + "fs-extra": "^10.0.0", "lodash": "^4.17.15", "nerf-dart": "^1.0.0", "normalize-url": "^6.0.0", - "npm": "^7.0.0", + "npm": "^8.3.0", "rc": "^1.2.8", "read-pkg": "^5.0.0", "registry-auth-token": "^4.0.0", @@ -2882,16 +3686,16 @@ "tempy": "^1.0.0" }, "engines": { - "node": ">=10.19" + "node": ">=16 || ^14.17" }, "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" + "semantic-release": ">=19.0.0" } }, "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -2911,6 +3715,20 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/@semantic-release/npm/node_modules/fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@semantic-release/npm/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -2975,9 +3793,9 @@ } }, "node_modules/@semantic-release/npm/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -2999,27 +3817,39 @@ } }, "node_modules/@semantic-release/release-notes-generator": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-9.0.2.tgz", - "integrity": "sha512-xGFSidhGqB27uwgWCU6y0gbf4r/no5flOAkJyFFc4+bPf8S+LfAVm7xhhlK5VPXLt2Iu1RBH8F+IgMK2ah5YpA==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-10.0.3.tgz", + "integrity": "sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==", "dev": true, "dependencies": { "conventional-changelog-angular": "^5.0.0", - "conventional-changelog-writer": "^4.0.0", + "conventional-changelog-writer": "^5.0.0", "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.0.0", + "conventional-commits-parser": "^3.2.3", "debug": "^4.0.0", - "get-stream": "^5.0.0", - "import-from": "^3.0.0", + "get-stream": "^6.0.0", + "import-from": "^4.0.0", "into-stream": "^6.0.0", "lodash": "^4.17.4", "read-pkg-up": "^7.0.0" }, "engines": { - "node": ">=10.18" + "node": ">=14.17" }, "peerDependencies": { - "semantic-release": ">=15.8.0 <18.0.0" + "semantic-release": ">=18.0.0-beta.1" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@sinonjs/commons": { @@ -3032,9 +3862,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0" @@ -3049,6 +3879,30 @@ "node": ">= 6" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "node_modules/@types/babel__core": { "version": "7.1.14", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", @@ -3090,6 +3944,34 @@ "@babel/types": "^7.3.0" } }, + "node_modules/@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, "node_modules/@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -3100,9 +3982,9 @@ } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "node_modules/@types/istanbul-lib-report": { @@ -3115,18 +3997,28 @@ } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", - "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "dependencies": { "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/jest": { + "version": "27.4.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", + "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "dev": true, + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "node_modules/@types/minimatch": { @@ -3136,9 +4028,9 @@ "dev": true }, "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "node_modules/@types/node": { @@ -3160,73 +4052,58 @@ "dev": true }, "node_modules/@types/prettier": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.3.tgz", - "integrity": "sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==", "dev": true }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, "node_modules/@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, "node_modules/@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dev": true, "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz", - "integrity": "sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.22.0", - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/typescript-estree": "4.22.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz", - "integrity": "sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", + "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/visitor-keys": "4.22.0" + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3234,12 +4111,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz", - "integrity": "sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", + "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", "dev": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3247,21 +4124,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", - "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", + "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/visitor-keys": "4.22.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3274,9 +4151,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3288,17 +4165,54 @@ "node": ">=10" } }, + "node_modules/@typescript-eslint/utils": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz", + "integrity": "sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz", - "integrity": "sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", + "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.22.0", - "eslint-visitor-keys": "^2.0.0" + "@typescript-eslint/types": "5.19.0", + "eslint-visitor-keys": "^3.0.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -3306,177 +4220,163 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true, - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true + "peer": true }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, + "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, + "peer": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, @@ -3484,13 +4384,15 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "peer": true }, "node_modules/abab": { "version": "2.0.5", @@ -3499,9 +4401,9 @@ "dev": true }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -3520,10 +4422,32 @@ "acorn-walk": "^7.1.1" } }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -3579,15 +4503,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -3597,15 +4512,6 @@ "ajv": "^6.9.1" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -3616,9 +4522,9 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -3655,10 +4561,10 @@ "node": ">= 8" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, "node_modules/argparse": { @@ -3670,48 +4576,12 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true, - "engines": { - "node": ">=0.6.10" - } - }, "node_modules/argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", "integrity": "sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk=", "dev": true }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-differ": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", @@ -3736,15 +4606,6 @@ "node": ">=8" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -3754,92 +4615,6 @@ "node": ">=0.10.0" } }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3855,53 +4630,26 @@ "node": ">= 4.0.0" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "node_modules/babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", "dev": true, "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.8.0" } }, "node_modules/babel-jest/node_modules/ansi-styles": { @@ -3920,9 +4668,9 @@ } }, "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -3975,13 +4723,13 @@ } }, "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -4023,6 +4771,20 @@ "node": ">=8" } }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/babel-loader/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -4099,15 +4861,15 @@ } }, "node_modules/babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" }, "engines": { @@ -4115,9 +4877,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -4126,17 +4888,17 @@ "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "dependencies": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" }, "peerDependencies": { @@ -4144,25 +4906,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0" + "@babel/helper-define-polyfill-provider": "^0.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -4192,16 +4954,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", + "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -4213,69 +4975,10 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/before-after-hook": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", - "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", "dev": true }, "node_modules/big.js": { @@ -4297,28 +5000,6 @@ "node": ">=8" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, "node_modules/bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", @@ -4347,276 +5028,88 @@ "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/browserslist": { + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", + "escalade": "^3.1.1", + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "node-int64": "^0.4.0" } }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/cachedir": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", + "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==", "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "engines": { + "node": ">=6" } }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cachedir": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", - "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/callsites": { @@ -4655,26 +5148,20 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001292", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz", - "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==", + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/cardinal": { "version": "2.1.1", @@ -4689,12 +5176,6 @@ "cdl": "bin/cdl.js" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4746,141 +5227,28 @@ "fsevents": "~2.3.1" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, + "peer": true, "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "node_modules/cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", "dev": true }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -4902,16 +5270,42 @@ "node": ">=4" } }, - "node_modules/cli-table": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", - "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", + "node_modules/cli-table3": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", + "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "colors": "1.0.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.2.0" + "node": ">=8" } }, "node_modules/cli-width": { @@ -4978,44 +5372,12 @@ "node": ">= 0.12.0" } }, - "node_modules/codecov": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.1.tgz", - "integrity": "sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==", - "dev": true, - "dependencies": { - "argv": "0.0.2", - "ignore-walk": "3.0.3", - "js-yaml": "3.14.0", - "teeny-request": "6.0.1", - "urlgrey": "0.4.4" - }, - "bin": { - "codecov": "bin/codecov" - }, - "engines": { - "node": ">=4.0" - } - }, "node_modules/collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -5031,21 +5393,6 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -5162,49 +5509,16 @@ "dot-prop": "^5.1.0" } }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, "node_modules/conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, "dependencies": { "compare-func": "^2.0.0", @@ -5229,15 +5543,14 @@ } }, "node_modules/conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", - "handlebars": "^4.7.6", + "handlebars": "^4.7.7", "json-stringify-safe": "^5.0.1", "lodash": "^4.17.15", "meow": "^8.0.0", @@ -5272,9 +5585,9 @@ } }, "node_modules/conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, "dependencies": { "is-text-path": "^1.0.1", @@ -5282,8 +5595,7 @@ "lodash": "^4.17.15", "meow": "^8.0.0", "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" + "through2": "^4.0.0" }, "bin": { "conventional-commits-parser": "cli.js" @@ -5301,48 +5613,13 @@ "safe-buffer": "~5.1.1" } }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/core-js-compat": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.1.tgz", - "integrity": "sha512-aZ0e4tmlG/aOBHj92/TuOuZwp6jFvn1WNabU5VOVixzhu5t5Ao+JZkQOPlgNXu6ynwLrwJxklT4Gw1G1VGEh+g==", + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz", + "integrity": "sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==", "dev": true, "dependencies": { - "browserslist": "^4.16.5", + "browserslist": "^4.20.2", "semver": "7.0.0" }, "funding": { @@ -5381,47 +5658,47 @@ "node": ">=10" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "node_modules/cosmiconfig-typescript-loader": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.9.tgz", + "integrity": "sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "cosmiconfig": "^7", + "ts-node": "^10.7.0" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "typescript": ">=3" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" } }, "node_modules/cross-spawn": { @@ -5438,28 +5715,6 @@ "node": ">= 8" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, "node_modules/crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -5493,12 +5748,6 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "node_modules/cz-conventional-changelog": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", @@ -5528,18 +5777,6 @@ "node": ">=8" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -5564,9 +5801,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -5612,20 +5849,11 @@ } }, "node_modules/decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", "dev": true }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -5668,19 +5896,6 @@ "node": ">= 0.4" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/del": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", @@ -5733,16 +5948,6 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", @@ -5770,32 +5975,24 @@ "node": ">=8" } }, - "node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "engines": { - "node": ">= 10.14.2" + "node": ">=0.3.1" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -5820,16 +6017,6 @@ "node": ">=6.0.0" } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, "node_modules/domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", @@ -5872,59 +6059,16 @@ "readable-stream": "^2.0.2" } }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/electron-to-chromium": { - "version": "1.3.725", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.725.tgz", - "integrity": "sha512-2BbeAESz7kc6KBzs7WVrMc1BY5waUphk4D4DX5dSQXJhsc3tP5ZFaiyuL0AB7vUKzDYpIeYwTYlEfxyjsGUrhw==", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "1.4.111", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.111.tgz", + "integrity": "sha512-/s3+fwhKf1YK4k7btOImOzCQLpUjS6MaPf0ODTNuT4eTM1Bg4itBpLkydhOzJmpmH6Z9eXFyuuK5czsmzRzwtw==", "dev": true }, "node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "dev": true, "engines": { "node": ">=10" @@ -5958,42 +6102,17 @@ } }, "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, + "peer": true, "dependencies": { - "ansi-colors": "^4.1.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=8.6" + "node": ">=10.13.0" } }, "node_modules/env-ci": { @@ -6009,18 +6128,6 @@ "node": ">=10.13" } }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -6060,6 +6167,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "peer": true + }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -6118,9 +6232,9 @@ } }, "node_modules/escodegen/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -6188,46 +6302,44 @@ } }, "node_modules/eslint": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", - "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.13.0.tgz", + "integrity": "sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==", "dev": true, "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", + "@eslint/eslintrc": "^1.2.1", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", + "glob-parent": "^6.0.1", "globals": "^13.6.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -6235,86 +6347,125 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, "node_modules/eslint-plugin-jest": { - "version": "24.3.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz", - "integrity": "sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg==", + "version": "26.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.4.tgz", + "integrity": "sha512-wgqxujmqc2qpvZqMFWCh6Cniqc8lWpapvXt9j/19DmBDqeDaYhJrSRezYR1SKyemvjx+9e9kny/dgRahraHImA==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "^4.0.1" + "@typescript-eslint/utils": "^5.10.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": ">= 4", - "eslint": ">=5" + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@typescript-eslint/eslint-plugin": { "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true } } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" } }, "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=6" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=10" } }, "node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true, "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/eslint/node_modules/ansi-styles": { @@ -6332,6 +6483,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", @@ -6366,22 +6523,46 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/eslint/node_modules/globals": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", - "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/has-flag": { + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", + "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -6390,19 +6571,16 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "argparse": "^2.0.1" }, "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "js-yaml": "bin/js-yaml.js" } }, "node_modules/eslint/node_modules/strip-json-comments": { @@ -6442,26 +6620,17 @@ } }, "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", "dev": true, "dependencies": { - "acorn": "^7.4.0", + "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/esprima": { @@ -6528,6 +6697,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -6542,26 +6717,11 @@ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "peer": true, "engines": { "node": ">=0.8.x" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true - }, "node_modules/execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -6594,143 +6754,6 @@ "node": ">= 0.8.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -6744,72 +6767,18 @@ } }, "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/expect/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/expect/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dev": true, "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/external-editor": { @@ -6826,88 +6795,32 @@ "node": ">=4" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, "node_modules/fast-json-stable-stringify": { @@ -6923,9 +6836,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -6940,12 +6853,6 @@ "bser": "2.1.1" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, "node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -6970,13 +6877,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -7065,228 +6965,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">= 0.10" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/findup-sync/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/findup-sync/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "dependencies": { "inherits": "^2.0.1", @@ -7308,17 +7023,11 @@ "node": ">=10" } }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -7393,18 +7102,6 @@ "node": ">=8.0.0" } }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -7420,24 +7117,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -7472,9 +7151,9 @@ } }, "node_modules/git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "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, "dependencies": { "dargs": "^7.0.0", @@ -7519,6 +7198,13 @@ "node": ">= 6" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, "node_modules/global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -7583,16 +7269,16 @@ } }, "node_modules/globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { @@ -7602,28 +7288,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, "node_modules/handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -7654,29 +7324,6 @@ "node": ">=0.10.0" } }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -7728,324 +7375,129 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "parse-passwd": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "node_modules/hook-std": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-2.0.0.tgz", + "integrity": "sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "whatwg-encoding": "^1.0.5" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true, + "bin": { + "husky": "lib/bin.js" }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hook-std": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-2.0.0.tgz", - "integrity": "sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/husky": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/husky/-/husky-5.2.0.tgz", - "integrity": "sha512-AM8T/auHXRBxlrfPVLKP6jt49GCM2Zz47m8G3FOMsLmTv8Dj/fKVWE0Rh2d4Qrvmy131xEsdQnb3OXRib67PGg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/typicode" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/husky" - } - ], - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" } }, - "node_modules/ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4" - } - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -8072,21 +7524,21 @@ } }, "node_modules/import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", + "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, "engines": { - "node": ">=8" + "node": ">=12.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -8097,6 +7549,9 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-local/node_modules/find-up": { @@ -8181,12 +7636,6 @@ "node": ">=8" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -8234,9 +7683,9 @@ } }, "node_modules/inquirer/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -8254,15 +7703,6 @@ "node": ">=6" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/into-stream": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz", @@ -8279,18 +7719,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -8334,12 +7762,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "node_modules/is-callable": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", @@ -8352,22 +7774,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "node_modules/is-core-module": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", - "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -8376,18 +7786,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", @@ -8400,79 +7798,37 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, - "optional": true, - "bin": { - "is-docker": "cli.js" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" @@ -8481,6 +7837,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -8653,19 +8015,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "optional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -8687,12 +8036,6 @@ "node": ">=0.10.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "node_modules/issue-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", @@ -8710,23 +8053,24 @@ } }, "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", "dev": true, "dependencies": { - "@babel/core": "^7.7.5", + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" }, "engines": { @@ -8784,9 +8128,9 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { "debug": "^4.1.1", @@ -8794,7 +8138,7 @@ "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { @@ -8807,9 +8151,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -8829,64 +8173,119 @@ } }, "node_modules/jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "dev": true, "dependencies": { - "@jest/core": "^26.6.3", + "@jest/core": "^27.5.1", "import-local": "^3.0.2", - "jest-cli": "^26.6.3" + "jest-cli": "^27.5.1" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, "node_modules/jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, - "bin": { - "jest": "bin/jest.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/ansi-styles": { + "node_modules/jest-circus/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -8901,10 +8300,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -8917,18 +8316,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { + "node_modules/jest-circus/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -8940,26 +8328,13 @@ "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/color-name": { + "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jest-cli/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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/has-flag": { + "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -8968,156 +8343,155 @@ "node": ">=8" } }, - "node_modules/jest-cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/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==", + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jest-cli/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==", + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-cli/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, - "dependencies": { - "p-limit": "^2.2.0" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, "engines": { "node": ">=8" } }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", "chalk": "^4.0.0", + "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { "ts-node": ">=9.0.0" @@ -9144,9 +8518,9 @@ } }, "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9186,6 +8560,18 @@ "node": ">=8" } }, + "node_modules/jest-config/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jest-config/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9199,18 +8585,18 @@ } }, "node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-diff/node_modules/ansi-styles": { @@ -9229,9 +8615,9 @@ } }, "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9284,31 +8670,31 @@ } }, "node_modules/jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-each/node_modules/ansi-styles": { @@ -9327,9 +8713,9 @@ } }, "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9382,103 +8768,139 @@ } }, "node_modules/jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "dev": true, "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "dev": true, "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", "walker": "^1.0.7" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "optionalDependencies": { - "fsevents": "^2.1.2" + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-haste-map/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", "dev": true, "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^26.6.2", + "expect": "^27.5.1", "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-jasmine2/node_modules/ansi-styles": { @@ -9497,9 +8919,9 @@ } }, "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9552,31 +8974,31 @@ } }, "node_modules/jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "dev": true, "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { @@ -9595,9 +9017,9 @@ } }, "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9650,23 +9072,23 @@ } }, "node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", "slash": "^3.0.0", - "stack-utils": "^2.0.2" + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-message-util/node_modules/ansi-styles": { @@ -9685,9 +9107,9 @@ } }, "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9740,16 +9162,16 @@ } }, "node_modules/jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/node": "*" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-pnp-resolver": { @@ -9770,45 +9192,47 @@ } }, "node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", "dev": true, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-resolve/node_modules/ansi-styles": { @@ -9827,9 +9251,9 @@ } }, "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9882,34 +9306,35 @@ } }, "node_modules/jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", "dev": true, "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "throat": "^6.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-runner/node_modules/ansi-styles": { @@ -9928,9 +9353,9 @@ } }, "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -9970,6 +9395,35 @@ "node": ">=8" } }, + "node_modules/jest-runner/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-runner/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/jest-runner/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9983,44 +9437,36 @@ } }, "node_modules/jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dev": true, - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", + "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", + "execa": "^5.0.0", "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "strip-bom": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-runtime/node_modules/ansi-styles": { @@ -10039,9 +9485,9 @@ } }, "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -10054,17 +9500,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, "node_modules/jest-runtime/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -10083,88 +9518,57 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jest-runtime/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==", + "node_modules/jest-runtime/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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, - "dependencies": { - "p-locate": "^4.1.0" + "node": ">=10" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jest-runtime/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==", + "node_modules/jest-runtime/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runtime/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==", + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, "engines": { "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "node_modules/jest-runtime/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=10.17.0" } }, "node_modules/jest-runtime/node_modules/supports-color": { @@ -10179,93 +9583,50 @@ "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", "dev": true, "dependencies": { "@types/node": "*", - "graceful-fs": "^4.2.4" + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", "dev": true, "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", + "pretty-format": "^27.5.1", "semver": "^7.3.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-snapshot/node_modules/ansi-styles": { @@ -10284,9 +9645,9 @@ } }, "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -10327,9 +9688,9 @@ } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -10354,20 +9715,20 @@ } }, "node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-util/node_modules/ansi-styles": { @@ -10386,9 +9747,9 @@ } }, "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -10441,20 +9802,20 @@ } }, "node_modules/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", + "jest-get-type": "^27.5.1", "leven": "^3.1.0", - "pretty-format": "^26.6.2" + "pretty-format": "^27.5.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-validate/node_modules/ansi-styles": { @@ -10473,9 +9834,9 @@ } }, "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { "node": ">=10" @@ -10485,9 +9846,9 @@ } }, "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -10540,21 +9901,21 @@ } }, "node_modules/jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", "dev": true, "dependencies": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^26.6.2", + "jest-util": "^27.5.1", "string-length": "^4.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-watcher/node_modules/ansi-escapes": { @@ -10588,9 +9949,9 @@ } }, "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -10696,9 +10057,9 @@ "dev": true }, "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { "argparse": "^1.0.7", @@ -10708,20 +10069,14 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "node_modules/jsdom": { - "version": "16.5.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.3.tgz", - "integrity": "sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA==", + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, "dependencies": { "abab": "^2.0.5", - "acorn": "^8.1.0", + "acorn": "^8.2.4", "acorn-globals": "^6.0.0", "cssom": "^0.4.4", "cssstyle": "^2.3.0", @@ -10729,12 +10084,13 @@ "decimal.js": "^10.2.1", "domexception": "^2.0.1", "escodegen": "^2.0.0", + "form-data": "^3.0.0", "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", "parse5": "6.0.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.9", "saxes": "^5.0.1", "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", @@ -10744,7 +10100,7 @@ "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.5.0", - "ws": "^7.4.4", + "ws": "^7.4.6", "xml-name-validator": "^3.0.0" }, "engines": { @@ -10759,18 +10115,6 @@ } } }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.2.tgz", - "integrity": "sha512-VrMS8kxT0e7J1EX0p6rI/E0FbfOVcvBpbIqHThFv+f8YrZIlMfVotYcXKVPmTvPW8sW5miJzfUFrrvthUZg8VQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -10795,12 +10139,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -10820,13 +10158,10 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -10871,21 +10206,6 @@ "node": "*" } }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -10979,38 +10299,13 @@ } }, "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, + "peer": true, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "node": ">=6.11.5" } }, "node_modules/locate-path": { @@ -11040,12 +10335,6 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -11058,12 +10347,6 @@ "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", "dev": true }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, "node_modules/lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", @@ -11088,16 +10371,10 @@ "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", "dev": true }, - "node_modules/lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "node_modules/lodash.uniqby": { @@ -11149,28 +10426,25 @@ "semver": "bin/semver" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "tmpl": "1.0.5" } }, "node_modules/map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, "engines": { "node": ">=8" @@ -11179,136 +10453,69 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/marked": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.3.tgz", - "integrity": "sha512-5otztIIcJfPc2qGTN8cVtOJEjNJZ0jwa46INMagrYfk0EvqtRuEHLsEe0LrFS0/q+ZRKT0+kXK7P2T1AN5lWRA==", + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.14.tgz", + "integrity": "sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ==", "dev": true, "bin": { - "marked": "bin/marked" + "marked": "bin/marked.js" }, "engines": { - "node": ">= 8.16.2" + "node": ">= 12" } }, "node_modules/marked-terminal": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-4.1.1.tgz", - "integrity": "sha512-t7Mdf6T3PvOEyN01c3tYxDzhyKZ8xnkp8Rs6Fohno63L/0pFTJ5Qtwto2AQVuDtbQiWzD+4E5AAu1Z2iLc8miQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz", + "integrity": "sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==", "dev": true, "dependencies": { - "ansi-escapes": "^4.3.1", + "ansi-escapes": "^5.0.0", "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "cli-table": "^0.3.1", - "node-emoji": "^1.10.0", - "supports-hyperlinks": "^2.1.0" + "chalk": "^5.0.0", + "cli-table3": "^0.6.1", + "node-emoji": "^1.11.0", + "supports-hyperlinks": "^2.2.0" + }, + "engines": { + "node": ">=14.13.1 || >=16.0.0" }, "peerDependencies": { - "marked": "^1.0.0 || ^2.0.0" + "marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" } }, "node_modules/marked-terminal/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "type-fest": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/marked-terminal/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/marked-terminal/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/marked-terminal/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/marked-terminal/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/marked-terminal/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/marked-terminal/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/marked-terminal/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, "engines": { "node": ">=10" @@ -11317,27 +10524,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -11406,53 +10592,34 @@ "node": ">=8.6" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, "node_modules/mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { - "mime-db": "1.47.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -11476,18 +10643,6 @@ "node": ">=4" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -11520,62 +10675,6 @@ "node": ">= 6" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mississippi/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -11595,9 +10694,9 @@ } }, "node_modules/moment-timezone": { - "version": "0.5.33", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", - "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "version": "0.5.34", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", "dev": true, "dependencies": { "moment": ">= 2.9.0" @@ -11606,32 +10705,6 @@ "node": "*" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -11678,35 +10751,6 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -11732,12 +10776,12 @@ "dev": true }, "node_modules/node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "dependencies": { - "lodash.toarray": "^4.4.0" + "lodash": "^4.17.21" } }, "node_modules/node-fetch": { @@ -11788,108 +10832,31 @@ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "node_modules/node-releases": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", "dev": true }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "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, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", - "dev": true, - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -11911,9 +10878,9 @@ } }, "node_modules/normalize-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.0.1.tgz", - "integrity": "sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, "engines": { "node": ">=10" @@ -11923,25 +10890,27 @@ } }, "node_modules/npm": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-7.11.2.tgz", - "integrity": "sha512-NxcaNqAfdLEubG5dlPFWbXrVAG2zb45lB5y6W3PK1PK2feHaffpCN4rnXPD/BPp1kCJespCAv8Kw/QUYR85BRw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.7.0.tgz", + "integrity": "sha512-fOSunmSa1K3dBv4YFoX54wew3PC6aYYDMGWBAonWRO4Yc7smYtk3nLrCda6+dtkTJwA8D4Tv/0wmnpYNgf5VFw==", "bundleDependencies": [ + "@isaacs/string-locale-compare", "@npmcli/arborist", "@npmcli/ci-detect", "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", "@npmcli/run-script", "abbrev", - "ansicolors", - "ansistyles", "archy", - "byte-size", "cacache", "chalk", "chownr", "cli-columns", "cli-table3", "columnify", + "fastest-levenshtein", "glob", "graceful-fs", "hosted-git-info", @@ -11949,7 +10918,6 @@ "init-package-json", "is-cidr", "json-parse-even-better-errors", - "leven", "libnpmaccess", "libnpmdiff", "libnpmexec", @@ -11970,6 +10938,7 @@ "node-gyp", "nopt", "npm-audit-report", + "npm-install-checks", "npm-package-arg", "npm-pick-manifest", "npm-profile", @@ -11979,6 +10948,7 @@ "opener", "pacote", "parse-conflict-json", + "proc-log", "qrcode-terminal", "read", "read-package-json", @@ -11997,80 +10967,83 @@ ], "dev": true, "dependencies": { - "@npmcli/arborist": "^2.4.1", - "@npmcli/ci-detect": "^1.2.0", - "@npmcli/config": "^2.2.0", - "@npmcli/run-script": "^1.8.5", + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.0.4", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.1.0", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.2", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.1", "abbrev": "~1.1.1", - "ansicolors": "~0.3.2", - "ansistyles": "~0.1.3", "archy": "~1.0.0", - "byte-size": "^7.0.1", - "cacache": "^15.0.6", - "chalk": "^4.1.0", + "cacache": "^16.0.4", + "chalk": "^4.1.2", "chownr": "^2.0.0", - "cli-columns": "^3.1.2", - "cli-table3": "^0.6.0", - "columnify": "~1.5.4", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "hosted-git-info": "^4.0.2", - "ini": "^2.0.0", - "init-package-json": "^2.0.3", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.1", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "glob": "^7.2.0", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.0.0", + "ini": "^3.0.0", + "init-package-json": "^3.0.2", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^2.3.1", - "leven": "^3.1.0", - "libnpmaccess": "^4.0.2", - "libnpmdiff": "^2.0.4", - "libnpmexec": "^1.0.1", - "libnpmfund": "^1.0.2", - "libnpmhook": "^6.0.2", - "libnpmorg": "^2.0.2", - "libnpmpack": "^2.0.1", - "libnpmpublish": "^4.0.1", - "libnpmsearch": "^3.1.1", - "libnpmteam": "^2.0.3", - "libnpmversion": "^1.2.0", - "make-fetch-happen": "^8.0.14", - "minipass": "^3.1.3", + "libnpmaccess": "^6.0.2", + "libnpmdiff": "^4.0.2", + "libnpmexec": "^4.0.2", + "libnpmfund": "^3.0.1", + "libnpmhook": "^8.0.2", + "libnpmorg": "^4.0.2", + "libnpmpack": "^4.0.2", + "libnpmpublish": "^6.0.2", + "libnpmsearch": "^5.0.2", + "libnpmteam": "^4.0.2", + "libnpmversion": "^3.0.1", + "make-fetch-happen": "^10.1.2", + "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", "ms": "^2.1.2", - "node-gyp": "^7.1.2", + "node-gyp": "^9.0.0", "nopt": "^5.0.0", - "npm-audit-report": "^2.1.4", - "npm-package-arg": "^8.1.2", - "npm-pick-manifest": "^6.1.1", - "npm-profile": "^5.0.3", - "npm-registry-fetch": "^10.1.1", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.2", + "npm-pick-manifest": "^7.0.1", + "npm-profile": "^6.0.2", + "npm-registry-fetch": "^13.1.0", "npm-user-validate": "^1.0.1", - "npmlog": "~4.1.2", + "npmlog": "^6.0.1", "opener": "^1.5.2", - "pacote": "^11.3.3", - "parse-conflict-json": "^1.1.1", + "pacote": "^13.1.1", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", "qrcode-terminal": "^0.12.0", "read": "~1.0.7", - "read-package-json": "^3.0.1", - "read-package-json-fast": "^2.0.2", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", - "semver": "^7.3.5", - "ssri": "^8.0.1", - "tar": "^6.1.0", + "semver": "^7.3.6", + "ssri": "^9.0.0", + "tar": "^6.1.11", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", - "treeverse": "^1.0.4", - "validate-npm-package-name": "~3.0.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", "which": "^2.0.2", - "write-file-atomic": "^3.0.3" + "write-file-atomic": "^4.0.1" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm-run-all": { @@ -12177,68 +11150,96 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/@gar/promisify": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "2.4.1", + "version": "5.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^1.0.2", - "@npmcli/metavuln-calculator": "^1.1.0", - "@npmcli/move-file": "^1.1.0", + "@npmcli/map-workspaces": "^2.0.0", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^1.0.1", - "@npmcli/run-script": "^1.8.2", - "bin-links": "^2.2.1", - "cacache": "^15.0.3", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.0", + "bin-links": "^3.0.0", + "cacache": "^16.0.0", "common-ancestor-path": "^1.0.1", "json-parse-even-better-errors": "^2.3.1", - "json-stringify-nice": "^1.1.2", + "json-stringify-nice": "^1.1.4", + "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.0", - "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^10.0.0", - "pacote": "^11.2.6", - "parse-conflict-json": "^1.1.1", + "nopt": "^5.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.1", + "pacote": "^13.0.5", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", "read-package-json-fast": "^2.0.2", "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", "semver": "^7.3.5", - "tar": "^6.1.0", - "treeverse": "^1.0.4", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", "walk-up-path": "^1.0.0" }, "bin": { "arborist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/ci-detect": { - "version": "1.3.0", + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "2.2.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "ini": "^2.0.0", + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", "mkdirp-infer-owner": "^2.0.0", "nopt": "^5.0.0", - "semver": "^7.3.4", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", "walk-up-path": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "1.0.1", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -12246,23 +11247,40 @@ "ansi-styles": "^4.3.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "2.0.8", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { @@ -12282,33 +11300,37 @@ } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "1.0.3", + "version": "2.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^1.0.1", - "glob": "^7.1.6", - "minimatch": "^3.0.4", - "read-package-json-fast": "^2.0.1" + "glob": "^7.2.0", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "1.1.1", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "cacache": "^15.0.5", - "pacote": "^11.1.11", - "semver": "^7.3.2" + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/move-file": { - "version": "1.1.2", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", @@ -12317,7 +11339,7 @@ "rimraf": "^3.0.2" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { @@ -12327,40 +11349,60 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/node-gyp": { - "version": "1.0.2", + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "infer-owner": "^1.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "1.8.5", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "infer-owner": "^1.0.4", - "node-gyp": "^7.1.0", - "read-package-json-fast": "^2.0.1" + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@tootallnate/once": { - "version": "1.1.2", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 10" } }, "node_modules/npm/node_modules/abbrev": { @@ -12382,7 +11424,7 @@ } }, "node_modules/npm/node_modules/agentkeepalive": { - "version": "4.1.4", + "version": "4.2.1", "dev": true, "inBundle": true, "license": "MIT", @@ -12408,29 +11450,13 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/npm/node_modules/ansi-regex": { - "version": "2.1.1", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/npm/node_modules/ansi-styles": { @@ -12448,18 +11474,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/ansicolors": { - "version": "0.3.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/ansistyles": { - "version": "0.1.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", "dev": true, @@ -12473,13 +11487,16 @@ "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { - "version": "1.1.5", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/asap": { @@ -12488,75 +11505,27 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/asn1": { - "version": "0.2.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/npm/node_modules/assert-plus": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/npm/node_modules/asynckit": { - "version": "0.4.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/aws-sign2": { - "version": "0.7.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/npm/node_modules/aws4": { - "version": "1.11.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "dev": true, "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/npm/node_modules/bin-links": { - "version": "2.2.1", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "cmd-shim": "^4.0.1", - "mkdirp": "^1.0.3", + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", "npm-normalize-package-bin": "^1.0.0", - "read-cmd-shim": "^2.0.0", + "read-cmd-shim": "^3.0.0", "rimraf": "^3.0.0", - "write-file-atomic": "^3.0.3" + "write-file-atomic": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/binary-extensions": { @@ -12569,66 +11538,54 @@ } }, "node_modules/npm/node_modules/brace-expansion": { - "version": "1.1.11", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/npm/node_modules/builtins": { - "version": "1.0.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/byte-size": { - "version": "7.0.1", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "semver": "^7.0.0" } }, "node_modules/npm/node_modules/cacache": { - "version": "15.0.6", + "version": "16.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/move-file": "^1.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", + "fs-minipass": "^2.1.0", + "glob": "^7.2.0", "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", "unique-filename": "^1.1.1" }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm/node_modules/caseless": { - "version": "0.12.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0" - }, "node_modules/npm/node_modules/chalk": { - "version": "4.1.1", + "version": "4.1.2", "dev": true, "inBundle": true, "license": "MIT", @@ -12674,89 +11631,44 @@ } }, "node_modules/npm/node_modules/cli-columns": { - "version": "3.1.2", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "string-width": "^2.0.0", - "strip-ansi": "^3.0.1" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 4" + "node": ">= 10" } }, "node_modules/npm/node_modules/cli-table3": { - "version": "0.6.0", + "version": "0.6.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "object-assign": "^4.1.0", "string-width": "^4.2.0" }, "engines": { "node": "10.* || >= 12.*" }, "optionalDependencies": { - "colors": "^1.1.2" + "colors": "1.4.0" } }, - "node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex": { - "version": "5.0.0", + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/clone": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/npm/node_modules/cmd-shim": { - "version": "4.1.0", + "node_modules/npm/node_modules/cmd-shim": { + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -12764,16 +11676,7 @@ "mkdirp-infer-owner": "^2.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/code-point-at": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/color-convert": { @@ -12794,6 +11697,15 @@ "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, "node_modules/npm/node_modules/colors": { "version": "1.4.0", "dev": true, @@ -12805,25 +11717,16 @@ } }, "node_modules/npm/node_modules/columnify": { - "version": "1.5.4", + "version": "1.6.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "strip-ansi": "^3.0.0", + "strip-ansi": "^6.0.1", "wcwidth": "^1.0.0" - } - }, - "node_modules/npm/node_modules/combined-stream": { - "version": "1.0.8", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=8.0.0" } }, "node_modules/npm/node_modules/common-ancestor-path": { @@ -12844,26 +11747,8 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/core-util-is": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/dashdash": { - "version": "1.14.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/npm/node_modules/debug": { - "version": "4.3.1", + "version": "4.3.4", "dev": true, "inBundle": true, "license": "MIT", @@ -12903,15 +11788,6 @@ "clone": "^1.0.2" } }, - "node_modules/npm/node_modules/delayed-stream": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/npm/node_modules/delegates": { "version": "1.0.0", "dev": true, @@ -12928,7 +11804,7 @@ } }, "node_modules/npm/node_modules/dezalgo": { - "version": "1.0.3", + "version": "1.0.4", "dev": true, "inBundle": true, "license": "ISC", @@ -12946,16 +11822,6 @@ "node": ">=0.3.1" } }, - "node_modules/npm/node_modules/ecc-jsbn": { - "version": "0.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", "dev": true, @@ -12987,56 +11853,12 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/extend": { - "version": "3.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/extsprintf": { - "version": "1.3.0", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.12", "dev": true, "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/forever-agent": { - "version": "0.6.1", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/npm/node_modules/form-data": { - "version": "2.3.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, "node_modules/npm/node_modules/fs-minipass": { "version": "2.1.0", "dev": true, @@ -13062,64 +11884,26 @@ "license": "MIT" }, "node_modules/npm/node_modules/gauge": { - "version": "2.7.4", + "version": "4.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/npm/node_modules/gauge/node_modules/aproba": { - "version": "1.2.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm/node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm/node_modules/getpass": { - "version": "0.1.7", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/glob": { - "version": "7.1.6", + "version": "7.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -13138,33 +11922,33 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/graceful-fs": { - "version": "4.2.6", + "node_modules/npm/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "inBundle": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "node_modules/npm/node_modules/har-schema": { - "version": "2.0.0", + "node_modules/npm/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/npm/node_modules/har-validator": { - "version": "5.1.5", + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.10", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } + "license": "ISC" }, "node_modules/npm/node_modules/has": { "version": "1.0.3", @@ -13194,15 +11978,15 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "4.0.2", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/http-cache-semantics": { @@ -13212,12 +11996,12 @@ "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { - "version": "4.0.1", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" }, @@ -13225,21 +12009,6 @@ "node": ">= 6" } }, - "node_modules/npm/node_modules/http-signature": { - "version": "1.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "5.0.0", "dev": true, @@ -13263,7 +12032,7 @@ } }, "node_modules/npm/node_modules/iconv-lite": { - "version": "0.6.2", + "version": "0.6.3", "dev": true, "inBundle": true, "license": "MIT", @@ -13276,12 +12045,15 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "3.0.3", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minimatch": "^3.0.4" + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/imurmurhash": { @@ -13325,31 +12097,30 @@ "license": "ISC" }, "node_modules/npm/node_modules/ini": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/init-package-json": { - "version": "2.0.3", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "glob": "^7.1.1", - "npm-package-arg": "^8.1.2", + "npm-package-arg": "^9.0.1", "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "^3.0.1", + "read": "^1.0.7", + "read-package-json": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0" + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/ip": { @@ -13380,7 +12151,7 @@ } }, "node_modules/npm/node_modules/is-core-module": { - "version": "2.2.0", + "version": "2.8.1", "dev": true, "inBundle": true, "license": "MIT", @@ -13392,12 +12163,12 @@ } }, "node_modules/npm/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/npm/node_modules/is-lambda": { @@ -13406,344 +12177,264 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/is-typedarray": { - "version": "1.0.0", + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/npm/node_modules/isarray": { - "version": "1.0.0", + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", "dev": true, "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/isexe": { - "version": "2.0.0", + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/npm/node_modules/isstream": { - "version": "0.1.2", + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", "dev": true, + "engines": [ + "node >= 0.2.0" + ], "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/jsbn": { - "version": "0.1.1", + "node_modules/npm/node_modules/just-diff": { + "version": "5.0.1", "dev": true, "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.2.0", "dev": true, "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/json-schema": { - "version": "0.2.3", - "dev": true, - "inBundle": true - }, - "node_modules/npm/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/json-stringify-nice": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/npm/node_modules/json-stringify-safe": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/jsonparse": { - "version": "1.3.1", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/jsprim": { - "version": "1.4.1", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "inBundle": true, - "license": "MIT", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/npm/node_modules/just-diff": { - "version": "3.1.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/just-diff-apply": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/leven": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/npm/node_modules/libnpmaccess": { - "version": "4.0.2", + "node_modules/npm/node_modules/libnpmaccess": { + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", "minipass": "^3.1.1", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^10.0.0" + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "2.0.4", + "version": "4.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/disparity-colors": "^1.0.1", + "@npmcli/disparity-colors": "^2.0.0", "@npmcli/installed-package-contents": "^1.0.7", "binary-extensions": "^2.2.0", "diff": "^5.0.0", - "minimatch": "^3.0.4", - "npm-package-arg": "^8.1.1", - "pacote": "^11.3.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.0.5", "tar": "^6.1.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "1.0.1", + "version": "4.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^2.3.0", - "@npmcli/ci-detect": "^1.3.0", - "@npmcli/run-script": "^1.8.4", + "@npmcli/arborist": "^5.0.0", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "chalk": "^4.1.0", "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^8.1.2", - "pacote": "^11.3.1", - "proc-log": "^1.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.1", + "pacote": "^13.0.5", + "proc-log": "^2.0.0", "read": "^1.0.7", - "read-package-json-fast": "^2.0.2" + "read-package-json-fast": "^2.0.2", + "walk-up-path": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "1.0.2", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^2.0.0" + "@npmcli/arborist": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "6.0.2", + "version": "8.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "2.0.2", + "version": "4.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "2.0.1", + "version": "4.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/run-script": "^1.8.3", - "npm-package-arg": "^8.1.0", - "pacote": "^11.2.6" + "@npmcli/run-script": "^3.0.0", + "npm-package-arg": "^9.0.1", + "pacote": "^13.0.5" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "4.0.1", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "normalize-package-data": "^3.0.2", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^10.0.0", + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", "semver": "^7.1.3", - "ssri": "^8.0.1" + "ssri": "^9.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "3.1.1", + "version": "5.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "2.0.3", + "version": "4.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "1.2.0", + "version": "3.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^2.0.7", - "@npmcli/run-script": "^1.8.4", + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^3.0.0", "json-parse-even-better-errors": "^2.3.1", - "semver": "^7.3.5", - "stringify-package": "^1.0.1" + "proc-log": "^2.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/lru-cache": { - "version": "6.0.0", + "version": "7.7.3", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "8.0.14", + "version": "10.1.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", + "agentkeepalive": "^4.2.1", + "cacache": "^16.0.2", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/npm/node_modules/mime-db": { - "version": "1.47.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/npm/node_modules/mime-types": { - "version": "2.1.30", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.47.0" + "socks-proxy-agent": "^6.1.1", + "ssri": "^9.0.0" }, "engines": { - "node": ">= 0.6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/minimatch": { - "version": "3.0.4", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/npm/node_modules/minipass": { - "version": "3.1.3", + "version": "3.1.6", "dev": true, "inBundle": true, "license": "ISC", @@ -13767,20 +12458,20 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "1.3.3", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^3.1.0", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "minizlib": "^2.1.2" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" }, "optionalDependencies": { - "encoding": "^0.1.12" + "encoding": "^0.1.13" } }, "node_modules/npm/node_modules/minipass-flush": { @@ -13880,28 +12571,37 @@ "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/npm/node_modules/node-gyp": { - "version": "7.1.2", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.3", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", "which": "^2.0.2" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">= 10.12.0" + "node": "^12.22 || ^14.13 || >=16" } }, "node_modules/npm/node_modules/nopt": { @@ -13920,22 +12620,22 @@ } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "3.0.2", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/npm-audit-report": { - "version": "2.1.4", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -13943,7 +12643,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-bundled": { @@ -13956,7 +12656,7 @@ } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "4.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -13964,7 +12664,7 @@ "semver": "^7.1.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { @@ -13974,77 +12674,81 @@ "license": "ISC" }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "8.1.2", + "version": "9.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "hosted-git-info": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "2.1.5", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^3.0.3", - "npm-bundled": "^1.1.1", + "glob": "^7.2.0", + "ignore-walk": "^5.0.1", + "npm-bundled": "^1.1.2", "npm-normalize-package-bin": "^1.0.1" }, "bin": { "npm-packlist": "bin/index.js" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "6.1.1", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-install-checks": "^4.0.0", + "npm-install-checks": "^5.0.0", "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "5.0.3", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0", + "proc-log": "^2.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "10.1.1", + "version": "13.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-user-validate": { @@ -14054,42 +12758,18 @@ "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/npmlog": { - "version": "4.1.2", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/npm/node_modules/number-is-nan": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm/node_modules/oauth-sign": { - "version": "0.9.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/npm/node_modules/object-assign": { - "version": "4.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/once": { @@ -14126,47 +12806,52 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "11.3.3", + "version": "13.1.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^2.0.1", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^1.8.2", - "cacache": "^15.0.5", + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^3.0.1", + "cacache": "^16.0.0", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.4", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^10.0.0", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" + "ssri": "^9.0.0", + "tar": "^6.1.11" }, "bin": { "pacote": "lib/bin.js" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { - "version": "1.1.1", + "version": "2.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "just-diff": "^3.0.1", - "just-diff-apply": "^3.0.0" + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/path-is-absolute": { @@ -14178,29 +12863,14 @@ "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/path-parse": { - "version": "1.0.6", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/performance-now": { - "version": "2.1.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/proc-log": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/process-nextick-args": { "version": "2.0.1", "dev": true, "inBundle": true, - "license": "MIT" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", @@ -14248,21 +12918,6 @@ "read": "1" } }, - "node_modules/npm/node_modules/psl": { - "version": "1.8.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/punycode": { - "version": "2.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", "dev": true, @@ -14271,15 +12926,6 @@ "qrcode-terminal": "bin/qrcode-terminal.js" } }, - "node_modules/npm/node_modules/qs": { - "version": "6.5.2", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.6" - } - }, "node_modules/npm/node_modules/read": { "version": "1.0.7", "dev": true, @@ -14293,28 +12939,31 @@ } }, "node_modules/npm/node_modules/read-cmd-shim": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/read-package-json": { - "version": "3.0.1", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^3.0.0", - "npm-normalize-package-bin": "^1.0.0" + "glob": "^7.2.0", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/read-package-json-fast": { - "version": "2.0.2", + "version": "2.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -14327,18 +12976,17 @@ } }, "node_modules/npm/node_modules/readable-stream": { - "version": "2.3.7", + "version": "3.6.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/npm/node_modules/readdir-scoped-modules": { @@ -14353,63 +13001,6 @@ "once": "^1.3.0" } }, - "node_modules/npm/node_modules/request": { - "version": "2.88.2", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/npm/node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/npm/node_modules/resolve": { - "version": "1.20.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", "dev": true, @@ -14435,8 +13026,22 @@ } }, "node_modules/npm/node_modules/safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "inBundle": true, "license": "MIT" }, @@ -14444,21 +13049,22 @@ "version": "2.1.2", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.3.5", + "version": "7.3.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.4.0" }, "bin": { "semver": "bin/semver.js" }, "engines": { - "node": ">=10" + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/npm/node_modules/set-blocking": { @@ -14468,13 +13074,13 @@ "license": "ISC" }, "node_modules/npm/node_modules/signal-exit": { - "version": "3.0.3", + "version": "3.0.7", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/smart-buffer": { - "version": "4.1.0", + "version": "4.2.0", "dev": true, "inBundle": true, "license": "MIT", @@ -14484,13 +13090,13 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.6.1", + "version": "2.6.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" }, "engines": { "node": ">= 10.13.0", @@ -14498,17 +13104,17 @@ } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "5.0.0", + "version": "6.1.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4", - "socks": "^2.3.3" + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" }, "engines": { - "node": ">= 6" + "node": ">= 10" } }, "node_modules/npm/node_modules/spdx-correct": { @@ -14538,38 +13144,13 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.7", + "version": "3.0.11", "dev": true, "inBundle": true, "license": "CC0-1.0" }, - "node_modules/npm/node_modules/sshpk": { - "version": "1.16.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/npm/node_modules/ssri": { - "version": "8.0.1", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -14577,68 +13158,42 @@ "minipass": "^3.1.1" }, "engines": { - "node": ">= 8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/string_decoder": { - "version": "1.1.1", + "version": "1.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/npm/node_modules/string-width": { - "version": "2.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", + "version": "4.2.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ansi-regex": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/npm/node_modules/stringify-package": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/strip-ansi": { - "version": "3.0.1", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/npm/node_modules/supports-color": { @@ -14654,7 +13209,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "6.1.0", + "version": "6.1.11", "dev": true, "inBundle": true, "license": "ISC", @@ -14683,36 +13238,12 @@ "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/tunnel-agent": { - "version": "0.6.0", + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - }, + "license": "ISC", "engines": { - "node": "*" - } - }, - "node_modules/npm/node_modules/tweetnacl": { - "version": "0.14.5", - "dev": true, - "inBundle": true, - "license": "Unlicense" - }, - "node_modules/npm/node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/unique-filename": { @@ -14733,30 +13264,12 @@ "imurmurhash": "^0.1.4" } }, - "node_modules/npm/node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "inBundle": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", "dev": true, "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/uuid": { - "version": "3.4.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", "dev": true, @@ -14768,26 +13281,15 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "builtins": "^1.0.3" - } - }, - "node_modules/npm/node_modules/verror": { - "version": "1.10.0", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "inBundle": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/walk-up-path": { @@ -14821,12 +13323,12 @@ } }, "node_modules/npm/node_modules/wide-align": { - "version": "1.1.3", + "version": "1.1.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "node_modules/npm/node_modules/wrappy": { @@ -14836,15 +13338,16 @@ "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "3.0.3", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/yallist": { @@ -14859,216 +13362,83 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "node_modules/object-inspect": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", + "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", "dev": true, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "wrappy": "1" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", - "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -15102,15 +13472,6 @@ "node": ">=8" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-is-promise": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", @@ -15169,13 +13530,13 @@ } }, "node_modules/p-retry": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.5.0.tgz", - "integrity": "sha512-5Hwh4aVQSu6BEP+w2zKlVXtFAaYQe1qWuVADSgoeVlLjwe/Q/AMSoRR4MDeaAfu8llT+YNbEijWu/YF3m6avkg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", "dev": true, "dependencies": { "@types/retry": "^0.12.0", - "retry": "^0.12.0" + "retry": "^0.13.1" }, "engines": { "node": ">=8" @@ -15190,23 +13551,6 @@ "node": ">=6" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -15219,19 +13563,6 @@ "node": ">=6" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -15265,28 +13596,6 @@ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -15315,9 +13624,9 @@ } }, "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-type": { @@ -15329,26 +13638,10 @@ "node": ">=8" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "node_modules/picomatch": { @@ -15385,13 +13678,10 @@ } }, "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, "engines": { "node": ">= 6" } @@ -15549,15 +13839,6 @@ "node": ">=4" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -15582,54 +13863,44 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">= 10" + "node": ">=6.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/pretty-format/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-format/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/pretty-quick": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz", @@ -15721,15 +13992,6 @@ "node": ">=8" } }, - "node_modules/pretty-quick/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/pretty-quick/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -15781,40 +14043,16 @@ "node": ">=8" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "dependencies": { "kleur": "^3.0.3", @@ -15824,38 +14062,12 @@ "node": ">= 6" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -15866,27 +14078,6 @@ "once": "^1.3.1" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -15906,33 +14097,6 @@ "teleport": ">=0.2.0" } }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -15971,16 +14135,6 @@ "safe-buffer": "^5.1.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -16259,49 +14413,36 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "dependencies": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, "engines": { "node": ">=8" @@ -16311,17 +14452,17 @@ } }, "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" @@ -16340,15 +14481,15 @@ } }, "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -16366,130 +14507,6 @@ "jsesc": "bin/jsesc" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -16499,21 +14516,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -16573,12 +14575,14 @@ "node": ">=8" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } }, "node_modules/restore-cursor": { "version": "2.0.0", @@ -16614,19 +14618,10 @@ "node": ">=4" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "engines": { - "node": ">=0.12" - } - }, "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, "engines": { "node": ">= 4" @@ -16657,23 +14652,34 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/rollup": { + "version": "2.70.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", + "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "dev": true, - "engines": { - "node": "6.* || >= 7.*" + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" } }, "node_modules/run-async": { @@ -16708,15 +14714,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, "node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -16735,3301 +14732,1440 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" + "xmlchars": "^2.2.0" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=10" } }, - "node_modules/sane/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/sane/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/semantic-release": { + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-19.0.2.tgz", + "integrity": "sha512-7tPonjZxukKECmClhsfyMKDt0GR38feIC2HxgyYaBi+9tDySBLjK/zYDLhh+m6yjnHIJa9eBTKYE7k63ZQcYbw==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "@semantic-release/commit-analyzer": "^9.0.2", + "@semantic-release/error": "^3.0.0", + "@semantic-release/github": "^8.0.0", + "@semantic-release/npm": "^9.0.0", + "@semantic-release/release-notes-generator": "^10.0.0", + "aggregate-error": "^3.0.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.0.0", + "env-ci": "^5.0.0", + "execa": "^5.0.0", + "figures": "^3.0.0", + "find-versions": "^4.0.0", + "get-stream": "^6.0.0", + "git-log-parser": "^1.2.0", + "hook-std": "^2.0.0", + "hosted-git-info": "^4.0.0", + "lodash": "^4.17.21", + "marked": "^4.0.10", + "marked-terminal": "^5.0.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "p-reduce": "^2.0.0", + "read-pkg-up": "^7.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.3.2", + "semver-diff": "^3.1.1", + "signale": "^1.2.1", + "yargs": "^16.2.0" + }, + "bin": { + "semantic-release": "bin/semantic-release.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=16 || ^14.17" } }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/semantic-release/node_modules/execa": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/sane/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/semantic-release/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=4.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sane/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/semantic-release/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sane/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "node_modules/semantic-release/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10.17.0" } }, - "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/semantic-release/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "lru-cache": "^6.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sane/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/sane/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/sane/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/sane/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semantic-release": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.4.2.tgz", - "integrity": "sha512-TPLWuoe2L2DmgnQEh+OLWW5V1T+ZAa1xWuHXsuPAWEko0BqSdLPl+5+BlQ+D5Bp27S5gDJ1//Y1tgbmvUhnOCw==", - "dev": true, - "dependencies": { - "@semantic-release/commit-analyzer": "^8.0.0", - "@semantic-release/error": "^2.2.0", - "@semantic-release/github": "^7.0.0", - "@semantic-release/npm": "^7.0.0", - "@semantic-release/release-notes-generator": "^9.0.0", - "aggregate-error": "^3.0.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.0.0", - "env-ci": "^5.0.0", - "execa": "^5.0.0", - "figures": "^3.0.0", - "find-versions": "^4.0.0", - "get-stream": "^6.0.0", - "git-log-parser": "^1.2.0", - "hook-std": "^2.0.0", - "hosted-git-info": "^4.0.0", - "lodash": "^4.17.15", - "marked": "^2.0.0", - "marked-terminal": "^4.1.1", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "p-reduce": "^2.0.0", - "read-pkg-up": "^7.0.0", - "resolve-from": "^5.0.0", - "semver": "^7.3.2", - "semver-diff": "^3.1.1", - "signale": "^1.2.1", - "yargs": "^16.2.0" - }, - "bin": { - "semantic-release": "bin/semantic-release.js" - }, - "engines": { - "node": ">=10.18" - } - }, - "node_modules/semantic-release/node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/semantic-release/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/semantic-release/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver-regex": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", - "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/signale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", - "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", - "dev": true, - "dependencies": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "node_modules/spawn-error-forwarder": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", - "integrity": "sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk=", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/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 - }, - "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, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-events": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", - "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", - "dev": true, - "dependencies": { - "stubs": "^3.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string.prototype.padend": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", - "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stubs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", - "dev": true - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/table": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.6.0.tgz", - "integrity": "sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz", - "integrity": "sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==", - "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/table/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/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/table/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/teeny-request": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz", - "integrity": "sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==", - "dev": true, - "dependencies": { - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^4.0.0", - "node-fetch": "^2.2.0", - "stream-events": "^1.0.5", - "uuid": "^3.3.2" - } - }, - "node_modules/teeny-request/node_modules/agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/teeny-request/node_modules/https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "dependencies": { - "agent-base": "5", - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/teeny-request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", - "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", - "dev": true, - "dependencies": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "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, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">= 4.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", "dev": true, "dependencies": { - "punycode": "^2.1.1" + "semver": "^6.3.0" }, "engines": { "node": ">=8" } }, - "node_modules/traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", - "dev": true - }, - "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==", + "node_modules/semver-regex": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.3.tgz", + "integrity": "sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/trim-off-newlines": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz", - "integrity": "sha512-kh6Tu6GbeSNMGfrrZh6Bb/4ZEHV1QlB4xNDBeog8Y9/QwFlKTRyWvY3Fs9tRDAMZliVUwieMgEdIeL/FtqjkJg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "randombytes": "^2.1.0" } }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "dependencies": { - "safe-buffer": "^5.0.1" + "kind-of": "^6.0.2" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "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/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "node_modules/signale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", "dev": true, "dependencies": { - "is-typedarray": "^1.0.0" + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, "engines": { - "node": ">=4.2.0" + "node": ">=8" } }, - "node_modules/uglify-js": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.5.tgz", - "integrity": "sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw==", + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "node_modules/spawn-error-forwarder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", + "integrity": "sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk=", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/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 }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "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, - "engines": { - "node": ">=4" + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/union-value": { + "node_modules/spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "node_modules/split": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "through": "2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "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": { - "unique-slug": "^2.0.0" + "readable-stream": "^3.0.0" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/split2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dev": true, "dependencies": { - "crypto-random-string": "^2.0.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - }, - "node_modules/universalify": { + "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">=8" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", "dev": true, "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "dependencies": { - "isarray": "1.0.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, - "optional": true, "engines": { - "node": ">=4", - "yarn": "*" + "node": ">=4" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "dependencies": { - "punycode": "^2.1.0" + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "node_modules/string.prototype.padend": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "dev": true, "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/urlgrey": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", - "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "dependencies": { - "inherits": "2.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, - "optional": true, - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz", - "integrity": "sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10.10.0" + "node": ">=8" } }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { - "node": ">= 8" - } - }, - "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, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "node": ">=8" } }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, "dependencies": { - "xml-name-validator": "^3.0.0" + "min-indent": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "node_modules/strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true, - "dependencies": { - "makeerror": "1.0.x" + "engines": { + "node": ">=8" } }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "has-flag": "^3.0.0" }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "engines": { + "node": ">=4" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", "dev": true, - "optional": true, "dependencies": { - "chokidar": "^2.1.8" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optional": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "optional": true, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "dev": true, - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/tempy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", + "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", "dev": true, - "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "node": ">=10" }, - "optionalDependencies": { - "fsevents": "^1.2.7" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", "dev": true, - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dev": true, - "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "node_modules/terminal-link/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" + "type-fest": "^0.21.3" }, "engines": { - "node": ">= 4.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "node_modules/terminal-link/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "node_modules/terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", "dev": true, - "optional": true, "dependencies": { - "is-extglob": "^2.1.0" + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "node_modules/terser-webpack-plugin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, - "optional": true, + "peer": true, "dependencies": { - "binary-extensions": "^1.0.0" + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "optional": true, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "optional": true, + "peer": true, "dependencies": { - "kind-of": "^3.0.2" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, - "optional": true, + "peer": true, "dependencies": { - "is-buffer": "^1.1.5" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, - "optional": true, + "peer": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "randombytes": "^2.1.0" } }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, + "peer": true, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "optional": true, + "peer": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "node": ">= 8" } }, - "node_modules/webpack-cli": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", - "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.1", - "findup-sync": "^3.0.0", - "global-modules": "^2.0.0", - "import-local": "^2.0.0", - "interpret": "^1.4.0", - "loader-utils": "^1.4.0", - "supports-color": "^6.1.0", - "v8-compile-cache": "^2.1.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-cli": "bin/cli.js" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=6.11.5" - }, - "peerDependencies": { - "webpack": "4.x.x" + "node": ">=8" } }, - "node_modules/webpack-cli/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/webpack-cli/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "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, "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "readable-stream": "3" } }, - "node_modules/webpack-cli/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/through2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=4.8" + "node": ">= 6" } }, - "node_modules/webpack-cli/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/webpack-cli/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": ">=6" + "node": ">=0.6.0" } }, - "node_modules/webpack-cli/node_modules/global-modules": { + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/webpack-cli/node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=8.0" } }, - "node_modules/webpack-cli/node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", "dev": true, "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" }, "engines": { "node": ">=6" } }, - "node_modules/webpack-cli/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 4.0.0" } }, - "node_modules/webpack-cli/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==", + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "punycode": "^2.1.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/webpack-cli/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", + "dev": true + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-node": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", + "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", + "yn": "3.1.1" }, - "engines": { - "node": ">=6" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/webpack-cli/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/webpack-cli/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, "engines": { - "node": ">=4" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/webpack-cli/node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "dependencies": { - "resolve-from": "^3.0.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/webpack-cli/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/webpack-cli/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-cli/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "is-typedarray": "^1.0.0" } }, - "node_modules/webpack-cli/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "node_modules/typescript": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4.2.0" } }, - "node_modules/webpack-cli/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/uglify-js": { + "version": "3.15.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", + "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, "engines": { - "node": ">=6" + "node": ">=0.8.0" } }, - "node_modules/webpack-cli/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/webpack-cli/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/webpack-cli/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=4" } }, - "node_modules/webpack-cli/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/webpack-cli/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/webpack-cli/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "punycode": "^2.1.0" } }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.12.0" } }, - "node_modules/webpack/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">= 8" } }, - "node_modules/webpack/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "browser-process-hrtime": "^1.0.0" } }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", "dev": true, "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "xml-name-validator": "^3.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=10" } }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "makeerror": "1.0.12" } }, - "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/watchpack": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, + "peer": true, "dependencies": { - "is-extendable": "^0.1.0" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10.4" } }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/webpack": { + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", "dev": true, + "peer": true, "dependencies": { - "kind-of": "^3.0.2" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/webpack/node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "peer": true }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "peer": true, "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 4" + "node": ">=8.0.0" } }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "peer": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/whatwg-encoding": { @@ -20048,13 +16184,13 @@ "dev": true }, "node_modules/whatwg-url": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", - "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dev": true, "dependencies": { "lodash": "^4.7.0", - "tr46": "^2.0.2", + "tr46": "^2.1.0", "webidl-conversions": "^6.1.0" }, "engines": { @@ -20092,12 +16228,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -20113,15 +16243,6 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -20214,9 +16335,9 @@ } }, "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", "dev": true, "engines": { "node": ">=8.3.0" @@ -20255,12 +16376,6 @@ "node": ">=0.4" } }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -20335,6 +16450,15 @@ "node": ">=10" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -20349,114 +16473,156 @@ } }, "dependencies": { + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@babel/cli": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.17.6.tgz", + "integrity": "sha512-l4w608nsDNlxZhiJ5tE3DbNmr61fIKMZ6fTBo171VEFuFMIYuJ3mHRhTLEkKKyvx2Mizkkv/0a8OJOnZqkKYNA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.4", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } + } + }, "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.16.7" } }, "@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true }, "@babel/core": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz", - "integrity": "sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.1", + "semver": "^6.3.0" } }, "@babel/generator": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.0.tgz", - "integrity": "sha512-C6u00HbmsrNPug6A+CiNl8rEys7TsdcXwg12BHi2ca5rUfAs3+UwZsuDQSXnc+wCElCXMB8gMaJ3YXDdh8fAlg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", "dev": true, "requires": { - "@babel/types": "^7.14.0", + "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.0.tgz", - "integrity": "sha512-6pXDPguA5zC40Y8oI5mqr+jEUpjMJonKvknvA+vD8CYDz5uuXEwWBK8sRAsE/t3gfb1k15AQb9RhwpscC4nUJQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -20469,362 +16635,371 @@ "semver": "^6.1.2" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "requires": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.16.7" } }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" } }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" } }, "@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "requires": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" + "@babel/types": "^7.16.7" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.17.0" } }, "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz", - "integrity": "sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" } }, "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.17.0" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helpers": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dev": true, "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" } }, "@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.0", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.0.tgz", - "integrity": "sha512-AHbfoxesfBALg33idaTBVUkLnfXtsgvJREf93p4p0Lwsz4ppfE7g1tpEXVm4vrxUcH4DVhAa9Z1m1zqf9WUC7Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", "dev": true }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", - "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", - "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-class-static-block": "^7.12.13" + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" + "@babel/plugin-transform-parameters": "^7.16.7" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-create-class-features-plugin": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-async-generators": { @@ -20855,12 +17030,12 @@ } }, "@babel/plugin-syntax-class-static-block": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", - "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-dynamic-import": { @@ -20954,364 +17129,387 @@ } }, "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.0.tgz", - "integrity": "sha512-CF4c5LX4LQ03LebQxJ5JZes2OYjzBuk1TdiF7cG7d5dK4lAdw9NZmaxq5K/mouUdNeqwz3TNjnW6v01UqUNgpQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", - "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", - "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" } }, "@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "requires": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/preset-env": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.0.tgz", - "integrity": "sha512-GWRCdBv2whxqqaSi7bo/BEXf070G/fWFMEdCnmoRg2CZJy4GK06ovFuEjJrZhDRXYgBsYtxVbG8GUHvw+UWBkQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.15", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -21321,53 +17519,53 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.13.16", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.14.0", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.14.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" } }, "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -21377,62 +17575,75 @@ "esutils": "^2.0.2" } }, + "@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + } + }, "@babel/register": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.16.tgz", - "integrity": "sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", + "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", "dev": true, "requires": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.0", + "pirates": "^4.0.5", "source-map-support": "^0.5.16" } }, "@babel/runtime": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/traverse": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.0.tgz", - "integrity": "sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.0", - "@babel/types": "^7.14.0", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.9", + "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.0.tgz", - "integrity": "sha512-O2LVLdcnWplaGxiPBz12d0HcdN8QdxdsWYhz5LSeuukV/5mn2xUUc3gBeU4QBYPJ18g/UToe8F532XJ608prmg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.0", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, @@ -21442,66 +17653,118 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } + "optional": true }, "@commitlint/cli": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-12.1.1.tgz", - "integrity": "sha512-SB67/s6VJ50seoPx/Sr2gj1fMzKrx+udgarecGdr8h43ah+M2e22gjQJ7xHv5KwyPQ+6ug1YOMCL34ubT4zupQ==", + "version": "16.2.3", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-16.2.3.tgz", + "integrity": "sha512-VsJBQLvhhlOgEfxs/Z5liYuK0dXqLE5hz1VJzLBxiOxG31kL/X5Q4OvK292BmO7IGZcm1yJE3XQPWSiFaEHbWA==", "dev": true, "requires": { - "@commitlint/format": "^12.1.1", - "@commitlint/lint": "^12.1.1", - "@commitlint/load": "^12.1.1", - "@commitlint/read": "^12.1.1", - "@commitlint/types": "^12.1.1", - "get-stdin": "8.0.0", + "@commitlint/format": "^16.2.1", + "@commitlint/lint": "^16.2.1", + "@commitlint/load": "^16.2.3", + "@commitlint/read": "^16.2.1", + "@commitlint/types": "^16.2.1", "lodash": "^4.17.19", "resolve-from": "5.0.0", "resolve-global": "1.0.0", - "yargs": "^16.2.0" + "yargs": "^17.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true + } } }, "@commitlint/config-conventional": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-12.1.1.tgz", - "integrity": "sha512-15CqbXMsQiEb0qbzjEHe2OkzaXPYSp7RxaS6KoSVk/4W0QiigquavQ+M0huBZze92h0lMS6Pxoq4AJ5CQ3D+iQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.2.1.tgz", + "integrity": "sha512-cP9gArx7gnaj4IqmtCIcHdRjTYdRUi6lmGE+lOzGGjGe45qGOS8nyQQNvkNy2Ey2VqoSWuXXkD8zCUh6EHf1Ww==", "dev": true, "requires": { "conventional-changelog-conventionalcommits": "^4.3.1" } }, + "@commitlint/config-validator": { + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-16.2.1.tgz", + "integrity": "sha512-hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==", + "dev": true, + "requires": { + "@commitlint/types": "^16.2.1", + "ajv": "^6.12.6" + } + }, "@commitlint/ensure": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.1.1.tgz", - "integrity": "sha512-XEUQvUjzBVQM7Uv8vYz+c7PDukFvx0AvQEyX/V+PaTkCK/xPvexu7FLbFwvypjSt9BPMf+T/rhB1hVmldkd6lw==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-16.2.1.tgz", + "integrity": "sha512-/h+lBTgf1r5fhbDNHOViLuej38i3rZqTQnBTk+xEg+ehOwQDXUuissQ5GsYXXqI5uGy+261ew++sT4EA3uBJ+A==", "dev": true, "requires": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "lodash": "^4.17.19" } }, "@commitlint/execute-rule": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.1.1.tgz", - "integrity": "sha512-6mplMGvLCKF5LieL7BRhydpg32tm6LICnWQADrWU4S5g9PKi2utNvhiaiuNPoHUXr29RdbNaGNcyyPv8DSjJsQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-16.2.1.tgz", + "integrity": "sha512-oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==", "dev": true }, "@commitlint/format": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-12.1.1.tgz", - "integrity": "sha512-bTAoOryTFLqls17JTaRwk2WDVOP0NwuG4F/JPK8RaF6DMZNVQTfajkgTxFENNZRnESfau1BvivvEXfUAW2ZsvA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-16.2.1.tgz", + "integrity": "sha512-Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q==", "dev": true, "requires": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "chalk": "^4.0.0" }, "dependencies": { @@ -21515,9 +17778,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -21557,12 +17820,12 @@ } }, "@commitlint/is-ignored": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.1.1.tgz", - "integrity": "sha512-Sn4fsnWX+wLAJOD/UZeoVruB98te1TyPYRiDEq0MhRJAQIrP+7jE/O3/ass68AAMq00HvH3OK9kt4UBXggcGjA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.2.1.tgz", + "integrity": "sha512-exl8HRzTIfb1YvDJp2b2HU5z1BT+9tmgxR2XF0YEzkMiCIuEKh+XLeocPr1VcvAKXv3Cmv5X/OfNRp+i+/HIhQ==", "dev": true, "requires": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "semver": "7.3.5" }, "dependencies": { @@ -21578,30 +17841,34 @@ } }, "@commitlint/lint": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-12.1.1.tgz", - "integrity": "sha512-FFFPpku/E0svL1jaUVqosuZJDDWiNWYBlUw5ZEljh3MwWRcoaWtMIX5bseX+IvHpFZsCTAiBs1kCgNulCi0UvA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-16.2.1.tgz", + "integrity": "sha512-fNINQ3X2ZqsCkNB3Z0Z8ElmhewqrS3gy2wgBTx97BkcjOWiyPAGwDJ752hwrsUnWAVBRztgw826n37xPzxsOgg==", "dev": true, "requires": { - "@commitlint/is-ignored": "^12.1.1", - "@commitlint/parse": "^12.1.1", - "@commitlint/rules": "^12.1.1", - "@commitlint/types": "^12.1.1" + "@commitlint/is-ignored": "^16.2.1", + "@commitlint/parse": "^16.2.1", + "@commitlint/rules": "^16.2.1", + "@commitlint/types": "^16.2.1" } }, "@commitlint/load": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-12.1.1.tgz", - "integrity": "sha512-qOQtgNdJRULUQWP9jkpTwhj7aEtnqUtqeUpbQ9rjS+GIUST65HZbteNUX4S0mAEGPWqy2aK5xGd73cUfFSvuuw==", + "version": "16.2.3", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-16.2.3.tgz", + "integrity": "sha512-Hb4OUlMnBUK6UxJEZ/VJ5k0LocIS7PtEMbRXEAA7eSpOgORIFexC4K/RaRpVd5UTtu3M0ST3ddPPijF9rdW6nw==", "dev": true, "requires": { - "@commitlint/execute-rule": "^12.1.1", - "@commitlint/resolve-extends": "^12.1.1", - "@commitlint/types": "^12.1.1", + "@commitlint/config-validator": "^16.2.1", + "@commitlint/execute-rule": "^16.2.1", + "@commitlint/resolve-extends": "^16.2.1", + "@commitlint/types": "^16.2.1", + "@types/node": ">=12", "chalk": "^4.0.0", "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^1.0.0", "lodash": "^4.17.19", - "resolve-from": "^5.0.0" + "resolve-from": "^5.0.0", + "typescript": "^4.4.3" }, "dependencies": { "ansi-styles": { @@ -21656,40 +17923,55 @@ } }, "@commitlint/message": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-12.1.1.tgz", - "integrity": "sha512-RakDSLAiOligXjhbLahV8HowF4K75pZIcs0+Ii9Q8Gz5H3DWf1Ngit7alFTWfcbf/+DTjSzVPov5HiwQZPIBUg==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-16.2.1.tgz", + "integrity": "sha512-2eWX/47rftViYg7a3axYDdrgwKv32mxbycBJT6OQY/MJM7SUfYNYYvbMFOQFaA4xIVZt7t2Alyqslbl6blVwWw==", "dev": true }, "@commitlint/parse": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-12.1.1.tgz", - "integrity": "sha512-nuljIvAbBDr93DgL0wCArftEIhjSghawAwhvrKNV9FFcqAJqfVqitwMxJrNDCQ5pgUMCSKULLOEv+dA0bLlTEQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-16.2.1.tgz", + "integrity": "sha512-2NP2dDQNL378VZYioLrgGVZhWdnJO4nAxQl5LXwYb08nEcN+cgxHN1dJV8OLJ5uxlGJtDeR8UZZ1mnQ1gSAD/g==", "dev": true, "requires": { - "@commitlint/types": "^12.1.1", + "@commitlint/types": "^16.2.1", "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.0.0" + "conventional-commits-parser": "^3.2.2" } }, "@commitlint/read": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-12.1.1.tgz", - "integrity": "sha512-1k0CQEoZIdixvmqZRKEcWdj2XiKS7SlizEOJ1SE99Qui5d5FlBey8eaooTGgmpR6zObpIHJehtEPzM3VzUT3qA==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-16.2.1.tgz", + "integrity": "sha512-tViXGuaxLTrw2r7PiYMQOFA2fueZxnnt0lkOWqKyxT+n2XdEMGYcI9ID5ndJKXnfPGPppD0w/IItKsIXlZ+alw==", "dev": true, "requires": { - "@commitlint/top-level": "^12.1.1", - "@commitlint/types": "^12.1.1", - "fs-extra": "^9.0.0", + "@commitlint/top-level": "^16.2.1", + "@commitlint/types": "^16.2.1", + "fs-extra": "^10.0.0", "git-raw-commits": "^2.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } } }, "@commitlint/resolve-extends": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.1.1.tgz", - "integrity": "sha512-/DXRt0S0U3o9lq5cc8OL1Lkx0IjW0HcDWjUkUXshAajBIKBYSJB8x/loNCi1krNEJ8SwLXUEFt5OLxNO6wE9yQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-16.2.1.tgz", + "integrity": "sha512-NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==", "dev": true, "requires": { + "@commitlint/config-validator": "^16.2.1", + "@commitlint/types": "^16.2.1", "import-fresh": "^3.0.0", "lodash": "^4.17.19", "resolve-from": "^5.0.0", @@ -21697,36 +17979,68 @@ } }, "@commitlint/rules": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-12.1.1.tgz", - "integrity": "sha512-oCcLF/ykcJfhM2DeeaDyrgdaiuKsqIPNocugdPj2WEyhSYqmx1/u18CV96LAtW+WyyiOLCCeiZwiQutx3T5nXg==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-16.2.1.tgz", + "integrity": "sha512-ZFezJXQaBBso+BOTre/+1dGCuCzlWVaeLiVRGypI53qVgPMzQqZhkCcrxBFeqB87qeyzr4A4EoG++IvITwwpIw==", "dev": true, "requires": { - "@commitlint/ensure": "^12.1.1", - "@commitlint/message": "^12.1.1", - "@commitlint/to-lines": "^12.1.1", - "@commitlint/types": "^12.1.1" + "@commitlint/ensure": "^16.2.1", + "@commitlint/message": "^16.2.1", + "@commitlint/to-lines": "^16.2.1", + "@commitlint/types": "^16.2.1", + "execa": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + } } }, "@commitlint/to-lines": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.1.1.tgz", - "integrity": "sha512-W23AH2XF5rI27MOAPSSr0TUDoRe7ZbFoRtYhFnPu2MBmcuDA9Tmfd9N5sM2tBXtdE26uq3SazwKqGt1OoGAilQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-16.2.1.tgz", + "integrity": "sha512-9/VjpYj5j1QeY3eiog1zQWY6axsdWAc0AonUUfyZ7B0MVcRI0R56YsHAfzF6uK/g/WwPZaoe4Lb1QCyDVnpVaQ==", "dev": true }, "@commitlint/top-level": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.1.1.tgz", - "integrity": "sha512-g7uRbr81QEIg+pbii0OkE17Zh/2C/f6dSmiMDVRn1S0+hNHR1bENCh18hVUKcV/qKTUsKkFlhhWXM9mQBfxQJw==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-16.2.1.tgz", + "integrity": "sha512-lS6GSieHW9y6ePL73ied71Z9bOKyK+Ib9hTkRsB8oZFAyQZcyRwq2w6nIa6Fngir1QW51oKzzaXfJL94qwImyw==", "dev": true, "requires": { "find-up": "^5.0.0" } }, "@commitlint/types": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-12.1.1.tgz", - "integrity": "sha512-+qGH+s2Lo6qwacV2X3/ZypZwaAI84ift+1HBjXdXtI/q0F5NtmXucV3lcQOTviMTNiJhq4qWON2fjci2NItASw==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-16.2.1.tgz", + "integrity": "sha512-7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA==", "dev": true, "requires": { "chalk": "^4.0.0" @@ -21742,9 +18056,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -21783,30 +18097,60 @@ } } }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, "@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", + "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "argparse": "^2.0.1" } }, "strip-json-comments": { @@ -21816,13 +18160,30 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true } } }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -21882,16 +18243,16 @@ "dev": true }, "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", "slash": "^3.0.0" }, "dependencies": { @@ -21905,9 +18266,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -21947,36 +18308,36 @@ } }, "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", + "emittery": "^0.8.1", "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" @@ -22001,9 +18362,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -22049,73 +18410,73 @@ } }, "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", "dev": true, "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", - "jest-mock": "^26.6.2" + "jest-mock": "^27.5.1" } }, "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" } }, "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", "dev": true, "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" } }, "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.2", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" + "v8-to-istanbul": "^8.1.0" }, "dependencies": { "ansi-styles": { @@ -22128,9 +18489,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -22158,6 +18519,28 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -22176,13 +18559,13 @@ } }, "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", "dev": true, "requires": { "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "source-map": "^0.6.0" }, "dependencies": { @@ -22195,48 +18578,47 @@ } }, "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", "dev": true, "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" } }, "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" @@ -22252,9 +18634,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -22300,15 +18682,15 @@ } }, "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^15.0.0", + "@types/yargs": "^16.0.0", "chalk": "^4.0.0" }, "dependencies": { @@ -22322,9 +18704,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -22363,50 +18745,79 @@ } } }, + "@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.4", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.4", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@octokit/auth-token": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", - "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dev": true, "requires": { "@octokit/types": "^6.0.3" } }, "@octokit/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz", - "integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dev": true, "requires": { "@octokit/auth-token": "^2.4.4", "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.4.12", + "@octokit/request": "^5.6.3", "@octokit/request-error": "^2.0.5", "@octokit/types": "^6.0.3", "before-after-hook": "^2.2.0", @@ -22414,9 +18825,9 @@ } }, "@octokit/endpoint": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", - "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, "requires": { "@octokit/types": "^6.0.3", @@ -22433,59 +18844,59 @@ } }, "@octokit/graphql": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.1.tgz", - "integrity": "sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, "requires": { - "@octokit/request": "^5.3.0", + "@octokit/request": "^5.6.0", "@octokit/types": "^6.0.3", "universal-user-agent": "^6.0.0" } }, "@octokit/openapi-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz", - "integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", "dev": true }, "@octokit/plugin-paginate-rest": { - "version": "2.13.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz", - "integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", "dev": true, "requires": { - "@octokit/types": "^6.11.0" + "@octokit/types": "^6.34.0" } }, "@octokit/plugin-request-log": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", - "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", "dev": true, "requires": {} }, "@octokit/plugin-rest-endpoint-methods": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.0.1.tgz", - "integrity": "sha512-vvWbPtPqLyIzJ7A4IPdTl+8IeuKAwMJ4LjvmqWOOdfSuqWQYZXq2CEd0hsnkidff2YfKlguzujHs/reBdAx8Sg==", + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", "dev": true, "requires": { - "@octokit/types": "^6.13.1", + "@octokit/types": "^6.34.0", "deprecation": "^2.3.1" } }, "@octokit/request": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", - "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dev": true, "requires": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" }, "dependencies": { @@ -22498,9 +18909,9 @@ } }, "@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dev": true, "requires": { "@octokit/types": "^6.0.3", @@ -22509,79 +18920,145 @@ } }, "@octokit/rest": { - "version": "18.5.3", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.5.3.tgz", - "integrity": "sha512-KPAsUCr1DOdLVbZJgGNuE/QVLWEaVBpFQwDAz/2Cnya6uW2wJ/P5RVGk0itx7yyN1aGa8uXm2pri4umEqG1JBA==", + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", "dev": true, "requires": { - "@octokit/core": "^3.2.3", - "@octokit/plugin-paginate-rest": "^2.6.2", - "@octokit/plugin-request-log": "^1.0.2", - "@octokit/plugin-rest-endpoint-methods": "5.0.1" + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" } }, "@octokit/types": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz", - "integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==", + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.2.1.tgz", + "integrity": "sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dev": true, "requires": { - "@octokit/openapi-types": "^7.0.0" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" } }, "@semantic-release/changelog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-5.0.1.tgz", - "integrity": "sha512-unvqHo5jk4dvAf2nZ3aw4imrlwQ2I50eVVvq9D47Qc3R+keNqepx1vDYwkjF8guFXnOYaYcR28yrZWno1hFbiw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.1.tgz", + "integrity": "sha512-FT+tAGdWHr0RCM3EpWegWnvXJ05LQtBkQUaQRIExONoXjVjLuOILNm4DEKNaV+GAQyJjbLRVs57ti//GypH6PA==", "dev": true, "requires": { - "@semantic-release/error": "^2.1.0", + "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "fs-extra": "^9.0.0", "lodash": "^4.17.4" } }, "@semantic-release/commit-analyzer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-8.0.1.tgz", - "integrity": "sha512-5bJma/oB7B4MtwUkZC2Bf7O1MHfi4gWe4mA+MIQ3lsEV0b422Bvl1z5HRpplDnMLHH3EXMoRdEng6Ds5wUqA3A==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-9.0.2.tgz", + "integrity": "sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.0", "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.0.7", + "conventional-commits-parser": "^3.2.3", "debug": "^4.0.0", - "import-from": "^3.0.0", + "import-from": "^4.0.0", "lodash": "^4.17.4", "micromatch": "^4.0.2" } }, "@semantic-release/error": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", - "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", + "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", "dev": true }, "@semantic-release/git": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-9.0.0.tgz", - "integrity": "sha512-AZ4Zha5NAPAciIJH3ipzw/WU9qLAn8ENaoVAhD6srRPxTpTzuV3NhNh14rcAo8Paj9dO+5u4rTKcpetOBluYVw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz", + "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==", "dev": true, "requires": { - "@semantic-release/error": "^2.1.0", + "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "debug": "^4.0.0", "dir-glob": "^3.0.0", - "execa": "^4.0.0", + "execa": "^5.0.0", "lodash": "^4.17.4", "micromatch": "^4.0.0", "p-reduce": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + } } }, "@semantic-release/github": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-7.2.1.tgz", - "integrity": "sha512-+gOhbaG4T3xJb6aTZu1/7KvCmYKRChkasdIyFWdaGaTWVeGpdl4o0zMviV1z3kRcgPOSXeqjHSQ6SOQAfHQiDw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-8.0.4.tgz", + "integrity": "sha512-But4e8oqqP3anZI5tjzZssZc2J6eoUdeeE0s7LVKKwyiAXJiQDWNNvtPOpgG2DsIz4+Exuse7cEQgjGMxwtLmg==", "dev": true, "requires": { "@octokit/rest": "^18.0.0", @@ -22590,32 +19067,68 @@ "bottleneck": "^2.18.1", "debug": "^4.0.0", "dir-glob": "^3.0.0", - "fs-extra": "^9.0.0", + "fs-extra": "^10.0.0", "globby": "^11.0.0", - "http-proxy-agent": "^4.0.0", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "issue-parser": "^6.0.0", "lodash": "^4.17.4", - "mime": "^2.4.3", + "mime": "^3.0.0", "p-filter": "^2.0.0", "p-retry": "^4.0.0", "url-join": "^4.0.0" + }, + "dependencies": { + "@semantic-release/error": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", + "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", + "dev": true + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + } } }, "@semantic-release/npm": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-7.1.1.tgz", - "integrity": "sha512-zTYAno1j49XiH+uAVCY47dKOJAagA/MaJb26FFIfNujNHw3GYXk3ygsFa5CSa55xsO0qEMLcsDX3f3ByCg6nZw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-9.0.1.tgz", + "integrity": "sha512-I5nVZklxBzfMFwemhRNbSrkiN/dsH3c7K9+KSk6jUnq0rdLFUuJt7EBsysq4Ir3moajQgFkfEryEHPqiKJj20g==", "dev": true, "requires": { - "@semantic-release/error": "^2.2.0", + "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "execa": "^5.0.0", - "fs-extra": "^9.0.0", + "fs-extra": "^10.0.0", "lodash": "^4.17.15", "nerf-dart": "^1.0.0", "normalize-url": "^6.0.0", - "npm": "^7.0.0", + "npm": "^8.3.0", "rc": "^1.2.8", "read-pkg": "^5.0.0", "registry-auth-token": "^4.0.0", @@ -22624,9 +19137,9 @@ }, "dependencies": { "execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -22640,6 +19153,17 @@ "strip-final-newline": "^2.0.0" } }, + "fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -22691,9 +19215,9 @@ } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22708,21 +19232,29 @@ } }, "@semantic-release/release-notes-generator": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-9.0.2.tgz", - "integrity": "sha512-xGFSidhGqB27uwgWCU6y0gbf4r/no5flOAkJyFFc4+bPf8S+LfAVm7xhhlK5VPXLt2Iu1RBH8F+IgMK2ah5YpA==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-10.0.3.tgz", + "integrity": "sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.0", - "conventional-changelog-writer": "^4.0.0", + "conventional-changelog-writer": "^5.0.0", "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.0.0", + "conventional-commits-parser": "^3.2.3", "debug": "^4.0.0", - "get-stream": "^5.0.0", - "import-from": "^3.0.0", + "get-stream": "^6.0.0", + "import-from": "^4.0.0", "into-stream": "^6.0.0", "lodash": "^4.17.4", "read-pkg-up": "^7.0.0" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + } } }, "@sinonjs/commons": { @@ -22735,9 +19267,9 @@ } }, "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" @@ -22749,6 +19281,30 @@ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "@types/babel__core": { "version": "7.1.14", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", @@ -22790,6 +19346,34 @@ "@babel/types": "^7.3.0" } }, + "@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -22800,9 +19384,9 @@ } }, "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "@types/istanbul-lib-report": { @@ -22815,18 +19399,28 @@ } }, "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", - "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "requires": { "@types/istanbul-lib-report": "*" } }, + "@types/jest": { + "version": "27.4.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", + "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "dev": true, + "requires": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/minimatch": { @@ -22836,9 +19430,9 @@ "dev": true }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/node": { @@ -22860,87 +19454,82 @@ "dev": true }, "@types/prettier": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.3.tgz", - "integrity": "sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==", "dev": true }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, "@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "@typescript-eslint/experimental-utils": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz", - "integrity": "sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.22.0", - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/typescript-estree": "4.22.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, "@typescript-eslint/scope-manager": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz", - "integrity": "sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", + "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", "dev": true, "requires": { - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/visitor-keys": "4.22.0" + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0" } }, "@typescript-eslint/types": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz", - "integrity": "sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", + "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", - "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", + "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.22.0", - "@typescript-eslint/visitor-keys": "4.22.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "dependencies": { "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22948,188 +19537,200 @@ } } }, + "@typescript-eslint/utils": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz", + "integrity": "sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + } + } + }, "@typescript-eslint/visitor-keys": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz", - "integrity": "sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", + "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", "dev": true, "requires": { - "@typescript-eslint/types": "4.22.0", - "eslint-visitor-keys": "^2.0.0" + "@typescript-eslint/types": "5.19.0", + "eslint-visitor-keys": "^3.0.0" } }, "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "peer": true }, "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "peer": true }, "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true + "peer": true }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "peer": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, + "peer": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, + "peer": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "peer": true }, "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, @@ -23137,13 +19738,15 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "peer": true }, "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "peer": true }, "abab": { "version": "2.0.5", @@ -23152,9 +19755,9 @@ "dev": true }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true }, "acorn-globals": { @@ -23165,12 +19768,28 @@ "requires": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } } }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peer": true, + "requires": {} + }, "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, @@ -23211,13 +19830,6 @@ "uri-js": "^4.2.2" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -23225,12 +19837,6 @@ "dev": true, "requires": {} }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -23238,9 +19844,9 @@ "dev": true }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -23268,10 +19874,10 @@ "picomatch": "^2.0.4" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, "argparse": { @@ -23283,36 +19889,12 @@ "sprintf-js": "~1.0.2" } }, - "argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true - }, "argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", "integrity": "sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk=", "dev": true }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, "array-differ": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", @@ -23331,99 +19913,12 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -23436,37 +19931,19 @@ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", "dev": true, "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "dependencies": { @@ -23480,9 +19957,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -23522,13 +19999,13 @@ } }, "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -23554,6 +20031,17 @@ "path-exists": "^4.0.0" } }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -23611,22 +20099,22 @@ } }, "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -23636,33 +20124,33 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0" + "@babel/helper-define-polyfill-provider": "^0.3.1" } }, "babel-preset-current-node-syntax": { @@ -23686,12 +20174,12 @@ } }, "babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^26.6.2", + "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -23701,51 +20189,10 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "before-after-hook": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", - "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", "dev": true }, "big.js": { @@ -23761,28 +20208,6 @@ "dev": true, "optional": true }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, "bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", @@ -23808,121 +20233,23 @@ "fill-range": "^7.0.1" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, "browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" } }, "bser": { @@ -23934,101 +20261,18 @@ "node-int64": "^0.4.0" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, "cachedir": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", @@ -24069,20 +20313,11 @@ } }, "caniuse-lite": { - "version": "1.0.30001292", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz", - "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==", + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "dev": true }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "requires": { - "rsvp": "^4.8.4" - } - }, "cardinal": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", @@ -24093,12 +20328,6 @@ "redeyed": "~2.1.0" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -24139,119 +20368,24 @@ "readdirp": "~3.5.0" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } + "peer": true }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true }, "clean-stack": { "version": "2.2.0", @@ -24268,13 +20402,33 @@ "restore-cursor": "^2.0.0" } }, - "cli-table": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", - "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", + "cli-table3": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", + "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", "dev": true, "requires": { - "colors": "1.0.3" + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } } }, "cli-width": { @@ -24330,35 +20484,12 @@ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, - "codecov": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.1.tgz", - "integrity": "sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==", - "dev": true, - "requires": { - "argv": "0.0.2", - "ignore-walk": "3.0.3", - "js-yaml": "3.14.0", - "teeny-request": "6.0.1", - "urlgrey": "0.4.4" - } - }, "collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -24374,18 +20505,6 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -24482,46 +20601,16 @@ "dot-prop": "^5.1.0" } }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, "conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -24540,15 +20629,14 @@ } }, "conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, "requires": { - "compare-func": "^2.0.0", "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", - "handlebars": "^4.7.6", + "handlebars": "^4.7.7", "json-stringify-safe": "^5.0.1", "lodash": "^4.17.15", "meow": "^8.0.0", @@ -24574,9 +20662,9 @@ } }, "conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, "requires": { "is-text-path": "^1.0.1", @@ -24584,8 +20672,7 @@ "lodash": "^4.17.15", "meow": "^8.0.0", "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" + "through2": "^4.0.0" } }, "convert-source-map": { @@ -24597,44 +20684,13 @@ "safe-buffer": "~5.1.1" } }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, "core-js-compat": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.1.tgz", - "integrity": "sha512-aZ0e4tmlG/aOBHj92/TuOuZwp6jFvn1WNabU5VOVixzhu5t5Ao+JZkQOPlgNXu6ynwLrwJxklT4Gw1G1VGEh+g==", + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz", + "integrity": "sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==", "dev": true, "requires": { - "browserslist": "^4.16.5", + "browserslist": "^4.20.2", "semver": "7.0.0" }, "dependencies": { @@ -24665,49 +20721,29 @@ "yaml": "^1.10.0" } }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "cosmiconfig-typescript-loader": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.9.tgz", + "integrity": "sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } + "cosmiconfig": "^7", + "ts-node": "^10.7.0" } }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cross-spawn": "^7.0.1" } }, "cross-spawn": { @@ -24721,25 +20757,6 @@ "which": "^2.0.1" } }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, "crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -24769,12 +20786,6 @@ } } }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "cz-conventional-changelog": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", @@ -24796,15 +20807,6 @@ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -24823,9 +20825,9 @@ "dev": true }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -24856,15 +20858,9 @@ } }, "decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", "dev": true }, "dedent": { @@ -24900,16 +20896,6 @@ "object-keys": "^1.0.12" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, "del": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", @@ -24949,16 +20935,6 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", @@ -24977,30 +20953,17 @@ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true }, "dir-glob": { "version": "3.0.1", @@ -25020,12 +20983,6 @@ "esutils": "^2.0.2" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, "domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", @@ -25061,61 +21018,16 @@ "readable-stream": "^2.0.2" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "electron-to-chromium": { - "version": "1.3.725", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.725.tgz", - "integrity": "sha512-2BbeAESz7kc6KBzs7WVrMc1BY5waUphk4D4DX5dSQXJhsc3tP5ZFaiyuL0AB7vUKzDYpIeYwTYlEfxyjsGUrhw==", + "version": "1.4.111", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.111.tgz", + "integrity": "sha512-/s3+fwhKf1YK4k7btOImOzCQLpUjS6MaPf0ODTNuT4eTM1Bg4itBpLkydhOzJmpmH6Z9eXFyuuK5czsmzRzwtw==", "dev": true }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "dev": true }, "emoji-regex": { @@ -25140,35 +21052,14 @@ } }, "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, + "peer": true, "requires": { - "ansi-colors": "^4.1.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, "env-ci": { @@ -25181,15 +21072,6 @@ "java-properties": "^1.0.0" } }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -25223,6 +21105,13 @@ "unbox-primitive": "^1.0.0" } }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "peer": true + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -25260,9 +21149,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "levn": { @@ -25314,59 +21203,48 @@ } }, "eslint": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", - "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.13.0.tgz", + "integrity": "sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", + "@eslint/eslintrc": "^1.2.1", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", + "glob-parent": "^6.0.1", "globals": "^13.6.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25376,6 +21254,12 @@ "color-convert": "^2.0.1" } }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "chalk": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", @@ -25401,6 +21285,21 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, "globals": { "version": "13.8.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", @@ -25416,13 +21315,13 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "argparse": "^2.0.1" } }, "strip-json-comments": { @@ -25448,65 +21347,81 @@ } } }, + "eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "requires": {} + }, "eslint-plugin-jest": { - "version": "24.3.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz", - "integrity": "sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg==", + "version": "26.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.4.tgz", + "integrity": "sha512-wgqxujmqc2qpvZqMFWCh6Cniqc8lWpapvXt9j/19DmBDqeDaYhJrSRezYR1SKyemvjx+9e9kny/dgRahraHImA==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^5.10.0" + } + }, + "eslint-plugin-prettier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "^4.0.1" + "prettier-linter-helpers": "^1.0.0" } }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" }, "dependencies": { "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true } } }, "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", "dev": true, "requires": { - "acorn": "^7.4.0", + "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "eslint-visitor-keys": "^3.3.0" } }, "esprima": { @@ -25555,6 +21470,12 @@ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -25565,23 +21486,8 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true + "peer": true }, "execa": { "version": "4.1.0", @@ -25606,119 +21512,6 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -25729,59 +21522,15 @@ } }, "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" } }, "external-editor": { @@ -25795,72 +21544,29 @@ "tmp": "^0.0.33" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { @@ -25876,9 +21582,9 @@ "dev": true }, "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -25893,12 +21599,6 @@ "bser": "2.1.1" } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -25917,13 +21617,6 @@ "flat-cache": "^3.0.4" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -25993,129 +21686,6 @@ "semver-regex": "^3.1.2" } }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -26132,48 +21702,17 @@ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -26196,17 +21735,11 @@ "universalify": "^2.0.0" } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true }, "fs.realpath": { "version": "1.0.0", @@ -26262,12 +21795,6 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, - "get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true - }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -26277,21 +21804,6 @@ "pump": "^3.0.0" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -26328,9 +21840,9 @@ } }, "git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "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", @@ -26363,6 +21875,13 @@ "is-glob": "^4.0.1" } }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -26414,40 +21933,25 @@ "dev": true }, "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - } } }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, "handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -26469,22 +21973,6 @@ } } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -26518,109 +22006,6 @@ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -26637,9 +22022,9 @@ "dev": true }, "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "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" @@ -26671,27 +22056,10 @@ "debug": "4" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "requires": { "agent-base": "6", @@ -26705,9 +22073,9 @@ "dev": true }, "husky": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/husky/-/husky-5.2.0.tgz", - "integrity": "sha512-AM8T/auHXRBxlrfPVLKP6jt49GCM2Zz47m8G3FOMsLmTv8Dj/fKVWE0Rh2d4Qrvmy131xEsdQnb3OXRib67PGg==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", "dev": true }, "iconv-lite": { @@ -26719,33 +22087,12 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -26765,18 +22112,15 @@ } }, "import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", + "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", + "dev": true }, "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -26843,12 +22187,6 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -26893,9 +22231,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { @@ -26909,12 +22247,6 @@ } } }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, "into-stream": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz", @@ -26925,15 +22257,6 @@ "p-is-promise": "^3.0.0" } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -26965,78 +22288,27 @@ "call-bind": "^1.0.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "is-callable": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, "is-core-module": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", - "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "optional": true - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -27056,14 +22328,20 @@ "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -27179,16 +22457,6 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "optional": true, - "requires": { - "is-docker": "^2.0.0" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -27207,12 +22475,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "issue-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", @@ -27227,20 +22489,21 @@ } }, "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true }, "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", "dev": true, "requires": { - "@babel/core": "^7.7.5", + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, @@ -27282,9 +22545,9 @@ } }, "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -27301,9 +22564,9 @@ } }, "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -27317,46 +22580,154 @@ "dev": true }, "jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "dev": true, "requires": { - "@jest/core": "^26.6.3", + "@jest/core": "^27.5.1", "import-local": "^3.0.2", - "jest-cli": "^26.6.3" + "jest-cli": "^27.5.1" } }, "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + } + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "dev": true, "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", "exit": "^0.1.2", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", "prompts": "^2.0.1", - "yargs": "^15.4.1" + "yargs": "^16.2.0" }, "dependencies": { "ansi-styles": { @@ -27369,26 +22740,15 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -27404,66 +22764,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "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", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -27472,73 +22778,39 @@ "requires": { "has-flag": "^4.0.0" } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", "dev": true, "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", "chalk": "^4.0.0", + "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "dependencies": { "ansi-styles": { @@ -27551,9 +22823,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -27581,6 +22853,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -27593,15 +22871,15 @@ } }, "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "dependencies": { "ansi-styles": { @@ -27614,9 +22892,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -27656,25 +22934,25 @@ } }, "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" }, "dependencies": { "ansi-styles": { @@ -27687,9 +22965,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -27729,86 +23007,112 @@ } }, "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "dev": true, "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" } }, "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "dev": true, "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" } }, "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true }, "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", "walker": "^1.0.7" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", "dev": true, "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^26.6.2", + "expect": "^27.5.1", "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" }, "dependencies": { "ansi-styles": { @@ -27821,9 +23125,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -27863,25 +23167,25 @@ } }, "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "dev": true, "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" } }, "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "dependencies": { "ansi-styles": { @@ -27894,9 +23198,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -27936,20 +23240,20 @@ } }, "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", "slash": "^3.0.0", - "stack-utils": "^2.0.2" + "stack-utils": "^2.0.3" }, "dependencies": { "ansi-styles": { @@ -27962,9 +23266,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28004,12 +23308,12 @@ } }, "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/node": "*" } }, @@ -28021,24 +23325,26 @@ "requires": {} }, "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", "dev": true }, "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "dependencies": { @@ -28052,9 +23358,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28094,42 +23400,43 @@ } }, "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" } }, "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "throat": "^6.0.1" }, "dependencies": { "ansi-styles": { @@ -28142,9 +23449,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28172,6 +23479,28 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -28184,38 +23513,33 @@ } }, "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", + "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", + "execa": "^5.0.0", "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" + "strip-bom": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -28228,26 +23552,15 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -28263,66 +23576,41 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "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", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" } }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -28331,80 +23619,46 @@ "requires": { "has-flag": "^4.0.0" } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", "dev": true, "requires": { "@types/node": "*", - "graceful-fs": "^4.2.4" + "graceful-fs": "^4.2.9" } }, "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", "dev": true, "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", + "pretty-format": "^27.5.1", "semver": "^7.3.2" }, "dependencies": { @@ -28418,9 +23672,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28449,9 +23703,9 @@ "dev": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -28469,17 +23723,17 @@ } }, "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "dependencies": { "ansi-styles": { @@ -28492,9 +23746,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28534,17 +23788,17 @@ } }, "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", + "jest-get-type": "^27.5.1", "leven": "^3.1.0", - "pretty-format": "^26.6.2" + "pretty-format": "^27.5.1" }, "dependencies": { "ansi-styles": { @@ -28557,15 +23811,15 @@ } }, "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28605,17 +23859,17 @@ } }, "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", "dev": true, "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^26.6.2", + "jest-util": "^27.5.1", "string-length": "^4.0.1" }, "dependencies": { @@ -28638,9 +23892,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -28720,29 +23974,23 @@ "dev": true }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "jsdom": { - "version": "16.5.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.3.tgz", - "integrity": "sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA==", + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, "requires": { "abab": "^2.0.5", - "acorn": "^8.1.0", + "acorn": "^8.2.4", "acorn-globals": "^6.0.0", "cssom": "^0.4.4", "cssstyle": "^2.3.0", @@ -28750,12 +23998,13 @@ "decimal.js": "^10.2.1", "domexception": "^2.0.1", "escodegen": "^2.0.0", + "form-data": "^3.0.0", "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", "parse5": "6.0.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.9", "saxes": "^5.0.1", "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", @@ -28765,16 +24014,8 @@ "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.5.0", - "ws": "^7.4.4", + "ws": "^7.4.6", "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.2.tgz", - "integrity": "sha512-VrMS8kxT0e7J1EX0p6rI/E0FbfOVcvBpbIqHThFv+f8YrZIlMfVotYcXKVPmTvPW8sW5miJzfUFrrvthUZg8VQ==", - "dev": true - } } }, "jsesc": { @@ -28795,12 +24036,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -28820,13 +24055,10 @@ "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true }, "jsonfile": { "version": "6.1.0", @@ -28854,18 +24086,6 @@ "through": ">=2.2.7 <3" } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -28937,32 +24157,11 @@ } }, "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } + "peer": true }, "locate-path": { "version": "6.0.0", @@ -28985,12 +24184,6 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -29003,12 +24196,6 @@ "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", "dev": true }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, "lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", @@ -29033,16 +24220,10 @@ "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", "dev": true }, - "lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.uniqby": { @@ -29084,143 +24265,70 @@ } } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.5" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, "marked": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.3.tgz", - "integrity": "sha512-5otztIIcJfPc2qGTN8cVtOJEjNJZ0jwa46INMagrYfk0EvqtRuEHLsEe0LrFS0/q+ZRKT0+kXK7P2T1AN5lWRA==", + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.14.tgz", + "integrity": "sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ==", "dev": true }, "marked-terminal": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-4.1.1.tgz", - "integrity": "sha512-t7Mdf6T3PvOEyN01c3tYxDzhyKZ8xnkp8Rs6Fohno63L/0pFTJ5Qtwto2AQVuDtbQiWzD+4E5AAu1Z2iLc8miQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz", + "integrity": "sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==", "dev": true, "requires": { - "ansi-escapes": "^4.3.1", + "ansi-escapes": "^5.0.0", "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "cli-table": "^0.3.1", - "node-emoji": "^1.10.0", - "supports-hyperlinks": "^2.1.0" + "chalk": "^5.0.0", + "cli-table3": "^0.6.1", + "node-emoji": "^1.11.0", + "supports-hyperlinks": "^2.2.0" }, "dependencies": { "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "type-fest": "^1.0.2" } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true } } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -29274,43 +24382,25 @@ "picomatch": "^2.2.3" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true }, "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { - "mime-db": "1.47.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -29325,18 +24415,6 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -29363,55 +24441,6 @@ "kind-of": "^6.0.3" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -29424,38 +24453,13 @@ "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", "dev": true }, - "moment-timezone": { - "version": "0.5.33", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", - "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", - "dev": true, - "requires": { - "moment": ">= 2.9.0" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "moment-timezone": { + "version": "0.5.34", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", + "dev": true, + "requires": { + "moment": ">= 2.9.0" } }, "mri": { @@ -29497,32 +24501,6 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -29548,12 +24526,12 @@ "dev": true }, "node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "requires": { - "lodash.toarray": "^4.4.0" + "lodash": "^4.17.21" } }, "node-fetch": { @@ -29595,100 +24573,28 @@ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", - "dev": true, - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", "dev": true }, "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "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", - "resolve": "^1.20.0", + "is-core-module": "^2.5.0", "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" }, "dependencies": { "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -29703,154 +24609,187 @@ "dev": true }, "normalize-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.0.1.tgz", - "integrity": "sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true }, "npm": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-7.11.2.tgz", - "integrity": "sha512-NxcaNqAfdLEubG5dlPFWbXrVAG2zb45lB5y6W3PK1PK2feHaffpCN4rnXPD/BPp1kCJespCAv8Kw/QUYR85BRw==", - "dev": true, - "requires": { - "@npmcli/arborist": "^2.4.1", - "@npmcli/ci-detect": "^1.2.0", - "@npmcli/config": "^2.2.0", - "@npmcli/run-script": "^1.8.5", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.7.0.tgz", + "integrity": "sha512-fOSunmSa1K3dBv4YFoX54wew3PC6aYYDMGWBAonWRO4Yc7smYtk3nLrCda6+dtkTJwA8D4Tv/0wmnpYNgf5VFw==", + "dev": true, + "requires": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.0.4", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.1.0", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.2", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.1", "abbrev": "~1.1.1", - "ansicolors": "~0.3.2", - "ansistyles": "~0.1.3", "archy": "~1.0.0", - "byte-size": "^7.0.1", - "cacache": "^15.0.6", - "chalk": "^4.1.0", + "cacache": "^16.0.4", + "chalk": "^4.1.2", "chownr": "^2.0.0", - "cli-columns": "^3.1.2", - "cli-table3": "^0.6.0", - "columnify": "~1.5.4", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "hosted-git-info": "^4.0.2", - "ini": "^2.0.0", - "init-package-json": "^2.0.3", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.1", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "glob": "^7.2.0", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.0.0", + "ini": "^3.0.0", + "init-package-json": "^3.0.2", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^2.3.1", - "leven": "^3.1.0", - "libnpmaccess": "^4.0.2", - "libnpmdiff": "^2.0.4", - "libnpmexec": "^1.0.1", - "libnpmfund": "^1.0.2", - "libnpmhook": "^6.0.2", - "libnpmorg": "^2.0.2", - "libnpmpack": "^2.0.1", - "libnpmpublish": "^4.0.1", - "libnpmsearch": "^3.1.1", - "libnpmteam": "^2.0.3", - "libnpmversion": "^1.2.0", - "make-fetch-happen": "^8.0.14", - "minipass": "^3.1.3", + "libnpmaccess": "^6.0.2", + "libnpmdiff": "^4.0.2", + "libnpmexec": "^4.0.2", + "libnpmfund": "^3.0.1", + "libnpmhook": "^8.0.2", + "libnpmorg": "^4.0.2", + "libnpmpack": "^4.0.2", + "libnpmpublish": "^6.0.2", + "libnpmsearch": "^5.0.2", + "libnpmteam": "^4.0.2", + "libnpmversion": "^3.0.1", + "make-fetch-happen": "^10.1.2", + "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", "ms": "^2.1.2", - "node-gyp": "^7.1.2", + "node-gyp": "^9.0.0", "nopt": "^5.0.0", - "npm-audit-report": "^2.1.4", - "npm-package-arg": "^8.1.2", - "npm-pick-manifest": "^6.1.1", - "npm-profile": "^5.0.3", - "npm-registry-fetch": "^10.1.1", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.2", + "npm-pick-manifest": "^7.0.1", + "npm-profile": "^6.0.2", + "npm-registry-fetch": "^13.1.0", "npm-user-validate": "^1.0.1", - "npmlog": "~4.1.2", + "npmlog": "^6.0.1", "opener": "^1.5.2", - "pacote": "^11.3.3", - "parse-conflict-json": "^1.1.1", + "pacote": "^13.1.1", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", "qrcode-terminal": "^0.12.0", "read": "~1.0.7", - "read-package-json": "^3.0.1", - "read-package-json-fast": "^2.0.2", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", - "semver": "^7.3.5", - "ssri": "^8.0.1", - "tar": "^6.1.0", + "semver": "^7.3.6", + "ssri": "^9.0.0", + "tar": "^6.1.11", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", - "treeverse": "^1.0.4", - "validate-npm-package-name": "~3.0.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", "which": "^2.0.2", - "write-file-atomic": "^3.0.3" + "write-file-atomic": "^4.0.1" }, "dependencies": { + "@gar/promisify": { + "version": "1.1.3", + "bundled": true, + "dev": true + }, + "@isaacs/string-locale-compare": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, "@npmcli/arborist": { - "version": "2.4.1", + "version": "5.0.6", "bundled": true, "dev": true, "requires": { + "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^1.0.2", - "@npmcli/metavuln-calculator": "^1.1.0", - "@npmcli/move-file": "^1.1.0", + "@npmcli/map-workspaces": "^2.0.0", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^1.0.1", - "@npmcli/run-script": "^1.8.2", - "bin-links": "^2.2.1", - "cacache": "^15.0.3", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.0", + "bin-links": "^3.0.0", + "cacache": "^16.0.0", "common-ancestor-path": "^1.0.1", "json-parse-even-better-errors": "^2.3.1", - "json-stringify-nice": "^1.1.2", + "json-stringify-nice": "^1.1.4", + "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.0", - "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^10.0.0", - "pacote": "^11.2.6", - "parse-conflict-json": "^1.1.1", + "nopt": "^5.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.1", + "pacote": "^13.0.5", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", "read-package-json-fast": "^2.0.2", "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", "semver": "^7.3.5", - "tar": "^6.1.0", - "treeverse": "^1.0.4", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", "walk-up-path": "^1.0.0" } }, "@npmcli/ci-detect": { - "version": "1.3.0", + "version": "2.0.0", "bundled": true, "dev": true }, "@npmcli/config": { - "version": "2.2.0", + "version": "4.1.0", "bundled": true, "dev": true, "requires": { - "ini": "^2.0.0", + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", "mkdirp-infer-owner": "^2.0.0", "nopt": "^5.0.0", - "semver": "^7.3.4", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", "walk-up-path": "^1.0.0" } }, "@npmcli/disparity-colors": { - "version": "1.0.1", + "version": "2.0.0", "bundled": true, "dev": true, "requires": { "ansi-styles": "^4.3.0" } }, + "@npmcli/fs": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, "@npmcli/git": { - "version": "2.0.8", + "version": "3.0.1", "bundled": true, "dev": true, "requires": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", @@ -29867,28 +24806,29 @@ } }, "@npmcli/map-workspaces": { - "version": "1.0.3", + "version": "2.0.2", "bundled": true, "dev": true, "requires": { "@npmcli/name-from-folder": "^1.0.1", - "glob": "^7.1.6", - "minimatch": "^3.0.4", - "read-package-json-fast": "^2.0.1" + "glob": "^7.2.0", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" } }, "@npmcli/metavuln-calculator": { - "version": "1.1.1", + "version": "3.1.0", "bundled": true, "dev": true, "requires": { - "cacache": "^15.0.5", - "pacote": "^11.1.11", - "semver": "^7.3.2" + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" } }, "@npmcli/move-file": { - "version": "1.1.2", + "version": "2.0.0", "bundled": true, "dev": true, "requires": { @@ -29902,12 +24842,20 @@ "dev": true }, "@npmcli/node-gyp": { - "version": "1.0.2", + "version": "2.0.0", "bundled": true, "dev": true }, + "@npmcli/package-json": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.1" + } + }, "@npmcli/promise-spawn": { - "version": "1.3.2", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { @@ -29915,19 +24863,18 @@ } }, "@npmcli/run-script": { - "version": "1.8.5", + "version": "3.0.2", "bundled": true, "dev": true, "requires": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "infer-owner": "^1.0.4", - "node-gyp": "^7.1.0", - "read-package-json-fast": "^2.0.1" + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3" } }, "@tootallnate/once": { - "version": "1.1.2", + "version": "2.0.0", "bundled": true, "dev": true }, @@ -29945,7 +24892,7 @@ } }, "agentkeepalive": { - "version": "4.1.4", + "version": "4.2.1", "bundled": true, "dev": true, "requires": { @@ -29963,19 +24910,8 @@ "indent-string": "^4.0.0" } }, - "ajv": { - "version": "6.12.6", - "bundled": true, - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "ansi-regex": { - "version": "2.1.1", + "version": "5.0.1", "bundled": true, "dev": true }, @@ -29987,16 +24923,6 @@ "color-convert": "^2.0.1" } }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, "aproba": { "version": "2.0.0", "bundled": true, @@ -30008,12 +24934,12 @@ "dev": true }, "are-we-there-yet": { - "version": "1.1.5", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" } }, "asap": { @@ -30021,58 +24947,22 @@ "bundled": true, "dev": true }, - "asn1": { - "version": "0.2.4", - "bundled": true, - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.11.0", - "bundled": true, - "dev": true - }, "balanced-match": { "version": "1.0.2", "bundled": true, "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "bin-links": { - "version": "2.2.1", + "version": "3.0.1", "bundled": true, "dev": true, "requires": { - "cmd-shim": "^4.0.1", - "mkdirp": "^1.0.3", + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", "npm-normalize-package-bin": "^1.0.0", - "read-cmd-shim": "^2.0.0", + "read-cmd-shim": "^3.0.0", "rimraf": "^3.0.0", - "write-file-atomic": "^3.0.3" + "write-file-atomic": "^4.0.0" } }, "binary-extensions": { @@ -30081,55 +24971,48 @@ "dev": true }, "brace-expansion": { - "version": "1.1.11", + "version": "2.0.1", "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "builtins": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "byte-size": { - "version": "7.0.1", + "version": "5.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "semver": "^7.0.0" + } }, "cacache": { - "version": "15.0.6", + "version": "16.0.4", "bundled": true, "dev": true, "requires": { - "@npmcli/move-file": "^1.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", + "fs-minipass": "^2.1.0", + "glob": "^7.2.0", "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", "unique-filename": "^1.1.1" } }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, "chalk": { - "version": "4.1.1", + "version": "4.1.2", "bundled": true, "dev": true, "requires": { @@ -30156,52 +25039,21 @@ "dev": true }, "cli-columns": { - "version": "3.1.2", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "string-width": "^2.0.0", - "strip-ansi": "^3.0.1" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" } }, "cli-table3": { - "version": "0.6.0", + "version": "0.6.1", "bundled": true, "dev": true, "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", + "colors": "1.4.0", "string-width": "^4.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "4.2.2", - "bundled": true, - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } } }, "clone": { @@ -30210,18 +25062,13 @@ "dev": true }, "cmd-shim": { - "version": "4.1.0", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { "mkdirp-infer-owner": "^2.0.0" } }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, "color-convert": { "version": "2.0.1", "bundled": true, @@ -30235,6 +25082,11 @@ "bundled": true, "dev": true }, + "color-support": { + "version": "1.1.3", + "bundled": true, + "dev": true + }, "colors": { "version": "1.4.0", "bundled": true, @@ -30242,22 +25094,14 @@ "optional": true }, "columnify": { - "version": "1.5.4", + "version": "1.6.0", "bundled": true, "dev": true, "requires": { - "strip-ansi": "^3.0.0", + "strip-ansi": "^6.0.1", "wcwidth": "^1.0.0" } }, - "combined-stream": { - "version": "1.0.8", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "common-ancestor-path": { "version": "1.0.1", "bundled": true, @@ -30273,21 +25117,8 @@ "bundled": true, "dev": true }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "debug": { - "version": "4.3.1", + "version": "4.3.4", "bundled": true, "dev": true, "requires": { @@ -30314,11 +25145,6 @@ "clone": "^1.0.2" } }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "delegates": { "version": "1.0.0", "bundled": true, @@ -30330,7 +25156,7 @@ "dev": true }, "dezalgo": { - "version": "1.0.3", + "version": "1.0.4", "bundled": true, "dev": true, "requires": { @@ -30343,73 +25169,34 @@ "bundled": true, "dev": true }, - "ecc-jsbn": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "emoji-regex": { - "version": "8.0.0", - "bundled": true, - "dev": true - }, - "encoding": { - "version": "0.1.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, - "env-paths": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "err-code": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "extend": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "extsprintf": { - "version": "1.3.0", + "version": "8.0.0", "bundled": true, "dev": true }, - "fast-deep-equal": { - "version": "3.1.3", + "encoding": { + "version": "0.1.13", "bundled": true, - "dev": true + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + } }, - "fast-json-stable-stringify": { - "version": "2.1.0", + "env-paths": { + "version": "2.2.1", "bundled": true, "dev": true }, - "forever-agent": { - "version": "0.6.1", + "err-code": { + "version": "2.0.3", "bundled": true, "dev": true }, - "form-data": { - "version": "2.3.3", + "fastest-levenshtein": { + "version": "1.0.12", "bundled": true, - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } + "dev": true }, "fs-minipass": { "version": "2.1.0", @@ -30430,55 +25217,22 @@ "dev": true }, "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "getpass": { - "version": "0.1.7", + "version": "4.0.4", "bundled": true, "dev": true, "requires": { - "assert-plus": "^1.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" } }, "glob": { - "version": "7.1.6", + "version": "7.2.0", "bundled": true, "dev": true, "requires": { @@ -30488,27 +25242,32 @@ "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "graceful-fs": { - "version": "4.2.6", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "2.0.0", + "version": "4.2.10", "bundled": true, "dev": true }, - "har-validator": { - "version": "5.1.5", - "bundled": true, - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, "has": { "version": "1.0.3", "bundled": true, @@ -30528,11 +25287,11 @@ "dev": true }, "hosted-git-info": { - "version": "4.0.2", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.5.1" } }, "http-cache-semantics": { @@ -30541,25 +25300,15 @@ "dev": true }, "http-proxy-agent": { - "version": "4.0.1", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, - "http-signature": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, "https-proxy-agent": { "version": "5.0.0", "bundled": true, @@ -30578,7 +25327,7 @@ } }, "iconv-lite": { - "version": "0.6.2", + "version": "0.6.3", "bundled": true, "dev": true, "optional": true, @@ -30587,11 +25336,11 @@ } }, "ignore-walk": { - "version": "3.0.3", + "version": "5.0.1", "bundled": true, "dev": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "^5.0.1" } }, "imurmurhash": { @@ -30624,23 +25373,22 @@ "dev": true }, "ini": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "dev": true }, "init-package-json": { - "version": "2.0.3", + "version": "3.0.2", "bundled": true, "dev": true, "requires": { - "glob": "^7.1.1", - "npm-package-arg": "^8.1.2", + "npm-package-arg": "^9.0.1", "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "^3.0.1", + "read": "^1.0.7", + "read-package-json": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0" + "validate-npm-package-name": "^4.0.0" } }, "ip": { @@ -30662,7 +25410,7 @@ } }, "is-core-module": { - "version": "2.2.0", + "version": "2.8.1", "bundled": true, "dev": true, "requires": { @@ -30670,7 +25418,7 @@ } }, "is-fullwidth-code-point": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "dev": true }, @@ -30679,53 +25427,18 @@ "bundled": true, "dev": true }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "isexe": { "version": "2.0.0", "bundled": true, "dev": true }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, "json-parse-even-better-errors": { "version": "2.3.1", "bundled": true, "dev": true }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "bundled": true, - "dev": true - }, "json-stringify-nice": { - "version": "1.1.3", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", + "version": "1.1.4", "bundled": true, "dev": true }, @@ -30734,205 +25447,176 @@ "bundled": true, "dev": true }, - "jsprim": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "just-diff": { - "version": "3.1.1", + "version": "5.0.1", "bundled": true, "dev": true }, "just-diff-apply": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "leven": { - "version": "3.1.0", + "version": "5.2.0", "bundled": true, "dev": true }, "libnpmaccess": { - "version": "4.0.2", + "version": "6.0.3", "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", "minipass": "^3.1.1", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^10.0.0" + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" } }, "libnpmdiff": { - "version": "2.0.4", + "version": "4.0.3", "bundled": true, "dev": true, "requires": { - "@npmcli/disparity-colors": "^1.0.1", + "@npmcli/disparity-colors": "^2.0.0", "@npmcli/installed-package-contents": "^1.0.7", "binary-extensions": "^2.2.0", "diff": "^5.0.0", - "minimatch": "^3.0.4", - "npm-package-arg": "^8.1.1", - "pacote": "^11.3.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.0.5", "tar": "^6.1.0" } }, "libnpmexec": { - "version": "1.0.1", + "version": "4.0.3", "bundled": true, "dev": true, "requires": { - "@npmcli/arborist": "^2.3.0", - "@npmcli/ci-detect": "^1.3.0", - "@npmcli/run-script": "^1.8.4", + "@npmcli/arborist": "^5.0.0", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "chalk": "^4.1.0", "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^8.1.2", - "pacote": "^11.3.1", - "proc-log": "^1.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.1", + "pacote": "^13.0.5", + "proc-log": "^2.0.0", "read": "^1.0.7", - "read-package-json-fast": "^2.0.2" + "read-package-json-fast": "^2.0.2", + "walk-up-path": "^1.0.0" } }, "libnpmfund": { - "version": "1.0.2", + "version": "3.0.2", "bundled": true, "dev": true, "requires": { - "@npmcli/arborist": "^2.0.0" + "@npmcli/arborist": "^5.0.0" } }, "libnpmhook": { - "version": "6.0.2", + "version": "8.0.3", "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmorg": { - "version": "2.0.2", + "version": "4.0.3", "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmpack": { - "version": "2.0.1", + "version": "4.0.3", "bundled": true, "dev": true, "requires": { - "@npmcli/run-script": "^1.8.3", - "npm-package-arg": "^8.1.0", - "pacote": "^11.2.6" + "@npmcli/run-script": "^3.0.0", + "npm-package-arg": "^9.0.1", + "pacote": "^13.0.5" } }, "libnpmpublish": { - "version": "4.0.1", + "version": "6.0.3", "bundled": true, "dev": true, "requires": { - "normalize-package-data": "^3.0.2", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^10.0.0", + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", "semver": "^7.1.3", - "ssri": "^8.0.1" + "ssri": "^9.0.0" } }, "libnpmsearch": { - "version": "3.1.1", + "version": "5.0.3", "bundled": true, "dev": true, "requires": { - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmteam": { - "version": "2.0.3", + "version": "4.0.3", "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmversion": { - "version": "1.2.0", + "version": "3.0.3", "bundled": true, "dev": true, "requires": { - "@npmcli/git": "^2.0.7", - "@npmcli/run-script": "^1.8.4", + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^3.0.0", "json-parse-even-better-errors": "^2.3.1", - "semver": "^7.3.5", - "stringify-package": "^1.0.1" + "proc-log": "^2.0.0", + "semver": "^7.3.5" } }, "lru-cache": { - "version": "6.0.0", + "version": "7.7.3", "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "dev": true }, "make-fetch-happen": { - "version": "8.0.14", + "version": "10.1.2", "bundled": true, "dev": true, "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", + "agentkeepalive": "^4.2.1", + "cacache": "^16.0.2", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" - } - }, - "mime-db": { - "version": "1.47.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.30", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.47.0" + "socks-proxy-agent": "^6.1.1", + "ssri": "^9.0.0" } }, "minimatch": { - "version": "3.0.4", + "version": "5.0.1", "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, "minipass": { - "version": "3.1.3", + "version": "3.1.6", "bundled": true, "dev": true, "requires": { @@ -30948,14 +25632,14 @@ } }, "minipass-fetch": { - "version": "1.3.3", + "version": "2.1.0", "bundled": true, "dev": true, "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", + "encoding": "^0.1.13", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "minizlib": "^2.1.2" } }, "minipass-flush": { @@ -31025,20 +25709,25 @@ "bundled": true, "dev": true }, + "negotiator": { + "version": "0.6.3", + "bundled": true, + "dev": true + }, "node-gyp": { - "version": "7.1.2", + "version": "9.0.0", "bundled": true, "dev": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.3", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", "which": "^2.0.2" } }, @@ -31051,18 +25740,18 @@ } }, "normalize-package-data": { - "version": "3.0.2", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" } }, "npm-audit-report": { - "version": "2.1.4", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { @@ -31078,7 +25767,7 @@ } }, "npm-install-checks": { - "version": "4.0.0", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { @@ -31091,57 +25780,58 @@ "dev": true }, "npm-package-arg": { - "version": "8.1.2", + "version": "9.0.2", "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "hosted-git-info": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" } }, "npm-packlist": { - "version": "2.1.5", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "glob": "^7.1.6", - "ignore-walk": "^3.0.3", - "npm-bundled": "^1.1.1", + "glob": "^7.2.0", + "ignore-walk": "^5.0.1", + "npm-bundled": "^1.1.2", "npm-normalize-package-bin": "^1.0.1" } }, "npm-pick-manifest": { - "version": "6.1.1", + "version": "7.0.1", "bundled": true, "dev": true, "requires": { - "npm-install-checks": "^4.0.0", + "npm-install-checks": "^5.0.0", "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" } }, "npm-profile": { - "version": "5.0.3", + "version": "6.0.2", "bundled": true, "dev": true, "requires": { - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^13.0.0", + "proc-log": "^2.0.0" } }, "npm-registry-fetch": { - "version": "10.1.1", + "version": "13.1.0", "bundled": true, "dev": true, "requires": { - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" } }, "npm-user-validate": { @@ -31150,31 +25840,16 @@ "dev": true }, "npmlog": { - "version": "4.1.2", + "version": "6.0.1", "bundled": true, "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, "once": { "version": "1.4.0", "bundled": true, @@ -31197,39 +25872,41 @@ } }, "pacote": { - "version": "11.3.3", + "version": "13.1.1", "bundled": true, "dev": true, "requires": { - "@npmcli/git": "^2.0.1", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^1.8.2", - "cacache": "^15.0.5", + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^3.0.1", + "cacache": "^16.0.0", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.4", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^10.0.0", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" + "ssri": "^9.0.0", + "tar": "^6.1.11" } }, "parse-conflict-json": { - "version": "1.1.1", + "version": "2.0.2", "bundled": true, "dev": true, "requires": { - "json-parse-even-better-errors": "^2.3.0", - "just-diff": "^3.0.1", - "just-diff-apply": "^3.0.0" + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" } }, "path-is-absolute": { @@ -31237,22 +25914,7 @@ "bundled": true, "dev": true }, - "path-parse": { - "version": "1.0.6", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, "proc-log": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { "version": "2.0.1", "bundled": true, "dev": true @@ -31289,26 +25951,11 @@ "read": "1" } }, - "psl": { - "version": "1.8.0", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, "qrcode-terminal": { "version": "0.12.0", "bundled": true, "dev": true }, - "qs": { - "version": "6.5.2", - "bundled": true, - "dev": true - }, "read": { "version": "1.0.7", "bundled": true, @@ -31318,23 +25965,23 @@ } }, "read-cmd-shim": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "dev": true }, "read-package-json": { - "version": "3.0.1", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^3.0.0", - "npm-normalize-package-bin": "^1.0.0" + "glob": "^7.2.0", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1" } }, "read-package-json-fast": { - "version": "2.0.2", + "version": "2.0.3", "bundled": true, "dev": true, "requires": { @@ -31343,75 +25990,24 @@ } }, "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdir-scoped-modules": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "request": { - "version": "2.88.2", + "version": "3.6.0", "bundled": true, "dev": true, "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "bundled": true, - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "resolve": { - "version": "1.20.0", + "readdir-scoped-modules": { + "version": "1.1.0", "bundled": true, "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" } }, "retry": { @@ -31428,21 +26024,22 @@ } }, "safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", "bundled": true, "dev": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "semver": { - "version": "7.3.5", + "version": "7.3.6", "bundled": true, "dev": true, "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.4.0" } }, "set-blocking": { @@ -31451,32 +26048,32 @@ "dev": true }, "signal-exit": { - "version": "3.0.3", + "version": "3.0.7", "bundled": true, "dev": true }, "smart-buffer": { - "version": "4.1.0", + "version": "4.2.0", "bundled": true, "dev": true }, "socks": { - "version": "2.6.1", + "version": "2.6.2", "bundled": true, "dev": true, "requires": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" } }, "socks-proxy-agent": { - "version": "5.0.0", + "version": "6.1.1", "bundled": true, "dev": true, "requires": { - "agent-base": "6", - "debug": "4", - "socks": "^2.3.3" + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" } }, "spdx-correct": { @@ -31503,28 +26100,12 @@ } }, "spdx-license-ids": { - "version": "3.0.7", + "version": "3.0.11", "bundled": true, "dev": true }, - "sshpk": { - "version": "1.16.1", - "bundled": true, - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "ssri": { - "version": "8.0.1", + "version": "9.0.0", "bundled": true, "dev": true, "requires": { @@ -31532,48 +26113,29 @@ } }, "string_decoder": { - "version": "1.1.1", + "version": "1.3.0", "bundled": true, "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "string-width": { - "version": "2.1.1", + "version": "4.2.3", "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "stringify-package": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, "strip-ansi": { - "version": "3.0.1", + "version": "6.0.1", "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" } }, "supports-color": { @@ -31585,7 +26147,7 @@ } }, "tar": { - "version": "6.1.0", + "version": "6.1.11", "bundled": true, "dev": true, "requires": { @@ -31608,31 +26170,10 @@ "dev": true }, "treeverse": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", + "version": "2.0.0", "bundled": true, "dev": true }, - "typedarray-to-buffer": { - "version": "3.1.5", - "bundled": true, - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, "unique-filename": { "version": "1.1.1", "bundled": true, @@ -31649,24 +26190,11 @@ "imurmurhash": "^0.1.4" } }, - "uri-js": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, "util-deprecate": { "version": "1.0.2", "bundled": true, "dev": true }, - "uuid": { - "version": "3.4.0", - "bundled": true, - "dev": true - }, "validate-npm-package-license": { "version": "3.0.4", "bundled": true, @@ -31677,21 +26205,11 @@ } }, "validate-npm-package-name": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtins": "^1.0.3" - } - }, - "verror": { - "version": "1.10.0", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "builtins": "^5.0.0" } }, "walk-up-path": { @@ -31716,11 +26234,11 @@ } }, "wide-align": { - "version": "1.1.3", + "version": "1.1.5", "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "wrappy": { @@ -31729,14 +26247,12 @@ "dev": true }, "write-file-atomic": { - "version": "3.0.3", + "version": "4.0.1", "bundled": true, "dev": true, "requires": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" } }, "yallist": { @@ -31829,86 +26345,6 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "object-inspect": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", @@ -31921,15 +26357,6 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", @@ -31942,15 +26369,6 @@ "object-keys": "^1.1.1" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -31983,12 +26401,6 @@ "word-wrap": "^1.2.3" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -32010,12 +26422,6 @@ "p-map": "^2.0.0" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, "p-is-promise": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", @@ -32053,13 +26459,13 @@ "dev": true }, "p-retry": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.5.0.tgz", - "integrity": "sha512-5Hwh4aVQSu6BEP+w2zKlVXtFAaYQe1qWuVADSgoeVlLjwe/Q/AMSoRR4MDeaAfu8llT+YNbEijWu/YF3m6avkg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", "dev": true, "requires": { "@types/retry": "^0.12.0", - "retry": "^0.12.0" + "retry": "^0.13.1" } }, "p-try": { @@ -32068,23 +26474,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -32094,19 +26483,6 @@ "callsites": "^3.0.0" } }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -32131,25 +26507,6 @@ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -32169,9 +26526,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-type": { @@ -32180,23 +26537,10 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "picomatch": { @@ -32218,13 +26562,10 @@ "dev": true }, "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true }, "pkg-conf": { "version": "2.1.0", @@ -32341,12 +26682,6 @@ } } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -32359,40 +26694,30 @@ "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", "dev": true }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", "react-is": "^17.0.1" }, "dependencies": { "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true } } @@ -32461,12 +26786,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -32505,74 +26824,28 @@ } } }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, "prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -32583,29 +26856,6 @@ "once": "^1.3.1" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -32613,27 +26863,9 @@ "dev": true }, "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "queue-microtask": { @@ -32657,16 +26889,6 @@ "safe-buffer": "^5.1.0" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -32896,57 +27118,47 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" } }, "registry-auth-token": { @@ -32959,15 +27171,15 @@ } }, "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -32981,120 +27193,12 @@ } } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -33139,371 +27243,117 @@ "global-dirs": "^0.1.1" } }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", "dev": true }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - } - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "isexe": "^2.0.0" + "mimic-fn": "^1.0.0" } } } }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.70.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", + "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "saxes": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", @@ -33525,16 +27375,16 @@ } }, "semantic-release": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.4.2.tgz", - "integrity": "sha512-TPLWuoe2L2DmgnQEh+OLWW5V1T+ZAa1xWuHXsuPAWEko0BqSdLPl+5+BlQ+D5Bp27S5gDJ1//Y1tgbmvUhnOCw==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-19.0.2.tgz", + "integrity": "sha512-7tPonjZxukKECmClhsfyMKDt0GR38feIC2HxgyYaBi+9tDySBLjK/zYDLhh+m6yjnHIJa9eBTKYE7k63ZQcYbw==", "dev": true, "requires": { - "@semantic-release/commit-analyzer": "^8.0.0", - "@semantic-release/error": "^2.2.0", - "@semantic-release/github": "^7.0.0", - "@semantic-release/npm": "^7.0.0", - "@semantic-release/release-notes-generator": "^9.0.0", + "@semantic-release/commit-analyzer": "^9.0.2", + "@semantic-release/error": "^3.0.0", + "@semantic-release/github": "^8.0.0", + "@semantic-release/npm": "^9.0.0", + "@semantic-release/release-notes-generator": "^10.0.0", "aggregate-error": "^3.0.0", "cosmiconfig": "^7.0.0", "debug": "^4.0.0", @@ -33546,9 +27396,9 @@ "git-log-parser": "^1.2.0", "hook-std": "^2.0.0", "hosted-git-info": "^4.0.0", - "lodash": "^4.17.15", - "marked": "^2.0.0", - "marked-terminal": "^4.1.1", + "lodash": "^4.17.21", + "marked": "^4.0.10", + "marked-terminal": "^5.0.0", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "p-reduce": "^2.0.0", @@ -33625,9 +27475,9 @@ } }, "semver-regex": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", - "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.3.tgz", + "integrity": "sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==", "dev": true }, "serialize-javascript": { @@ -33639,57 +27489,6 @@ "randombytes": "^2.1.0" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -33720,13 +27519,6 @@ "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -33736,229 +27528,24 @@ "signale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", - "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", - "dev": true, - "requires": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", "dev": true, "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" } }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "source-map": { @@ -33967,23 +27554,10 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -33998,12 +27572,6 @@ } } }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, "spawn-error-forwarder": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", @@ -34051,15 +27619,6 @@ "through": "2" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, "split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -34088,36 +27647,10 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, "stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -34131,100 +27664,6 @@ } } }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, "stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -34235,44 +27674,6 @@ "readable-stream": "^2.0.2" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-events": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", - "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", - "dev": true, - "requires": { - "stubs": "^3.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -34303,9 +27704,9 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "strip-ansi": { @@ -34351,12 +27752,12 @@ } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-bom": { @@ -34365,12 +27766,6 @@ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -34392,12 +27787,6 @@ "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true }, - "stubs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", - "dev": true - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -34440,100 +27829,12 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "table": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.6.0.tgz", - "integrity": "sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz", - "integrity": "sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==", - "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" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "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 - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - } - } - }, "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "teeny-request": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz", - "integrity": "sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "requires": { - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^4.0.0", - "node-fetch": "^2.2.0", - "stream-events": "^1.0.5", - "uuid": "^3.3.2" - }, - "dependencies": { - "agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", - "dev": true - }, - "https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "requires": { - "agent-base": "5", - "debug": "4" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } + "peer": true }, "temp-dir": { "version": "2.0.0", @@ -34590,63 +27891,96 @@ } }, "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", "dev": true, "requires": { + "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" }, "dependencies": { "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true } } }, "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, + "peer": true, "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "terser": "^5.7.2" }, "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "peer": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" } }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "dev": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -34674,9 +28008,9 @@ "dev": true }, "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", "dev": true }, "through": { @@ -34697,84 +28031,37 @@ "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "os-tmpdir": "~1.0.2" } }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -34804,9 +28091,9 @@ } }, "tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "requires": { "punycode": "^2.1.1" @@ -34824,11 +28111,34 @@ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, - "trim-off-newlines": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz", - "integrity": "sha512-kh6Tu6GbeSNMGfrrZh6Bb/4ZEHV1QlB4xNDBeog8Y9/QwFlKTRyWvY3Fs9tRDAMZliVUwieMgEdIeL/FtqjkJg==", - "dev": true + "ts-node": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", + "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", + "yn": "3.1.1" + }, + "dependencies": { + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + } + } }, "tslib": { "version": "1.14.1", @@ -34845,27 +28155,6 @@ "tslib": "^1.8.1" } }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -34887,12 +28176,6 @@ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -34903,16 +28186,15 @@ } }, "typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", - "dev": true, - "peer": true + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "dev": true }, "uglify-js": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.5.tgz", - "integrity": "sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw==", + "version": "3.15.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", + "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", "dev": true, "optional": true }, @@ -34929,71 +28211,33 @@ } }, "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, "unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -35015,53 +28259,6 @@ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -35071,88 +28268,34 @@ "punycode": "^2.1.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, "url-join": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true }, - "urlgrey": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", - "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "optional": true - }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "v8-to-istanbul": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz", - "integrity": "sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -35178,23 +28321,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -35214,261 +28340,23 @@ } }, "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "optional": true, "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "optional": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" } }, "webidl-conversions": { @@ -35478,440 +28366,76 @@ "dev": true }, "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" }, "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "peer": true }, "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "peer": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webpack-cli": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", - "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.1", - "findup-sync": "^3.0.0", - "global-modules": "^2.0.0", - "import-local": "^2.0.0", - "interpret": "^1.4.0", - "loader-utils": "^1.4.0", - "supports-color": "^6.1.0", - "v8-compile-cache": "^2.1.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "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" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "peer": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } } } }, "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } + "peer": true }, "whatwg-encoding": { "version": "1.0.5", @@ -35929,13 +28453,13 @@ "dev": true }, "whatwg-url": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", - "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dev": true, "requires": { "lodash": "^4.7.0", - "tr46": "^2.0.2", + "tr46": "^2.1.0", "webidl-conversions": "^6.1.0" } }, @@ -35961,12 +28485,6 @@ "is-symbol": "^1.0.3" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -35979,15 +28497,6 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -36061,9 +28570,9 @@ } }, "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", "dev": true, "requires": {} }, @@ -36085,12 +28594,6 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -36149,6 +28652,12 @@ "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", "dev": true }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 013bdd1..90a2f4f 100644 --- a/package.json +++ b/package.json @@ -2,16 +2,23 @@ "name": "adhan", "version": "4.3.2", "description": "High precision Islamic prayer time library", - "main": "Adhan.js", + "main": "lib/cjs/Adhan.js", + "module": "lib/esm/Adhan.js", "types": "Adhan.d.ts", "scripts": { - "build": "webpack --mode production", - "test": "npm-run-all test:*", - "test:lint": "eslint src/ test/", + "clean": "rimraf lib", + "test": "run-s -l test:*", "test:unit": "jest", - "test:audit": "npm audit --production --audit-level=high", - "test-watch": "jest --watch", - "coverage": "codecov", + "test:audit": "npm audit --omit=dev --audit-level=high", + "build": "npm-run-all -l clean -p build:*", + "build:esm": "cross-env BABEL_ENV=esmUnbundled babel src --extensions '.js' --out-dir 'lib/esm' --source-maps", + "build:cjs": "cross-env BABEL_ENV=cjs babel src --extensions '.js' --out-dir 'lib/cjs' --source-maps", + "build:bundles": "cross-env BABEL_ENV=esmBundled rollup -c", + "lint": "run-p -l lint:*", + "lint:eslint": "eslint --max-warnings=0 .", + "lint:tsc": "echo soon... tsc --noEmit", + "lint-fix": "npm-run-all -l -p lint-fix:* -s lint:tsc", + "lint-fix:eslint": "eslint --max-warnings=0 --fix .", "commit": "cz", "prepare": "husky install" }, @@ -35,29 +42,38 @@ "author": "Ameir Al-Zoubi ", "license": "MIT", "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.5", - "@babel/register": "^7.9.0", - "@commitlint/cli": "^12.0.1", - "@commitlint/config-conventional": "^12.0.1", - "@semantic-release/changelog": "^5.0.1", - "@semantic-release/git": "^9.0.0", - "babel-loader": "^8.1.0", - "codecov": "^3.6.5", - "commitizen": "^4.2.3", + "@babel/cli": "^7.17.6", + "@babel/core": "^7.17.9", + "@babel/preset-env": "^7.16.11", + "@babel/preset-typescript": "^7.16.7", + "@babel/register": "^7.17.7", + "@commitlint/cli": "^16.2.3", + "@commitlint/config-conventional": "^16.2.1", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-node-resolve": "^13.2.1", + "@semantic-release/changelog": "^6.0.1", + "@semantic-release/git": "^10.0.1", + "@types/jest": "^27.4.1", + "babel-loader": "^8.2.4", + "commitizen": "^4.2.4", + "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.3.0", - "eslint": "^7.17.0", - "eslint-plugin-jest": "^24.1.5", - "husky": "^5.1.2", - "jest": "^26.6.0", - "moment": "^2.24.0", - "moment-timezone": "^0.5.28", + "eslint": "^8.13.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-jest": "^26.1.4", + "eslint-plugin-prettier": "^4.0.0", + "husky": "^7.0.4", + "jest": "^27.5.1", + "moment": "^2.29.2", + "moment-timezone": "^0.5.34", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", "pretty-quick": "^3.1.3", - "semantic-release": "^17.4.0", - "webpack": "^4.42.1", - "webpack-cli": "^3.3.11" + "rimraf": "^3.0.2", + "rollup": "^2.70.2", + "rollup-plugin-terser": "^7.0.2", + "semantic-release": "^19.0.2", + "typescript": "^4.6.3" }, "config": { "commitizen": { diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..54c1a38 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,44 @@ +import babel from '@rollup/plugin-babel'; +import resolve from '@rollup/plugin-node-resolve'; +import { terser } from 'rollup-plugin-terser'; + +const extensions = ['.js']; + +export default { + input: 'src/Adhan.js', + output: [ + { + file: 'lib/bundles/bundle.esm.js', + format: 'esm', + sourcemap: true, + }, + { + file: 'lib/bundles/bundle.esm.min.js', + format: 'esm', + plugins: [terser()], + sourcemap: true, + }, + { + file: 'lib/bundles/bundle.umd.js', + format: 'umd', + name: 'adhan', + sourcemap: true, + }, + { + file: 'lib/bundles/bundle.umd.min.js', + format: 'umd', + name: 'adhan', + plugins: [terser()], + sourcemap: true, + }, + ], + plugins: [ + resolve({ extensions }), + babel({ + babelHelpers: 'bundled', + exclude: './node_modules/**', + extensions, + include: ['src/**/*.js'], + }), + ], +}; diff --git a/scripts/ci-build-check.sh b/scripts/ci-build-check.sh deleted file mode 100755 index 6e0613c..0000000 --- a/scripts/ci-build-check.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set +e - -(git diff --quiet Adhan.js Adhan.js.map) -DIFF_STATUS=$? - -if [[ $DIFF_STATUS -ne 0 ]]; then - echo "::error file=Adhan.js::Adhan.js doesn't contain the latest changes. Please run \"npm run build\" and add Adhan.js and Adhan.js.map to your commit." - exit 1 -fi \ No newline at end of file diff --git a/test/adhan.test.js b/test/adhan.test.js index ac931e1..e55e951 100644 --- a/test/adhan.test.js +++ b/test/adhan.test.js @@ -332,7 +332,7 @@ test('getting the time for a given prayer', () => { expect(p.timeForPrayer(adhan.Prayer.Asr)).toBe(p.asr); expect(p.timeForPrayer(adhan.Prayer.Maghrib)).toBe(p.maghrib); expect(p.timeForPrayer(adhan.Prayer.Isha)).toBe(p.isha); - expect(p.timeForPrayer(adhan.Prayer.None)).toBe(null); + expect(p.timeForPrayer(adhan.Prayer.None)).toBeNull(); }); test('getting the current prayer', () => { @@ -931,7 +931,7 @@ describe('Polar circle resolution cases', () => { ); prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(false); + expect(isValidDate(prayersTimes[prayerName])).toBe(false); }); }); @@ -943,7 +943,7 @@ describe('Polar circle resolution cases', () => { ); prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + expect(isValidDate(prayersTimes[prayerName])).toBe(true); }); }); @@ -955,7 +955,7 @@ describe('Polar circle resolution cases', () => { ); prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + expect(isValidDate(prayersTimes[prayerName])).toBe(true); }); }); }); @@ -969,7 +969,7 @@ describe('Polar circle resolution cases', () => { ); prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(false); + expect(isValidDate(prayersTimes[prayerName])).toBe(false); }); }); @@ -981,7 +981,7 @@ describe('Polar circle resolution cases', () => { ); prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + expect(isValidDate(prayersTimes[prayerName])).toBe(true); }); }); @@ -993,7 +993,7 @@ describe('Polar circle resolution cases', () => { ); prayersToCheck.forEach((prayerName) => { - expect(isValidDate(prayersTimes[prayerName])).toEqual(true); + expect(isValidDate(prayersTimes[prayerName])).toBe(true); }); }); diff --git a/test/dist.test.js b/test/dist.test.js index 416d581..9aaa420 100644 --- a/test/dist.test.js +++ b/test/dist.test.js @@ -1,6 +1,9 @@ -import adhan from '../Adhan'; +import adhan from '../src/Adhan'; import moment from 'moment-timezone'; -import { dateByAddingSeconds } from '../src/DateUtils'; + +function dateByAddingSeconds(date, seconds) { + return new Date(date.getTime() + seconds * 1000); +} test('calculating prayer times', () => { const date = new Date(2015, 6, 12); @@ -149,7 +152,7 @@ test('getting the time for a given prayer', () => { expect(p.timeForPrayer(adhan.Prayer.Asr)).toBe(p.asr); expect(p.timeForPrayer(adhan.Prayer.Maghrib)).toBe(p.maghrib); expect(p.timeForPrayer(adhan.Prayer.Isha)).toBe(p.isha); - expect(p.timeForPrayer(adhan.Prayer.None)).toBe(null); + expect(p.timeForPrayer(adhan.Prayer.None)).toBeNull(); }); test('getting the current prayer', () => { diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 42e3b39..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - mode: 'production', - entry: './src/Adhan.js', - output: { - path: `${__dirname}`, - filename: 'Adhan.js', - library: 'adhan', - libraryExport: 'default', - libraryTarget: 'umd', - globalObject: 'this', - }, - optimization: { - minimize: false, - }, - devtool: 'source-map', - module: { - rules: [ - { - test: /\.js?$/, - exclude: /(node_modules)/, - use: 'babel-loader', - }, - ], - }, - resolve: { - extensions: ['.js'], - }, -}; From e5c07b44be0007dd3bf966c981b91c0158589479 Mon Sep 17 00:00:00 2001 From: Matthew Crenshaw Date: Tue, 19 Apr 2022 10:19:15 -0400 Subject: [PATCH 08/20] ci: remove npm@7 forced upgrade, use nodejs 16 instead of 14 --- .github/workflows/node.js.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 6dc2b5a..ada4a69 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -59,8 +59,7 @@ jobs: - uses: actions/setup-node@v1 with: # latest nodejs LTS - node-version: 14.x - - run: npm install -g npm@7 # update to npm 7 + node-version: 16.x - run: npm ci - run: npm run lint - run: npm test @@ -88,7 +87,6 @@ jobs: with: # latest nodejs LTS node-version: 16.x - - run: npm install -g npm@7 # update to npm 7 - run: npm ci - name: Preparing a release for npm and github ๐Ÿš€ # more about this action here: https://github.com/cycjimmy/semantic-release-action From 44d974c4a9d3fd18a6c1fe3b3ce1c9f8c3981e94 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Sun, 3 Apr 2022 14:25:44 +0000 Subject: [PATCH 09/20] refactor: rename all js files to ts --- src/{Adhan.js => Adhan.ts} | 0 src/{Astronomical.js => Astronomical.ts} | 0 src/{CalculationMethod.js => CalculationMethod.ts} | 0 src/{CalculationParameters.js => CalculationParameters.ts} | 0 src/{Coordinates.js => Coordinates.ts} | 0 src/{DateUtils.js => DateUtils.ts} | 0 src/{HighLatitudeRule.js => HighLatitudeRule.ts} | 0 src/{Madhab.js => Madhab.ts} | 0 src/{MathUtils.js => MathUtils.ts} | 0 src/{PolarCircleResolution.js => PolarCircleResolution.ts} | 0 src/{Prayer.js => Prayer.ts} | 0 src/{PrayerTimes.js => PrayerTimes.ts} | 0 src/{Qibla.js => Qibla.ts} | 0 src/{Rounding.js => Rounding.ts} | 0 src/{Shafaq.js => Shafaq.ts} | 0 src/{SolarCoordinates.js => SolarCoordinates.ts} | 0 src/{SolarTime.js => SolarTime.ts} | 0 src/{SunnahTimes.js => SunnahTimes.ts} | 0 src/{TimeComponents.js => TimeComponents.ts} | 0 test/{adhan.test.js => adhan.test.ts} | 0 test/{astronomical.test.js => astronomical.test.ts} | 0 test/{dist.test.js => dist.test.ts} | 0 test/{math.test.js => math.test.ts} | 0 test/{qibla.test.js => qibla.test.ts} | 0 test/{sunnah.test.js => sunnah.test.ts} | 0 test/{times.test.js => times.test.ts} | 0 26 files changed, 0 insertions(+), 0 deletions(-) rename src/{Adhan.js => Adhan.ts} (100%) rename src/{Astronomical.js => Astronomical.ts} (100%) rename src/{CalculationMethod.js => CalculationMethod.ts} (100%) rename src/{CalculationParameters.js => CalculationParameters.ts} (100%) rename src/{Coordinates.js => Coordinates.ts} (100%) rename src/{DateUtils.js => DateUtils.ts} (100%) rename src/{HighLatitudeRule.js => HighLatitudeRule.ts} (100%) rename src/{Madhab.js => Madhab.ts} (100%) rename src/{MathUtils.js => MathUtils.ts} (100%) rename src/{PolarCircleResolution.js => PolarCircleResolution.ts} (100%) rename src/{Prayer.js => Prayer.ts} (100%) rename src/{PrayerTimes.js => PrayerTimes.ts} (100%) rename src/{Qibla.js => Qibla.ts} (100%) rename src/{Rounding.js => Rounding.ts} (100%) rename src/{Shafaq.js => Shafaq.ts} (100%) rename src/{SolarCoordinates.js => SolarCoordinates.ts} (100%) rename src/{SolarTime.js => SolarTime.ts} (100%) rename src/{SunnahTimes.js => SunnahTimes.ts} (100%) rename src/{TimeComponents.js => TimeComponents.ts} (100%) rename test/{adhan.test.js => adhan.test.ts} (100%) rename test/{astronomical.test.js => astronomical.test.ts} (100%) rename test/{dist.test.js => dist.test.ts} (100%) rename test/{math.test.js => math.test.ts} (100%) rename test/{qibla.test.js => qibla.test.ts} (100%) rename test/{sunnah.test.js => sunnah.test.ts} (100%) rename test/{times.test.js => times.test.ts} (100%) diff --git a/src/Adhan.js b/src/Adhan.ts similarity index 100% rename from src/Adhan.js rename to src/Adhan.ts diff --git a/src/Astronomical.js b/src/Astronomical.ts similarity index 100% rename from src/Astronomical.js rename to src/Astronomical.ts diff --git a/src/CalculationMethod.js b/src/CalculationMethod.ts similarity index 100% rename from src/CalculationMethod.js rename to src/CalculationMethod.ts diff --git a/src/CalculationParameters.js b/src/CalculationParameters.ts similarity index 100% rename from src/CalculationParameters.js rename to src/CalculationParameters.ts diff --git a/src/Coordinates.js b/src/Coordinates.ts similarity index 100% rename from src/Coordinates.js rename to src/Coordinates.ts diff --git a/src/DateUtils.js b/src/DateUtils.ts similarity index 100% rename from src/DateUtils.js rename to src/DateUtils.ts diff --git a/src/HighLatitudeRule.js b/src/HighLatitudeRule.ts similarity index 100% rename from src/HighLatitudeRule.js rename to src/HighLatitudeRule.ts diff --git a/src/Madhab.js b/src/Madhab.ts similarity index 100% rename from src/Madhab.js rename to src/Madhab.ts diff --git a/src/MathUtils.js b/src/MathUtils.ts similarity index 100% rename from src/MathUtils.js rename to src/MathUtils.ts diff --git a/src/PolarCircleResolution.js b/src/PolarCircleResolution.ts similarity index 100% rename from src/PolarCircleResolution.js rename to src/PolarCircleResolution.ts diff --git a/src/Prayer.js b/src/Prayer.ts similarity index 100% rename from src/Prayer.js rename to src/Prayer.ts diff --git a/src/PrayerTimes.js b/src/PrayerTimes.ts similarity index 100% rename from src/PrayerTimes.js rename to src/PrayerTimes.ts diff --git a/src/Qibla.js b/src/Qibla.ts similarity index 100% rename from src/Qibla.js rename to src/Qibla.ts diff --git a/src/Rounding.js b/src/Rounding.ts similarity index 100% rename from src/Rounding.js rename to src/Rounding.ts diff --git a/src/Shafaq.js b/src/Shafaq.ts similarity index 100% rename from src/Shafaq.js rename to src/Shafaq.ts diff --git a/src/SolarCoordinates.js b/src/SolarCoordinates.ts similarity index 100% rename from src/SolarCoordinates.js rename to src/SolarCoordinates.ts diff --git a/src/SolarTime.js b/src/SolarTime.ts similarity index 100% rename from src/SolarTime.js rename to src/SolarTime.ts diff --git a/src/SunnahTimes.js b/src/SunnahTimes.ts similarity index 100% rename from src/SunnahTimes.js rename to src/SunnahTimes.ts diff --git a/src/TimeComponents.js b/src/TimeComponents.ts similarity index 100% rename from src/TimeComponents.js rename to src/TimeComponents.ts diff --git a/test/adhan.test.js b/test/adhan.test.ts similarity index 100% rename from test/adhan.test.js rename to test/adhan.test.ts diff --git a/test/astronomical.test.js b/test/astronomical.test.ts similarity index 100% rename from test/astronomical.test.js rename to test/astronomical.test.ts diff --git a/test/dist.test.js b/test/dist.test.ts similarity index 100% rename from test/dist.test.js rename to test/dist.test.ts diff --git a/test/math.test.js b/test/math.test.ts similarity index 100% rename from test/math.test.js rename to test/math.test.ts diff --git a/test/qibla.test.js b/test/qibla.test.ts similarity index 100% rename from test/qibla.test.js rename to test/qibla.test.ts diff --git a/test/sunnah.test.js b/test/sunnah.test.ts similarity index 100% rename from test/sunnah.test.js rename to test/sunnah.test.ts diff --git a/test/times.test.js b/test/times.test.ts similarity index 100% rename from test/times.test.js rename to test/times.test.ts From 127a67ab3cbc18c8b10f471b816022383d36688f Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Sun, 3 Apr 2022 15:37:48 +0000 Subject: [PATCH 10/20] refactor: switch to typescript --- .eslintrc.js | 9 +- jest.config.js | 4 +- package-lock.json | 556 ++++++++++++++++++++++++++++++++--- package.json | 6 +- src/Adhan.ts | 14 +- src/Astronomical.ts | 115 +++++--- src/CalculationMethod.ts | 35 ++- src/CalculationParameters.ts | 103 ++++--- src/Coordinates.ts | 5 +- src/DateUtils.ts | 16 +- src/HighLatitudeRule.ts | 6 +- src/Madhab.ts | 6 +- src/MathUtils.ts | 12 +- src/PolarCircleResolution.ts | 40 ++- src/Prayer.ts | 2 +- src/PrayerTimes.ts | 74 ++--- src/Qibla.ts | 2 +- src/Rounding.ts | 2 +- src/Shafaq.ts | 2 +- src/SolarCoordinates.ts | 6 +- src/SolarTime.ts | 16 +- src/SunnahTimes.ts | 5 +- src/TimeComponents.ts | 14 +- src/type-utils.ts | 1 + test/adhan.test.ts | 14 +- test/astronomical.test.ts | 2 +- test/times.test.ts | 55 +++- tsconfig.json | 13 + 28 files changed, 885 insertions(+), 250 deletions(-) create mode 100644 src/type-utils.ts create mode 100644 tsconfig.json diff --git a/.eslintrc.js b/.eslintrc.js index 697d2bf..46b8083 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,14 +1,14 @@ module.exports = { - parserOptions: { - ecmaVersion: 2018, - sourceType: 'module', - }, + root: true, + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], extends: [ 'eslint:recommended', 'plugin:jest/recommended', 'plugin:jest/style', 'plugin:prettier/recommended', + 'plugin:@typescript-eslint/recommended', ], env: { @@ -18,6 +18,7 @@ module.exports = { }, rules: { + '@typescript-eslint/ban-ts-comment': 'warn', complexity: ['warn', 10], 'max-lines': ['warn', 300], 'max-params': ['warn', 5], diff --git a/jest.config.js b/jest.config.js index 9988bb6..c7bc2f8 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,7 @@ +/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ module.exports = { + preset: 'ts-jest', collectCoverage: true, - - // The directory where Jest should output its coverage files coverageDirectory: 'coverage', // An array of file extensions your modules use diff --git a/package-lock.json b/package-lock.json index 368cb6b..4942834 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,10 @@ "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", "@types/jest": "^27.4.1", + "@typescript-eslint/eslint-plugin": "^5.17.0", + "@typescript-eslint/parser": "^5.17.0", "babel-loader": "^8.2.4", + "codecov": "^3.6.5", "commitizen": "^4.2.4", "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.3.0", @@ -40,6 +43,7 @@ "rollup": "^2.70.2", "rollup-plugin-terser": "^7.0.2", "semantic-release": "^19.0.2", + "ts-jest": "^27.1.3", "typescript": "^4.6.3" } }, @@ -4093,14 +4097,89 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz", + "integrity": "sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/type-utils": "5.20.0", + "@typescript-eslint/utils": "5.20.0", + "debug": "^4.3.2", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz", + "integrity": "sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", + "debug": "^4.3.2" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", - "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", + "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.19.0", - "@typescript-eslint/visitor-keys": "5.19.0" + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4110,10 +4189,36 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz", + "integrity": "sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "5.20.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/types": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", - "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", + "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4124,13 +4229,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", - "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", + "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.19.0", - "@typescript-eslint/visitor-keys": "5.19.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -4166,15 +4271,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz", - "integrity": "sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", + "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.19.0", - "@typescript-eslint/types": "5.19.0", - "@typescript-eslint/typescript-estree": "5.19.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4203,12 +4308,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", - "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", + "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/types": "5.20.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -4576,6 +4681,15 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "dev": true, + "engines": { + "node": ">=0.6.10" + } + }, "node_modules/argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", @@ -5063,6 +5177,18 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -5372,6 +5498,26 @@ "node": ">= 0.12.0" } }, + "node_modules/codecov": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz", + "integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==", + "deprecated": "https://about.codecov.io/blog/codecov-uploader-deprecation-plan/", + "dev": true, + "dependencies": { + "argv": "0.0.2", + "ignore-walk": "3.0.4", + "js-yaml": "3.14.1", + "teeny-request": "7.1.1", + "urlgrey": "1.0.0" + }, + "bin": { + "codecov": "bin/codecov" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -6835,6 +6981,21 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", + "dev": true, + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, "node_modules/fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -7498,6 +7659,15 @@ "node": ">= 4" } }, + "node_modules/ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -10371,6 +10541,12 @@ "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", "dev": true }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -15138,6 +15314,15 @@ "readable-stream": "^2.0.2" } }, + "node_modules/stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "dev": true, + "dependencies": { + "stubs": "^3.0.0" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -15288,6 +15473,12 @@ "node": ">=8" } }, + "node_modules/stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "dev": true + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -15350,6 +15541,22 @@ "node": ">=6" } }, + "node_modules/teeny-request": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz", + "integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==", + "dev": true, + "dependencies": { + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "stream-events": "^1.0.5", + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -15728,6 +15935,64 @@ "node": ">=8" } }, + "node_modules/ts-jest": { + "version": "27.1.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", + "integrity": "sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@types/jest": "^27.0.0", + "babel-jest": ">=27.0.0 <28", + "jest": "^27.0.0", + "typescript": ">=3.8 <5.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/ts-node": { "version": "10.7.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", @@ -15966,12 +16231,30 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true }, + "node_modules/urlgrey": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz", + "integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==", + "dev": true, + "dependencies": { + "fast-url-parser": "^1.1.3" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", @@ -19495,30 +19778,81 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "@typescript-eslint/eslint-plugin": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz", + "integrity": "sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/type-utils": "5.20.0", + "@typescript-eslint/utils": "5.20.0", + "debug": "^4.3.2", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz", + "integrity": "sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", + "debug": "^4.3.2" + } + }, "@typescript-eslint/scope-manager": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", - "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", + "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.19.0", - "@typescript-eslint/visitor-keys": "5.19.0" + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz", + "integrity": "sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.20.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", - "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", + "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", - "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", + "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.19.0", - "@typescript-eslint/visitor-keys": "5.19.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -19538,15 +19872,15 @@ } }, "@typescript-eslint/utils": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz", - "integrity": "sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", + "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.19.0", - "@typescript-eslint/types": "5.19.0", - "@typescript-eslint/typescript-estree": "5.19.0", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -19564,12 +19898,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", - "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", + "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/types": "5.20.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -19889,6 +20223,12 @@ "sprintf-js": "~1.0.2" } }, + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "dev": true + }, "argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", @@ -20252,6 +20592,15 @@ "picocolors": "^1.0.0" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -20484,6 +20833,19 @@ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, + "codecov": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz", + "integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==", + "dev": true, + "requires": { + "argv": "0.0.2", + "ignore-walk": "3.0.4", + "js-yaml": "3.14.1", + "teeny-request": "7.1.1", + "urlgrey": "1.0.0" + } + }, "collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -21581,6 +21943,23 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, "fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -22093,6 +22472,15 @@ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -24220,6 +24608,12 @@ "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", "dev": true }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -27674,6 +28068,15 @@ "readable-stream": "^2.0.2" } }, + "stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "dev": true, + "requires": { + "stubs": "^3.0.0" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -27787,6 +28190,12 @@ "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true }, + "stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -27836,6 +28245,19 @@ "dev": true, "peer": true }, + "teeny-request": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz", + "integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==", + "dev": true, + "requires": { + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "stream-events": "^1.0.5", + "uuid": "^8.0.0" + } + }, "temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -28111,6 +28533,33 @@ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, + "ts-jest": { + "version": "27.1.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", + "integrity": "sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "ts-node": { "version": "10.7.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", @@ -28274,12 +28723,27 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true }, + "urlgrey": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz", + "integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==", + "dev": true, + "requires": { + "fast-url-parser": "^1.1.3" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", diff --git a/package.json b/package.json index 90a2f4f..455004b 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,11 @@ "rollup": "^2.70.2", "rollup-plugin-terser": "^7.0.2", "semantic-release": "^19.0.2", - "typescript": "^4.6.3" + "typescript": "^4.6.3", + "@typescript-eslint/eslint-plugin": "^5.17.0", + "@typescript-eslint/parser": "^5.17.0", + "codecov": "^3.6.5", + "ts-jest": "^27.1.3" }, "config": { "commitizen": { diff --git a/src/Adhan.ts b/src/Adhan.ts index de3d8df..1947588 100644 --- a/src/Adhan.ts +++ b/src/Adhan.ts @@ -1,15 +1,15 @@ -import Coordinates from './Coordinates'; -import PrayerTimes from './PrayerTimes'; -import Prayer from './Prayer'; -import { Madhab } from './Madhab'; -import HighLatitudeRule from './HighLatitudeRule'; import CalculationMethod from './CalculationMethod'; import CalculationParameters from './CalculationParameters'; -import Qibla from './Qibla'; -import SunnahTimes from './SunnahTimes'; +import Coordinates from './Coordinates'; +import HighLatitudeRule from './HighLatitudeRule'; +import { Madhab } from './Madhab'; import { PolarCircleResolution } from './PolarCircleResolution'; +import Prayer from './Prayer'; +import PrayerTimes from './PrayerTimes'; +import Qibla from './Qibla'; import { Rounding } from './Rounding'; import { Shafaq } from './Shafaq'; +import SunnahTimes from './SunnahTimes'; const adhan = { Prayer, diff --git a/src/Astronomical.ts b/src/Astronomical.ts index aa2b87f..3223ad6 100644 --- a/src/Astronomical.ts +++ b/src/Astronomical.ts @@ -1,4 +1,5 @@ /* eslint-disable max-params, max-lines */ +import Coordinates from './Coordinates'; import { dateByAddingSeconds } from './DateUtils'; import { degreesToRadians, @@ -8,10 +9,11 @@ import { unwindAngle, } from './MathUtils'; import { Shafaq } from './Shafaq'; +import { ValueOf } from './type-utils'; const Astronomical = { /* The geometric mean longitude of the sun in degrees. */ - meanSolarLongitude(julianCentury) { + meanSolarLongitude(julianCentury: number) { const T = julianCentury; /* Equation from Astronomical Algorithms page 163 */ const term1 = 280.4664567; @@ -22,7 +24,7 @@ const Astronomical = { }, /* The geometric mean longitude of the moon in degrees. */ - meanLunarLongitude(julianCentury) { + meanLunarLongitude(julianCentury: number) { const T = julianCentury; /* Equation from Astronomical Algorithms page 144 */ const term1 = 218.3165; @@ -31,7 +33,7 @@ const Astronomical = { return unwindAngle(Lp); }, - ascendingLunarNodeLongitude(julianCentury) { + ascendingLunarNodeLongitude(julianCentury: number) { const T = julianCentury; /* Equation from Astronomical Algorithms page 144 */ const term1 = 125.04452; @@ -43,7 +45,7 @@ const Astronomical = { }, /* The mean anomaly of the sun. */ - meanSolarAnomaly(julianCentury) { + meanSolarAnomaly(julianCentury: number) { const T = julianCentury; /* Equation from Astronomical Algorithms page 163 */ const term1 = 357.52911; @@ -54,7 +56,7 @@ const Astronomical = { }, /* The Sun's equation of the center in degrees. */ - solarEquationOfTheCenter(julianCentury, meanAnomaly) { + solarEquationOfTheCenter(julianCentury: number, meanAnomaly: number) { const T = julianCentury; /* Equation from Astronomical Algorithms page 164 */ const Mrad = degreesToRadians(meanAnomaly); @@ -67,7 +69,7 @@ const Astronomical = { /* The apparent longitude of the Sun, referred to the true equinox of the date. */ - apparentSolarLongitude(julianCentury, meanLongitude) { + apparentSolarLongitude(julianCentury: number, meanLongitude: number) { const T = julianCentury; const L0 = meanLongitude; /* Equation from Astronomical Algorithms page 164 */ @@ -86,7 +88,7 @@ const Astronomical = { /* The mean obliquity of the ecliptic, formula adopted by the International Astronomical Union. Represented in degrees. */ - meanObliquityOfTheEcliptic(julianCentury) { + meanObliquityOfTheEcliptic(julianCentury: number) { const T = julianCentury; /* Equation from Astronomical Algorithms page 147 */ const term1 = 23.439291; @@ -98,7 +100,10 @@ const Astronomical = { /* The mean obliquity of the ecliptic, corrected for calculating the apparent position of the sun, in degrees. */ - apparentObliquityOfTheEcliptic(julianCentury, meanObliquityOfTheEcliptic) { + apparentObliquityOfTheEcliptic( + julianCentury: number, + meanObliquityOfTheEcliptic: number, + ) { const T = julianCentury; const Epsilon0 = meanObliquityOfTheEcliptic; /* Equation from Astronomical Algorithms page 165 */ @@ -107,7 +112,7 @@ const Astronomical = { }, /* Mean sidereal time, the hour angle of the vernal equinox, in degrees. */ - meanSiderealTime(julianCentury) { + meanSiderealTime(julianCentury: number) { const T = julianCentury; /* Equation from Astronomical Algorithms page 165 */ const JD = T * 36525 + 2451545.0; @@ -120,10 +125,10 @@ const Astronomical = { }, nutationInLongitude( - julianCentury, - solarLongitude, - lunarLongitude, - ascendingNode, + julianCentury: number, + solarLongitude: number, + lunarLongitude: number, + ascendingNode: number, ) { const L0 = solarLongitude; const Lp = lunarLongitude; @@ -137,10 +142,10 @@ const Astronomical = { }, nutationInObliquity( - julianCentury, - solarLongitude, - lunarLongitude, - ascendingNode, + julianCentury: number, + solarLongitude: number, + lunarLongitude: number, + ascendingNode: number, ) { const L0 = solarLongitude; const Lp = lunarLongitude; @@ -153,7 +158,11 @@ const Astronomical = { return term1 + term2 + term3 - term4; }, - altitudeOfCelestialBody(observerLatitude, declination, localHourAngle) { + altitudeOfCelestialBody( + observerLatitude: number, + declination: number, + localHourAngle: number, + ) { const Phi = observerLatitude; const delta = declination; const H = localHourAngle; @@ -167,7 +176,11 @@ const Astronomical = { return radiansToDegrees(Math.asin(term1 + term2)); }, - approximateTransit(longitude, siderealTime, rightAscension) { + approximateTransit( + longitude: number, + siderealTime: number, + rightAscension: number, + ) { const L = longitude; const Theta0 = siderealTime; const a2 = rightAscension; @@ -178,12 +191,12 @@ const Astronomical = { /* The time at which the sun is at its highest point in the sky (in universal time) */ correctedTransit( - approximateTransit, - longitude, - siderealTime, - rightAscension, - previousRightAscension, - nextRightAscension, + approximateTransit: number, + longitude: number, + siderealTime: number, + rightAscension: number, + previousRightAscension: number, + nextRightAscension: number, ) { const m0 = approximateTransit; const L = longitude; @@ -201,17 +214,17 @@ const Astronomical = { }, correctedHourAngle( - approximateTransit, - angle, - coordinates, - afterTransit, - siderealTime, - rightAscension, - previousRightAscension, - nextRightAscension, - declination, - previousDeclination, - nextDeclination, + approximateTransit: number, + angle: number, + coordinates: Coordinates, + afterTransit: boolean, + siderealTime: number, + rightAscension: number, + previousRightAscension: number, + nextRightAscension: number, + declination: number, + previousDeclination: number, + nextDeclination: number, ) { const m0 = approximateTransit; const h0 = angle; @@ -257,7 +270,7 @@ const Astronomical = { previous and next values and a factor equal to the fraction of the interpolated point's time over the time between values. */ - interpolate(y2, y1, y3, n) { + interpolate(y2: number, y1: number, y3: number, n: number) { /* Equation from Astronomical Algorithms page 24 */ const a = y2 - y1; const b = y3 - y2; @@ -267,7 +280,7 @@ const Astronomical = { /* Interpolation of three angles, accounting for angle unwinding. */ - interpolateAngles(y2, y1, y3, n) { + interpolateAngles(y2: number, y1: number, y3: number, n: number) { /* Equation from Astronomical Algorithms page 24 */ const a = unwindAngle(y2 - y1); const b = unwindAngle(y3 - y2); @@ -276,11 +289,8 @@ const Astronomical = { }, /* The Julian Day for the given Gregorian date components. */ - julianDay(year, month, day, hours) { + julianDay(year: number, month: number, day: number, hours = 0) { /* Equation from Astronomical Algorithms page 60 */ - if (typeof hours === 'undefined') { - hours = 0; - } const trunc = Math.trunc || @@ -302,13 +312,13 @@ const Astronomical = { }, /* Julian century from the epoch. */ - julianCentury(julianDay) { + julianCentury(julianDay: number) { /* Equation from Astronomical Algorithms page 163 */ return (julianDay - 2451545.0) / 36525; }, /* Whether or not a year is a leap year (has 366 days). */ - isLeapYear(year) { + isLeapYear(year: number) { if (year % 4 !== 0) { return false; } @@ -320,7 +330,12 @@ const Astronomical = { return true; }, - seasonAdjustedMorningTwilight(latitude, dayOfYear, year, sunrise) { + seasonAdjustedMorningTwilight( + latitude: number, + dayOfYear: number, + year: number, + sunrise: Date, + ) { const a = 75 + (28.65 / 55.0) * Math.abs(latitude); const b = 75 + (19.44 / 55.0) * Math.abs(latitude); const c = 75 + (32.74 / 55.0) * Math.abs(latitude); @@ -346,7 +361,13 @@ const Astronomical = { return dateByAddingSeconds(sunrise, Math.round(adjustment * -60.0)); }, - seasonAdjustedEveningTwilight(latitude, dayOfYear, year, sunset, shafaq) { + seasonAdjustedEveningTwilight( + latitude: number, + dayOfYear: number, + year: number, + sunset: Date, + shafaq: ValueOf, + ) { let a, b, c, d; if (shafaq === Shafaq.Ahmer) { a = 62 + (17.4 / 55.0) * Math.abs(latitude); @@ -385,7 +406,7 @@ const Astronomical = { return dateByAddingSeconds(sunset, Math.round(adjustment * 60.0)); }, - daysSinceSolstice(dayOfYear, year, latitude) { + daysSinceSolstice(dayOfYear: number, year: number, latitude: number) { let daysSinceSolstice = 0; const northernOffset = 10; const southernOffset = Astronomical.isLeapYear(year) ? 173 : 172; diff --git a/src/CalculationMethod.ts b/src/CalculationMethod.ts index 4cfa673..2093654 100644 --- a/src/CalculationMethod.ts +++ b/src/CalculationMethod.ts @@ -5,21 +5,21 @@ const CalculationMethod = { // Muslim World League MuslimWorldLeague() { const params = new CalculationParameters('MuslimWorldLeague', 18, 17); - params.methodAdjustments = { dhuhr: 1 }; + params.methodAdjustments.dhuhr = 1; return params; }, // Egyptian General Authority of Survey Egyptian() { const params = new CalculationParameters('Egyptian', 19.5, 17.5); - params.methodAdjustments = { dhuhr: 1 }; + params.methodAdjustments.dhuhr = 1; return params; }, // University of Islamic Sciences, Karachi Karachi() { const params = new CalculationParameters('Karachi', 18, 18); - params.methodAdjustments = { dhuhr: 1 }; + params.methodAdjustments.dhuhr = 1; return params; }, @@ -31,21 +31,32 @@ const CalculationMethod = { // Dubai Dubai() { const params = new CalculationParameters('Dubai', 18.2, 18.2); - params.methodAdjustments = { sunrise: -3, dhuhr: 3, asr: 3, maghrib: 3 }; + params.methodAdjustments = { + ...params.methodAdjustments, + sunrise: -3, + dhuhr: 3, + asr: 3, + maghrib: 3, + }; return params; }, // Moonsighting Committee MoonsightingCommittee() { const params = new CalculationParameters('MoonsightingCommittee', 18, 18); - params.methodAdjustments = { dhuhr: 5, maghrib: 3 }; + params.methodAdjustments = { + ...params.methodAdjustments, + dhuhr: 5, + maghrib: 3, + }; + return params; }, // ISNA NorthAmerica() { const params = new CalculationParameters('NorthAmerica', 15, 15); - params.methodAdjustments = { dhuhr: 1 }; + params.methodAdjustments.dhuhr = 1; return params; }, @@ -62,7 +73,7 @@ const CalculationMethod = { // Singapore Singapore() { const params = new CalculationParameters('Singapore', 20, 18); - params.methodAdjustments = { dhuhr: 1 }; + params.methodAdjustments.dhuhr = 1; params.rounding = Rounding.Up; return params; }, @@ -76,7 +87,13 @@ const CalculationMethod = { // Dianet Turkey() { const params = new CalculationParameters('Turkey', 18, 17); - params.methodAdjustments = { sunrise: -7, dhuhr: 5, asr: 4, maghrib: 7 }; + params.methodAdjustments = { + ...params.methodAdjustments, + sunrise: -7, + dhuhr: 5, + asr: 4, + maghrib: 7, + }; return params; }, @@ -84,6 +101,6 @@ const CalculationMethod = { Other() { return new CalculationParameters('Other', 0, 0); }, -}; +} as const; export default CalculationMethod; diff --git a/src/CalculationParameters.ts b/src/CalculationParameters.ts index 9033ff0..8c35cf0 100644 --- a/src/CalculationParameters.ts +++ b/src/CalculationParameters.ts @@ -1,67 +1,72 @@ +import type CalculationMethod from './CalculationMethod'; import { Madhab } from './Madhab'; import HighLatitudeRule from './HighLatitudeRule'; import { PolarCircleResolution } from './PolarCircleResolution'; import { Rounding } from './Rounding'; import { Shafaq } from './Shafaq'; +import { ValueOf } from './type-utils'; export default class CalculationParameters { - constructor(methodName, fajrAngle, ishaAngle, ishaInterval, maghribAngle) { + // Madhab to determine how Asr is calculated. + madhab: ValueOf = Madhab.Shafi; + + // Rule to determine the earliest time for Fajr and latest time for Isha + // needed for high latitude locations where Fajr and Isha may not truly exist + // or may present a hardship unless bound to a reasonable time. + highLatitudeRule: ValueOf = + HighLatitudeRule.MiddleOfTheNight; + + // Manual adjustments (in minutes) to be added to each prayer time. + adjustments = { + fajr: 0, + sunrise: 0, + dhuhr: 0, + asr: 0, + maghrib: 0, + isha: 0, + }; + + // Adjustments set by a calculation method. This value should not be manually modified. + methodAdjustments = { + fajr: 0, + sunrise: 0, + dhuhr: 0, + asr: 0, + maghrib: 0, + isha: 0, + }; + + // Rule to determine how to resolve prayer times inside the Polar Circle + // where daylight or night may persist for more than 24 hours depending + // on the season + polarCircleResolution: ValueOf = + PolarCircleResolution.Unresolved; + + // How seconds are rounded when calculating prayer times + rounding: ValueOf = Rounding.Nearest; + + // Used by the MoonsightingCommittee method to determine how to calculate Isha + shafaq: ValueOf = Shafaq.General; + + constructor( // Name of the method, can be used to apply special behavior in calculations. // This property should not be manually modified. - this.method = methodName || 'Other'; - + public method: null | keyof typeof CalculationMethod, // Angle of the sun below the horizon used for calculating Fajr. - this.fajrAngle = fajrAngle || 0; - + public fajrAngle = 0, // Angle of the sun below the horizon used for calculating Isha. - this.ishaAngle = ishaAngle || 0; - + public ishaAngle = 0, // Minutes after Maghrib to determine time for Isha // if this value is greater than 0 then ishaAngle is not used. - this.ishaInterval = ishaInterval || 0; - + public ishaInterval = 0, // Angle of the sun below the horizon used for calculating Maghrib. // Only used by the Tehran method to account for lightness in the sky. - this.maghribAngle = maghribAngle; - - // Madhab to determine how Asr is calculated. - this.madhab = Madhab.Shafi; - - // Rule to determine the earliest time for Fajr and latest time for Isha - // needed for high latitude locations where Fajr and Isha may not truly exist - // or may present a hardship unless bound to a reasonable time. - this.highLatitudeRule = HighLatitudeRule.MiddleOfTheNight; - - // Manual adjustments (in minutes) to be added to each prayer time. - this.adjustments = { - fajr: 0, - sunrise: 0, - dhuhr: 0, - asr: 0, - maghrib: 0, - isha: 0, - }; - - // Adjustments set by a calculation method. This value should not be manually modified. - this.methodAdjustments = { - fajr: 0, - sunrise: 0, - dhuhr: 0, - asr: 0, - maghrib: 0, - isha: 0, - }; - - // Rule to determine how to resolve prayer times inside the Polar Circle - // where daylight or night may persist for more than 24 hours depending - // on the season - this.polarCircleResolution = PolarCircleResolution.Unresolved; - - // How seconds are rounded when calculating prayer times - this.rounding = Rounding.Nearest; - - // Used by the MoonsightingCommittee method to determine how to calculate Isha - this.shafaq = Shafaq.General; + public maghribAngle = 0, + ) { + if (this.method === null) { + // we don't want a breaking change + this.method = 'Other'; + } } nightPortions() { diff --git a/src/Coordinates.ts b/src/Coordinates.ts index a0b9324..603ed50 100644 --- a/src/Coordinates.ts +++ b/src/Coordinates.ts @@ -1,6 +1,3 @@ export default class Coordinates { - constructor(latitude, longitude) { - this.latitude = latitude; - this.longitude = longitude; - } + constructor(public latitude: number, public longitude: number) {} } diff --git a/src/DateUtils.ts b/src/DateUtils.ts index 754db29..7683606 100644 --- a/src/DateUtils.ts +++ b/src/DateUtils.ts @@ -1,7 +1,8 @@ import Astronomical from './Astronomical'; import { Rounding } from './Rounding'; +import { ValueOf } from './type-utils'; -export function dateByAddingDays(date, days) { +export function dateByAddingDays(date: Date, days: number) { const year = date.getFullYear(); const month = date.getMonth(); const day = date.getDate() + days; @@ -11,15 +12,18 @@ export function dateByAddingDays(date, days) { return new Date(year, month, day, hours, minutes, seconds); } -export function dateByAddingMinutes(date, minutes) { +export function dateByAddingMinutes(date: Date, minutes: number) { return dateByAddingSeconds(date, minutes * 60); } -export function dateByAddingSeconds(date, seconds) { +export function dateByAddingSeconds(date: Date, seconds: number) { return new Date(date.getTime() + seconds * 1000); } -export function roundedMinute(date, rounding = Rounding.Nearest) { +export function roundedMinute( + date: Date, + rounding: ValueOf = Rounding.Nearest, +) { const seconds = date.getUTCSeconds(); let offset = seconds >= 30 ? 60 - seconds : -1 * seconds; if (rounding === Rounding.Up) { @@ -31,7 +35,7 @@ export function roundedMinute(date, rounding = Rounding.Nearest) { return dateByAddingSeconds(date, offset); } -export function dayOfYear(date) { +export function dayOfYear(date: Date) { let returnedDayOfYear = 0; const feb = Astronomical.isLeapYear(date.getFullYear()) ? 29 : 28; const months = [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; @@ -44,6 +48,6 @@ export function dayOfYear(date) { return returnedDayOfYear; } -export function isValidDate(date) { +export function isValidDate(date: Date) { return date instanceof Date && !isNaN(date.valueOf()); } diff --git a/src/HighLatitudeRule.ts b/src/HighLatitudeRule.ts index dc9c5e5..0254c8c 100644 --- a/src/HighLatitudeRule.ts +++ b/src/HighLatitudeRule.ts @@ -1,15 +1,17 @@ +import type Coordinates from './Coordinates'; + const HighLatitudeRule = { MiddleOfTheNight: 'middleofthenight', SeventhOfTheNight: 'seventhofthenight', TwilightAngle: 'twilightangle', - recommended(coordinates) { + recommended(coordinates: Coordinates) { if (coordinates.latitude > 48) { return HighLatitudeRule.SeventhOfTheNight; } else { return HighLatitudeRule.MiddleOfTheNight; } }, -}; +} as const; export default HighLatitudeRule; diff --git a/src/Madhab.ts b/src/Madhab.ts index d29077b..aeb4bb0 100644 --- a/src/Madhab.ts +++ b/src/Madhab.ts @@ -1,9 +1,11 @@ +import { ValueOf } from './type-utils'; + export const Madhab = { Shafi: 'shafi', Hanafi: 'hanafi', -}; +} as const; -export function shadowLength(madhab) { +export function shadowLength(madhab: ValueOf) { switch (madhab) { case Madhab.Shafi: return 1; diff --git a/src/MathUtils.ts b/src/MathUtils.ts index 26c8bae..2696079 100644 --- a/src/MathUtils.ts +++ b/src/MathUtils.ts @@ -1,20 +1,20 @@ -export function degreesToRadians(degrees) { +export function degreesToRadians(degrees: number) { return (degrees * Math.PI) / 180.0; } -export function radiansToDegrees(radians) { +export function radiansToDegrees(radians: number) { return (radians * 180.0) / Math.PI; } -export function normalizeToScale(number, max) { - return number - max * Math.floor(number / max); +export function normalizeToScale(num: number, max: number) { + return num - max * Math.floor(num / max); } -export function unwindAngle(angle) { +export function unwindAngle(angle: number) { return normalizeToScale(angle, 360.0); } -export function quadrantShiftAngle(angle) { +export function quadrantShiftAngle(angle: number) { if (angle >= -180 && angle <= 180) { return angle; } diff --git a/src/PolarCircleResolution.ts b/src/PolarCircleResolution.ts index adf5b5d..6a8fb0f 100644 --- a/src/PolarCircleResolution.ts +++ b/src/PolarCircleResolution.ts @@ -1,19 +1,32 @@ +import Coordinates from './Coordinates'; import SolarTime from './SolarTime'; import { dateByAddingDays } from './DateUtils'; +import { ValueOf } from './type-utils'; export const PolarCircleResolution = { AqrabBalad: 'AqrabBalad', AqrabYaum: 'AqrabYaum', Unresolved: 'Unresolved', -}; +} as const; const LATITUDE_VARIATION_STEP = 0.5; // Degrees to add/remove at each resolution step const UNSAFE_LATITUDE = 65; // Based on https://en.wikipedia.org/wiki/Midnight_sun -const isValidSolarTime = (solarTime) => +const isValidSolarTime = (solarTime: SolarTime) => solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset); -const aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => { +const aqrabYaumResolver = ( + coordinates: Coordinates, + date: Date, + daysAdded = 1, + direction = 1, +): { + date: Date; + tomorrow: Date; + coordinates: Coordinates; + solarTime: SolarTime; + tomorrowSolarTime: SolarTime; +} | null => { if (daysAdded > Math.ceil(365 / 2)) { return null; } @@ -41,7 +54,20 @@ const aqrabYaumResolver = (coordinates, date, daysAdded = 1, direction = 1) => { }; }; -const aqrabBaladResolver = (coordinates, date, latitude) => { +const aqrabBaladResolver = ( + coordinates: Coordinates, + date: Date, + latitude: number, +): { + date: Date; + tomorrow: Date; + coordinates: { + latitude: number; + longitude: number; + }; + solarTime: SolarTime; + tomorrowSolarTime: SolarTime; +} | null => { const solarTime = new SolarTime(date, { ...coordinates, latitude }); const tomorrow = dateByAddingDays(date, 1); const tomorrowSolarTime = new SolarTime(tomorrow, { @@ -67,7 +93,11 @@ const aqrabBaladResolver = (coordinates, date, latitude) => { }; }; -export const polarCircleResolvedValues = (resolver, date, coordinates) => { +export const polarCircleResolvedValues = ( + resolver: ValueOf, + date: Date, + coordinates: Coordinates, +) => { const defaultReturn = { date, tomorrow: dateByAddingDays(date, 1), diff --git a/src/Prayer.ts b/src/Prayer.ts index a9a3433..8ec1d23 100644 --- a/src/Prayer.ts +++ b/src/Prayer.ts @@ -6,6 +6,6 @@ const Prayer = { Maghrib: 'maghrib', Isha: 'isha', None: 'none', -}; +} as const; export default Prayer; diff --git a/src/PrayerTimes.ts b/src/PrayerTimes.ts index e2d2062..1eac9ed 100644 --- a/src/PrayerTimes.ts +++ b/src/PrayerTimes.ts @@ -2,35 +2,45 @@ import SolarTime from './SolarTime'; import TimeComponents from './TimeComponents'; import Prayer from './Prayer'; import Astronomical from './Astronomical'; +import CalculationParameters from './CalculationParameters'; +import Coordinates from './Coordinates'; import { dateByAddingDays, dateByAddingMinutes, dateByAddingSeconds, - roundedMinute, dayOfYear, isValidDate, + roundedMinute, } from './DateUtils'; import { shadowLength } from './Madhab'; import { PolarCircleResolution, polarCircleResolvedValues, } from './PolarCircleResolution'; +import { ValueOf } from './type-utils'; export default class PrayerTimes { - // eslint-disable-next-line complexity - constructor(coordinates, date, calculationParameters) { - this.coordinates = coordinates; - this.date = date; - this.calculationParameters = calculationParameters; + fajr: Date; + sunrise: Date; + dhuhr: Date; + asr: Date; + maghrib: Date; + isha: Date; + // eslint-disable-next-line complexity + constructor( + public coordinates: Coordinates, + public date: Date, + public calculationParameters: CalculationParameters, + ) { let solarTime = new SolarTime(date, coordinates); - let fajrTime; - let sunriseTime; - let dhuhrTime; - let asrTime; - let maghribTime; - let ishaTime; + let fajrTime: Date; + let sunriseTime: Date; + let dhuhrTime: Date; + let asrTime: Date; + let maghribTime: Date; + let ishaTime: Date; let nightFraction; @@ -70,7 +80,7 @@ export default class PrayerTimes { date.getFullYear(), date.getMonth(), date.getDate(), - ]; + ] as const; dhuhrTime = new TimeComponents(solarTime.transit).utcDate( ...dateComponents, @@ -91,7 +101,7 @@ export default class PrayerTimes { const tomorrowSunrise = new TimeComponents( tomorrowSolarTime.sunrise, ).utcDate(tomorrow.getFullYear(), tomorrow.getMonth(), tomorrow.getDate()); - const night = (tomorrowSunrise - sunsetTime) / 1000; + const night = (Number(tomorrowSunrise) - Number(sunsetTime)) / 1000; fajrTime = new TimeComponents( solarTime.hourAngle(-1 * calculationParameters.fajrAngle, false), @@ -180,23 +190,23 @@ export default class PrayerTimes { } const fajrAdjustment = - (calculationParameters.adjustments.fajr || 0) + - (calculationParameters.methodAdjustments.fajr || 0); + calculationParameters.adjustments.fajr + + calculationParameters.methodAdjustments.fajr; const sunriseAdjustment = - (calculationParameters.adjustments.sunrise || 0) + - (calculationParameters.methodAdjustments.sunrise || 0); + calculationParameters.adjustments.sunrise + + calculationParameters.methodAdjustments.sunrise; const dhuhrAdjustment = - (calculationParameters.adjustments.dhuhr || 0) + - (calculationParameters.methodAdjustments.dhuhr || 0); + calculationParameters.adjustments.dhuhr + + calculationParameters.methodAdjustments.dhuhr; const asrAdjustment = - (calculationParameters.adjustments.asr || 0) + - (calculationParameters.methodAdjustments.asr || 0); + calculationParameters.adjustments.asr + + calculationParameters.methodAdjustments.asr; const maghribAdjustment = - (calculationParameters.adjustments.maghrib || 0) + - (calculationParameters.methodAdjustments.maghrib || 0); + calculationParameters.adjustments.maghrib + + calculationParameters.methodAdjustments.maghrib; const ishaAdjustment = - (calculationParameters.adjustments.isha || 0) + - (calculationParameters.methodAdjustments.isha || 0); + calculationParameters.adjustments.isha + + calculationParameters.methodAdjustments.isha; this.fajr = roundedMinute( dateByAddingMinutes(fajrTime, fajrAdjustment), @@ -224,7 +234,7 @@ export default class PrayerTimes { ); } - timeForPrayer(prayer) { + timeForPrayer(prayer: ValueOf) { if (prayer === Prayer.Fajr) { return this.fajr; } else if (prayer === Prayer.Sunrise) { @@ -242,10 +252,7 @@ export default class PrayerTimes { } } - currentPrayer(date) { - if (typeof date === 'undefined') { - date = new Date(); - } + currentPrayer(date = new Date()) { if (date >= this.isha) { return Prayer.Isha; } else if (date >= this.maghrib) { @@ -263,10 +270,7 @@ export default class PrayerTimes { } } - nextPrayer(date) { - if (typeof date === 'undefined') { - date = new Date(); - } + nextPrayer(date = new Date()) { if (date >= this.isha) { return Prayer.None; } else if (date >= this.maghrib) { diff --git a/src/Qibla.ts b/src/Qibla.ts index fb05260..ec089cd 100644 --- a/src/Qibla.ts +++ b/src/Qibla.ts @@ -1,7 +1,7 @@ import Coordinates from './Coordinates'; import { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils'; -export default function qibla(coordinates) { +export default function qibla(coordinates: Coordinates) { const makkah = new Coordinates(21.4225241, 39.8261818); // Equation from "Spherical Trigonometry For the use of colleges and schools" page 50 diff --git a/src/Rounding.ts b/src/Rounding.ts index 6d039ba..5fa0fcf 100644 --- a/src/Rounding.ts +++ b/src/Rounding.ts @@ -2,4 +2,4 @@ export const Rounding = { Nearest: 'nearest', Up: 'up', None: 'none', -}; +} as const; diff --git a/src/Shafaq.ts b/src/Shafaq.ts index 701fcb8..ca0521a 100644 --- a/src/Shafaq.ts +++ b/src/Shafaq.ts @@ -10,4 +10,4 @@ export const Shafaq = { // Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab. Abyad: 'abyad', -}; +} as const; diff --git a/src/SolarCoordinates.ts b/src/SolarCoordinates.ts index 1e3be25..0266589 100644 --- a/src/SolarCoordinates.ts +++ b/src/SolarCoordinates.ts @@ -2,7 +2,11 @@ import Astronomical from './Astronomical'; import { degreesToRadians, radiansToDegrees, unwindAngle } from './MathUtils'; export default class SolarCoordinates { - constructor(julianDay) { + declination: number; + rightAscension: number; + apparentSiderealTime: number; + + constructor(julianDay: number) { const T = Astronomical.julianCentury(julianDay); const L0 = Astronomical.meanSolarLongitude(T); const Lp = Astronomical.meanLunarLongitude(T); diff --git a/src/SolarTime.ts b/src/SolarTime.ts index d5c78e4..873492a 100644 --- a/src/SolarTime.ts +++ b/src/SolarTime.ts @@ -1,9 +1,19 @@ import Astronomical from './Astronomical'; +import type Coordinates from './Coordinates'; import { degreesToRadians, radiansToDegrees } from './MathUtils'; import SolarCoordinates from './SolarCoordinates'; export default class SolarTime { - constructor(date, coordinates) { + observer: Coordinates; + solar: SolarCoordinates; + prevSolar: SolarCoordinates; + nextSolar: SolarCoordinates; + approxTransit: number; + transit: number; + sunrise: number; + sunset: number; + + constructor(date: Date, coordinates: Coordinates) { const julianDay = Astronomical.julianDay( date.getFullYear(), date.getMonth() + 1, @@ -64,7 +74,7 @@ export default class SolarTime { ); } - hourAngle(angle, afterTransit) { + hourAngle(angle: number, afterTransit: boolean) { return Astronomical.correctedHourAngle( this.approxTransit, angle, @@ -80,7 +90,7 @@ export default class SolarTime { ); } - afternoon(shadowLength) { + afternoon(shadowLength: number) { // TODO source shadow angle calculation const tangent = Math.abs(this.observer.latitude - this.solar.declination); const inverse = shadowLength + Math.tan(degreesToRadians(tangent)); diff --git a/src/SunnahTimes.ts b/src/SunnahTimes.ts index 4adac40..67df38e 100644 --- a/src/SunnahTimes.ts +++ b/src/SunnahTimes.ts @@ -6,7 +6,10 @@ import { import PrayerTimes from './PrayerTimes'; export default class SunnahTimes { - constructor(prayerTimes) { + middleOfTheNight: Date; + lastThirdOfTheNight: Date; + + constructor(prayerTimes: PrayerTimes) { const date = prayerTimes.date; const nextDay = dateByAddingDays(date, 1); const nextDayPrayerTimes = new PrayerTimes( diff --git a/src/TimeComponents.ts b/src/TimeComponents.ts index 39bda18..21420ec 100644 --- a/src/TimeComponents.ts +++ b/src/TimeComponents.ts @@ -1,14 +1,18 @@ export default class TimeComponents { - constructor(number) { - this.hours = Math.floor(number); - this.minutes = Math.floor((number - this.hours) * 60); + hours: number; + minutes: number; + seconds: number; + + constructor(num: number) { + this.hours = Math.floor(num); + this.minutes = Math.floor((num - this.hours) * 60); this.seconds = Math.floor( - (number - (this.hours + this.minutes / 60)) * 60 * 60, + (num - (this.hours + this.minutes / 60)) * 60 * 60, ); return this; } - utcDate(year, month, date) { + utcDate(year: number, month: number, date: number): Date { return new Date( Date.UTC(year, month, date, this.hours, this.minutes, this.seconds), ); diff --git a/src/type-utils.ts b/src/type-utils.ts new file mode 100644 index 0000000..5f2cf2c --- /dev/null +++ b/src/type-utils.ts @@ -0,0 +1 @@ +export type ValueOf = T[keyof T]; diff --git a/test/adhan.test.ts b/test/adhan.test.ts index e55e951..d32e7b5 100644 --- a/test/adhan.test.ts +++ b/test/adhan.test.ts @@ -5,6 +5,8 @@ import { dateByAddingSeconds, isValidDate } from '../src/DateUtils'; import { shadowLength } from '../src/Madhab'; import * as polarCircleResolver from '../src/PolarCircleResolution'; import { Shafaq } from '../src/Shafaq'; +import { ValueOf } from '../src/type-utils'; +import HighLatitudeRule from '../src/HighLatitudeRule'; test('Verifying the night portion defined by the high latitude rule', () => { const p1 = new adhan.CalculationParameters('Other', 18, 18); @@ -23,7 +25,11 @@ test('Verifying the night portion defined by the high latitude rule', () => { expect(p3.nightPortions().isha).toBe(15 / 60); const p4 = new adhan.CalculationParameters('Other', 10, 15); - p4.highLatitudeRule = adhan.HighLatitudeRule.fake; + p4.highLatitudeRule = ( + adhan.HighLatitudeRule as unknown as { + fake: ValueOf; + } + ).fake; expect(() => { p4.nightPortions().fajr; }).toThrow(); @@ -437,7 +443,9 @@ test('getting the madhab shadow length', () => { expect(shadowLength(adhan.Madhab.Shafi)).toBe(1); expect(shadowLength(adhan.Madhab.Hanafi)).toBe(2); expect(() => { - shadowLength(adhan.Madhab.Foo); + shadowLength( + (adhan.Madhab as unknown as { Foo: ValueOf }).Foo, + ); }).toThrow(); }); @@ -852,7 +860,7 @@ describe('Moonsighting Committee method with shafaq abyad', () => { }); describe('Polar circle resolution cases', () => { - const prayersToCheck = ['fajr', 'sunrise', 'maghrib', 'isha']; + const prayersToCheck = ['fajr', 'sunrise', 'maghrib', 'isha'] as const; const regularDate = new Date(2020, 4, 15, 20, 0, 0, 0); const dateAffectedByPolarNight = new Date(2020, 11, 21, 20, 0, 0, 0); const dateAffectedByMidnightSun = new Date(2020, 5, 21, 20, 0, 0, 0); diff --git a/test/astronomical.test.ts b/test/astronomical.test.ts index 134e797..35d5dce 100644 --- a/test/astronomical.test.ts +++ b/test/astronomical.test.ts @@ -6,7 +6,7 @@ import SolarCoordinates from '../src/SolarCoordinates'; import { unwindAngle } from '../src/MathUtils'; import { dayOfYear } from '../src/DateUtils'; -function timeString(hours) { +function timeString(hours: number) { const comps = new TimeComponents(hours); if (isNaN(comps.hours) || isNaN(comps.minutes) || isNaN(comps.seconds)) { return ''; diff --git a/test/times.test.ts b/test/times.test.ts index 6da3814..78a4915 100644 --- a/test/times.test.ts +++ b/test/times.test.ts @@ -2,9 +2,17 @@ import fs from 'fs'; import adhan from '../src/Adhan'; import moment from 'moment-timezone'; +import CalculationParameters from '../src/CalculationParameters'; -function parseParams(data) { - let params; +function parseParams(data: { + latitude: number; + longitude: number; + timezone: string; + method: string; + madhab: string; + highLatitudeRule: string; +}) { + let params: CalculationParameters; const method = data['method']; if (method === 'MuslimWorldLeague') { @@ -54,9 +62,18 @@ function parseParams(data) { return params; } +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace + namespace jest { + interface Matchers { + toBeWithinRange(comparisonDate: Date, variance: number): R; + } + } +} + expect.extend({ - toBeWithinRange(intialDate, comparisonDate, variance) { - const initalValue = intialDate.getTime(); + toBeWithinRange(initialDate: Date, comparisonDate: Date, variance: number) { + const initalValue = initialDate.getTime(); const varianceValue = variance * 60 * 1000; const floor = comparisonDate.getTime() - varianceValue; const ceiling = comparisonDate.getTime() + varianceValue; @@ -64,23 +81,47 @@ expect.extend({ if (pass) { return { message: () => - `expected ${intialDate} not to be within range ${comparisonDate} and a variance of ${variance} minute`, + `expected ${initialDate} not to be within range ${comparisonDate} and a variance of ${variance} minute`, pass: true, }; } else { return { message: () => - `expected ${intialDate} to be within range ${comparisonDate} and a variance of ${variance} minute`, + `expected ${initialDate} to be within range ${comparisonDate} and a variance of ${variance} minute`, pass: false, }; } }, }); +type TestFileTime = { + date: string; + fajr: string; + sunrise: string; + dhuhr: string; + asr: string; + maghrib: string; + isha: string; +}; + +interface TestFile { + params: { + latitude: number; + longitude: number; + timezone: string; + method: string; + madhab: string; + highLatitudeRule: string; + }; + source: string[]; + variance: number; + times: TestFileTime[]; +} + fs.readdirSync('Shared/Times').forEach(function (filename) { test(`compare calculated times against the prayer times in ${filename}`, () => { const file_contents = fs.readFileSync('Shared/Times/' + filename); - const data = JSON.parse(file_contents); + const data: TestFile = JSON.parse(file_contents.toString()); const coordinates = new adhan.Coordinates( data['params']['latitude'], data['params']['longitude'], diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..82df09f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "esnext", + "declaration": true, + "declarationDir": "./dist/", + "moduleResolution": "node", + "esModuleInterop": true, + "strict": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] +} From 47b6bc4dbeb16b774004205fc4ed19f9ccc1021b Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Tue, 19 Apr 2022 15:31:27 +0000 Subject: [PATCH 11/20] refactor: add @typescript-eslint/no-unnecessary-condition --- .eslintignore | 5 ++++- .eslintrc.js | 11 +++++----- package-lock.json | 41 ++++++++++++++++++------------------ package.json | 13 ++++++------ src/Astronomical.ts | 6 +----- src/PolarCircleResolution.ts | 2 +- src/PrayerTimes.ts | 8 ++----- test/adhan.test.ts | 14 ++++++------ test/dist.test.ts | 4 ++-- tsconfig.json | 5 +++-- 10 files changed, 54 insertions(+), 55 deletions(-) diff --git a/.eslintignore b/.eslintignore index 48a2122..cae9221 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,5 @@ +/coverage /lib -/Shared \ No newline at end of file +/Shared +/Adhan.d.ts +/*.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 46b8083..7bf8d3b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,8 +1,6 @@ module.exports = { - root: true, parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - + plugins: ['@typescript-eslint', 'jest'], extends: [ 'eslint:recommended', 'plugin:jest/recommended', @@ -11,6 +9,10 @@ module.exports = { 'plugin:@typescript-eslint/recommended', ], + parserOptions: { + project: ['./tsconfig.json'], + }, + env: { node: true, browser: true, @@ -19,6 +21,7 @@ module.exports = { rules: { '@typescript-eslint/ban-ts-comment': 'warn', + '@typescript-eslint/no-unnecessary-condition': 'warn', complexity: ['warn', 10], 'max-lines': ['warn', 300], 'max-params': ['warn', 5], @@ -27,6 +30,4 @@ module.exports = { 'prefer-const': 'error', 'object-shorthand': 'error', }, - - plugins: ['jest'], }; diff --git a/package-lock.json b/package-lock.json index 4942834..038d3f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@rollup/plugin-node-resolve": "^13.2.1", "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", + "@types/estree": "^0.0.51", "@types/jest": "^27.4.1", "@typescript-eslint/eslint-plugin": "^5.17.0", "@typescript-eslint/parser": "^5.17.0", @@ -3482,6 +3483,12 @@ "rollup": "^1.20.0||^2.0.0" } }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, "node_modules/@semantic-release/changelog": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.1.tgz", @@ -3971,9 +3978,9 @@ } }, "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "node_modules/@types/graceful-fs": { @@ -16411,13 +16418,6 @@ "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true, - "peer": true - }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -19256,6 +19256,14 @@ "@types/estree": "0.0.39", "estree-walker": "^1.0.1", "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + } } }, "@semantic-release/changelog": { @@ -19652,9 +19660,9 @@ } }, "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "@types/graceful-fs": { @@ -28862,13 +28870,6 @@ "webpack-sources": "^3.2.3" }, "dependencies": { - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true, - "peer": true - }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", diff --git a/package.json b/package.json index 455004b..65ee02f 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "build:bundles": "cross-env BABEL_ENV=esmBundled rollup -c", "lint": "run-p -l lint:*", "lint:eslint": "eslint --max-warnings=0 .", - "lint:tsc": "echo soon... tsc --noEmit", + "lint:tsc": "tsc --noEmit", "lint-fix": "npm-run-all -l -p lint-fix:* -s lint:tsc", "lint-fix:eslint": "eslint --max-warnings=0 --fix .", "commit": "cz", @@ -53,8 +53,12 @@ "@rollup/plugin-node-resolve": "^13.2.1", "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", + "@types/estree": "^0.0.51", "@types/jest": "^27.4.1", + "@typescript-eslint/eslint-plugin": "^5.17.0", + "@typescript-eslint/parser": "^5.17.0", "babel-loader": "^8.2.4", + "codecov": "^3.6.5", "commitizen": "^4.2.4", "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.3.0", @@ -73,11 +77,8 @@ "rollup": "^2.70.2", "rollup-plugin-terser": "^7.0.2", "semantic-release": "^19.0.2", - "typescript": "^4.6.3", - "@typescript-eslint/eslint-plugin": "^5.17.0", - "@typescript-eslint/parser": "^5.17.0", - "codecov": "^3.6.5", - "ts-jest": "^27.1.3" + "ts-jest": "^27.1.3", + "typescript": "^4.6.3" }, "config": { "commitizen": { diff --git a/src/Astronomical.ts b/src/Astronomical.ts index 3223ad6..6ae2071 100644 --- a/src/Astronomical.ts +++ b/src/Astronomical.ts @@ -292,11 +292,7 @@ const Astronomical = { julianDay(year: number, month: number, day: number, hours = 0) { /* Equation from Astronomical Algorithms page 60 */ - const trunc = - Math.trunc || - function (x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); - }; + const trunc = Math.trunc; const Y = trunc(month > 2 ? year : year - 1); const M = trunc(month > 2 ? month : month + 12); diff --git a/src/PolarCircleResolution.ts b/src/PolarCircleResolution.ts index 6a8fb0f..23e37b7 100644 --- a/src/PolarCircleResolution.ts +++ b/src/PolarCircleResolution.ts @@ -13,7 +13,7 @@ const LATITUDE_VARIATION_STEP = 0.5; // Degrees to add/remove at each resolution const UNSAFE_LATITUDE = 65; // Based on https://en.wikipedia.org/wiki/Midnight_sun const isValidSolarTime = (solarTime: SolarTime) => - solarTime && !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset); + !isNaN(solarTime.sunrise) && !isNaN(solarTime.sunset); const aqrabYaumResolver = ( coordinates: Coordinates, diff --git a/src/PrayerTimes.ts b/src/PrayerTimes.ts index 1eac9ed..dc718e6 100644 --- a/src/PrayerTimes.ts +++ b/src/PrayerTimes.ts @@ -131,7 +131,7 @@ export default class PrayerTimes { } })(); - if (fajrTime === null || isNaN(fajrTime.getTime()) || safeFajr > fajrTime) { + if (isNaN(fajrTime.getTime()) || safeFajr > fajrTime) { fajrTime = safeFajr; } @@ -170,11 +170,7 @@ export default class PrayerTimes { } })(); - if ( - ishaTime == null || - isNaN(ishaTime.getTime()) || - safeIsha < ishaTime - ) { + if (isNaN(ishaTime.getTime()) || safeIsha < ishaTime) { ishaTime = safeIsha; } } diff --git a/test/adhan.test.ts b/test/adhan.test.ts index d32e7b5..e707cbb 100644 --- a/test/adhan.test.ts +++ b/test/adhan.test.ts @@ -436,7 +436,7 @@ test('getting the current next prayer', () => { ); const current = p.currentPrayer(); const next = p.nextPrayer(); - expect(current != null || next != null).toBeTruthy(); + expect(current !== 'none' || next !== 'none').toBeTruthy(); }); test('getting the madhab shadow length', () => { @@ -877,13 +877,13 @@ describe('Polar circle resolution cases', () => { describe('Regular computation', () => { it('should not attempt to do any resolution if the resolver is set to unresolved', () => { const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); - // eslint-disable-next-line no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars const prayersTimes1 = new adhan.PrayerTimes( ArjeplogSweden, dateAffectedByMidnightSun, unresolvedParams, ); - // eslint-disable-next-line no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars const prayersTimes2 = new adhan.PrayerTimes( ArjeplogSweden, dateAffectedByMidnightSun, @@ -895,13 +895,13 @@ describe('Polar circle resolution cases', () => { it('should not attempt to do any resolution if the date is affected neither by the polar night nor by the midnight sun', () => { const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); - // eslint-disable-next-line no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars const prayersTimes1 = new adhan.PrayerTimes( ArjeplogSweden, regularDate, aqrabBaladParams, ); - // eslint-disable-next-line no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars const prayersTimes2 = new adhan.PrayerTimes( ArjeplogSweden, regularDate, @@ -913,13 +913,13 @@ describe('Polar circle resolution cases', () => { it('should not make any search if the location is outside the polar circles', () => { const spy = jest.spyOn(polarCircleResolver, 'polarCircleResolvedValues'); - // eslint-disable-next-line no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars const prayersTimes1 = new adhan.PrayerTimes( regularCoordinates, dateAffectedByPolarNight, aqrabBaladParams, ); - // eslint-disable-next-line no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars const prayersTimes2 = new adhan.PrayerTimes( regularCoordinates, dateAffectedByPolarNight, diff --git a/test/dist.test.ts b/test/dist.test.ts index 9aaa420..96f6b45 100644 --- a/test/dist.test.ts +++ b/test/dist.test.ts @@ -1,7 +1,7 @@ import adhan from '../src/Adhan'; import moment from 'moment-timezone'; -function dateByAddingSeconds(date, seconds) { +function dateByAddingSeconds(date: Date, seconds: number) { return new Date(date.getTime() + seconds * 1000); } @@ -227,5 +227,5 @@ test('getting the current next prayer', () => { ); const current = p.currentPrayer(); const next = p.nextPrayer(); - expect(current != null || next != null).toBeTruthy(); + expect(current !== 'none' || next !== 'none').toBeTruthy(); }); diff --git a/tsconfig.json b/tsconfig.json index 82df09f..a0bf682 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,9 +5,10 @@ "declaration": true, "declarationDir": "./dist/", "moduleResolution": "node", + "noEmit": true, "esModuleInterop": true, "strict": true }, - "include": ["src/**/*"], - "exclude": ["node_modules"] + "include": ["src/**/*", "test/**/*"], + "exclude": ["node_modules", "lib"] } From 333c759357c4815bb294fa9a5d68cfa100fdf269 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Tue, 19 Apr 2022 16:14:52 +0000 Subject: [PATCH 12/20] chore: update configurations from #101 Co-authored-by: Matthew Crenshaw <3420325+sgtsquiggs@users.noreply.github.com> --- .eslintignore | 3 +- .eslintrc.js | 18 +- babel.config.js | 6 +- package-lock.json | 479 +------------------------------------------ package.json | 18 +- rollup.config.js | 6 +- tsconfig.eslint.json | 4 + tsconfig.json | 12 +- 8 files changed, 48 insertions(+), 498 deletions(-) create mode 100644 tsconfig.eslint.json diff --git a/.eslintignore b/.eslintignore index cae9221..c9ec409 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,4 +2,5 @@ /lib /Shared /Adhan.d.ts -/*.js \ No newline at end of file + +/.eslintrc.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 7bf8d3b..0270c1f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,18 +1,22 @@ module.exports = { + root: true, + parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'jest'], + + parserOptions: { + ecmaVersion: 2018, + project: ['./tsconfig.eslint.json'], + sourceType: 'module', + }, + extends: [ 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', 'plugin:jest/recommended', 'plugin:jest/style', 'plugin:prettier/recommended', - 'plugin:@typescript-eslint/recommended', ], - parserOptions: { - project: ['./tsconfig.json'], - }, - env: { node: true, browser: true, @@ -30,4 +34,6 @@ module.exports = { 'prefer-const': 'error', 'object-shorthand': 'error', }, + + plugins: ['@typescript-eslint', 'jest'], }; diff --git a/babel.config.js b/babel.config.js index d0438f9..365b48b 100644 --- a/babel.config.js +++ b/babel.config.js @@ -11,7 +11,7 @@ module.exports = { ...shared, presets: [ [ - '@babel/env', + '@babel/preset-env', { targets: '> 0.25%, not dead', }, @@ -23,7 +23,7 @@ module.exports = { ...shared, presets: [ [ - '@babel/env', + '@babel/preset-env', { modules: 'commonjs', }, @@ -32,7 +32,7 @@ module.exports = { ], }, test: { - presets: ['@babel/env', ...sharedPresets], + presets: ['@babel/preset-env', ...sharedPresets], }, }, }; diff --git a/package-lock.json b/package-lock.json index 038d3f9..37bb179 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,19 +13,18 @@ "@babel/core": "^7.17.9", "@babel/preset-env": "^7.16.11", "@babel/preset-typescript": "^7.16.7", - "@babel/register": "^7.17.7", "@commitlint/cli": "^16.2.3", "@commitlint/config-conventional": "^16.2.1", "@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-node-resolve": "^13.2.1", "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", + "@tsconfig/node12": "^1.0.9", "@types/estree": "^0.0.51", "@types/jest": "^27.4.1", - "@typescript-eslint/eslint-plugin": "^5.17.0", - "@typescript-eslint/parser": "^5.17.0", + "@typescript-eslint/eslint-plugin": "^5.20.0", + "@typescript-eslint/parser": "^5.20.0", "babel-loader": "^8.2.4", - "codecov": "^3.6.5", "commitizen": "^4.2.4", "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.3.0", @@ -35,7 +34,7 @@ "eslint-plugin-prettier": "^4.0.0", "husky": "^7.0.4", "jest": "^27.5.1", - "moment": "^2.29.2", + "moment": "^2.29.3", "moment-timezone": "^0.5.34", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", @@ -44,7 +43,7 @@ "rollup": "^2.70.2", "rollup-plugin-terser": "^7.0.2", "semantic-release": "^19.0.2", - "ts-jest": "^27.1.3", + "ts-jest": "^27.1.4", "typescript": "^4.6.3" } }, @@ -1664,25 +1663,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/register": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", - "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/runtime": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", @@ -4688,15 +4668,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true, - "engines": { - "node": ">=0.6.10" - } - }, "node_modules/argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", @@ -5481,20 +5452,6 @@ "node": ">=8" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -5505,26 +5462,6 @@ "node": ">= 0.12.0" } }, - "node_modules/codecov": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz", - "integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==", - "deprecated": "https://about.codecov.io/blog/codecov-uploader-deprecation-plan/", - "dev": true, - "dependencies": { - "argv": "0.0.2", - "ignore-walk": "3.0.4", - "js-yaml": "3.14.1", - "teeny-request": "7.1.1", - "urlgrey": "1.0.0" - }, - "bin": { - "codecov": "bin/codecov" - }, - "engines": { - "node": ">=4.0" - } - }, "node_modules/collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -6988,21 +6925,6 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "dev": true, - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, "node_modules/fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -7057,20 +6979,6 @@ "node": ">=8" } }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/find-node-modules": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.2.tgz", @@ -7666,15 +7574,6 @@ "node": ">= 4" } }, - "node_modules/ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4" - } - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -8089,18 +7988,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -8204,15 +8091,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/issue-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", @@ -10868,9 +10746,9 @@ } }, "node_modules/moment": { - "version": "2.29.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", "dev": true, "engines": { "node": "*" @@ -13949,79 +13827,6 @@ "node": ">=4" } }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/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, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -15109,18 +14914,6 @@ "randombytes": "^2.1.0" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -15321,15 +15114,6 @@ "readable-stream": "^2.0.2" } }, - "node_modules/stream-events": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", - "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", - "dev": true, - "dependencies": { - "stubs": "^3.0.0" - } - }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -15480,12 +15264,6 @@ "node": ">=8" } }, - "node_modules/stubs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", - "dev": true - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -15548,22 +15326,6 @@ "node": ">=6" } }, - "node_modules/teeny-request": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz", - "integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==", - "dev": true, - "dependencies": { - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", - "stream-events": "^1.0.5", - "uuid": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -16238,30 +16000,12 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true }, - "node_modules/urlgrey": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz", - "integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==", - "dev": true, - "dependencies": { - "fast-url-parser": "^1.1.3" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", @@ -17869,19 +17613,6 @@ "@babel/plugin-transform-typescript": "^7.16.7" } }, - "@babel/register": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", - "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - } - }, "@babel/runtime": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", @@ -20231,12 +19962,6 @@ "sprintf-js": "~1.0.2" } }, - "argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true - }, "argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", @@ -20824,36 +20549,12 @@ } } }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, - "codecov": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz", - "integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==", - "dev": true, - "requires": { - "argv": "0.0.2", - "ignore-walk": "3.0.4", - "js-yaml": "3.14.1", - "teeny-request": "7.1.1", - "urlgrey": "1.0.0" - } - }, "collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -21951,23 +21652,6 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "dev": true, - "requires": { - "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, "fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -22013,17 +21697,6 @@ "to-regex-range": "^5.0.1" } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, "find-node-modules": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.2.tgz", @@ -22480,15 +22153,6 @@ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -22780,15 +22444,6 @@ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -22865,12 +22520,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "issue-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", @@ -24850,9 +24499,9 @@ "dev": true }, "moment": { - "version": "2.29.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", "dev": true }, "moment-timezone": { @@ -27030,60 +26679,6 @@ } } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "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" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -27891,15 +27486,6 @@ "randombytes": "^2.1.0" } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -28076,15 +27662,6 @@ "readable-stream": "^2.0.2" } }, - "stream-events": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", - "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", - "dev": true, - "requires": { - "stubs": "^3.0.0" - } - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -28198,12 +27775,6 @@ "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true }, - "stubs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", - "dev": true - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -28253,19 +27824,6 @@ "dev": true, "peer": true }, - "teeny-request": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz", - "integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==", - "dev": true, - "requires": { - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", - "stream-events": "^1.0.5", - "uuid": "^8.0.0" - } - }, "temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -28731,27 +28289,12 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true }, - "urlgrey": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz", - "integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==", - "dev": true, - "requires": { - "fast-url-parser": "^1.1.3" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", diff --git a/package.json b/package.json index 65ee02f..dcd266a 100644 --- a/package.json +++ b/package.json @@ -4,16 +4,17 @@ "description": "High precision Islamic prayer time library", "main": "lib/cjs/Adhan.js", "module": "lib/esm/Adhan.js", - "types": "Adhan.d.ts", + "types": "lib/types/Adhan.d.ts", "scripts": { "clean": "rimraf lib", "test": "run-s -l test:*", "test:unit": "jest", "test:audit": "npm audit --omit=dev --audit-level=high", "build": "npm-run-all -l clean -p build:*", - "build:esm": "cross-env BABEL_ENV=esmUnbundled babel src --extensions '.js' --out-dir 'lib/esm' --source-maps", - "build:cjs": "cross-env BABEL_ENV=cjs babel src --extensions '.js' --out-dir 'lib/cjs' --source-maps", + "build:esm": "cross-env BABEL_ENV=esmUnbundled babel src --extensions '.ts' --out-dir 'lib/esm' --source-maps", + "build:cjs": "cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'lib/cjs' --source-maps", "build:bundles": "cross-env BABEL_ENV=esmBundled rollup -c", + "build:types": "tsc --emitDeclarationOnly", "lint": "run-p -l lint:*", "lint:eslint": "eslint --max-warnings=0 .", "lint:tsc": "tsc --noEmit", @@ -46,19 +47,18 @@ "@babel/core": "^7.17.9", "@babel/preset-env": "^7.16.11", "@babel/preset-typescript": "^7.16.7", - "@babel/register": "^7.17.7", "@commitlint/cli": "^16.2.3", "@commitlint/config-conventional": "^16.2.1", "@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-node-resolve": "^13.2.1", "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", + "@tsconfig/node12": "^1.0.9", "@types/estree": "^0.0.51", "@types/jest": "^27.4.1", - "@typescript-eslint/eslint-plugin": "^5.17.0", - "@typescript-eslint/parser": "^5.17.0", + "@typescript-eslint/eslint-plugin": "^5.20.0", + "@typescript-eslint/parser": "^5.20.0", "babel-loader": "^8.2.4", - "codecov": "^3.6.5", "commitizen": "^4.2.4", "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.3.0", @@ -68,7 +68,7 @@ "eslint-plugin-prettier": "^4.0.0", "husky": "^7.0.4", "jest": "^27.5.1", - "moment": "^2.29.2", + "moment": "^2.29.3", "moment-timezone": "^0.5.34", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", @@ -77,7 +77,7 @@ "rollup": "^2.70.2", "rollup-plugin-terser": "^7.0.2", "semantic-release": "^19.0.2", - "ts-jest": "^27.1.3", + "ts-jest": "^27.1.4", "typescript": "^4.6.3" }, "config": { diff --git a/rollup.config.js b/rollup.config.js index 54c1a38..fda483b 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -2,10 +2,10 @@ import babel from '@rollup/plugin-babel'; import resolve from '@rollup/plugin-node-resolve'; import { terser } from 'rollup-plugin-terser'; -const extensions = ['.js']; +const extensions = ['.ts']; export default { - input: 'src/Adhan.js', + input: 'src/Adhan.ts', output: [ { file: 'lib/bundles/bundle.esm.js', @@ -38,7 +38,7 @@ export default { babelHelpers: 'bundled', exclude: './node_modules/**', extensions, - include: ['src/**/*.js'], + include: ['src/**/*.ts'], }), ], }; diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 0000000..5db8c05 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["src/**/*.ts", "test/**/*.ts", "*.js"] +} diff --git a/tsconfig.json b/tsconfig.json index a0bf682..ba9552e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,10 @@ { + "extends": "@tsconfig/node12/tsconfig.json", "compilerOptions": { - "target": "ESNext", - "module": "esnext", "declaration": true, - "declarationDir": "./dist/", - "moduleResolution": "node", - "noEmit": true, - "esModuleInterop": true, + "declarationDir": "lib/types/", "strict": true }, - "include": ["src/**/*", "test/**/*"], - "exclude": ["node_modules", "lib"] + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] } From 4dd75c0da32a4097dd52247acbb46ca21eb2638f Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Tue, 19 Apr 2022 16:19:27 +0000 Subject: [PATCH 13/20] refactor: rollback the adjustements changes to avoid breaking changes --- src/PrayerTimes.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/PrayerTimes.ts b/src/PrayerTimes.ts index dc718e6..3668e51 100644 --- a/src/PrayerTimes.ts +++ b/src/PrayerTimes.ts @@ -186,23 +186,23 @@ export default class PrayerTimes { } const fajrAdjustment = - calculationParameters.adjustments.fajr + - calculationParameters.methodAdjustments.fajr; + (calculationParameters.adjustments.fajr || 0) + + (calculationParameters.methodAdjustments.fajr || 0); const sunriseAdjustment = - calculationParameters.adjustments.sunrise + - calculationParameters.methodAdjustments.sunrise; + (calculationParameters.adjustments.sunrise || 0) + + (calculationParameters.methodAdjustments.sunrise || 0); const dhuhrAdjustment = - calculationParameters.adjustments.dhuhr + - calculationParameters.methodAdjustments.dhuhr; + (calculationParameters.adjustments.dhuhr || 0) + + (calculationParameters.methodAdjustments.dhuhr || 0); const asrAdjustment = - calculationParameters.adjustments.asr + - calculationParameters.methodAdjustments.asr; + (calculationParameters.adjustments.asr || 0) + + (calculationParameters.methodAdjustments.asr || 0); const maghribAdjustment = - calculationParameters.adjustments.maghrib + - calculationParameters.methodAdjustments.maghrib; + (calculationParameters.adjustments.maghrib || 0) + + (calculationParameters.methodAdjustments.maghrib || 0); const ishaAdjustment = - calculationParameters.adjustments.isha + - calculationParameters.methodAdjustments.isha; + (calculationParameters.adjustments.isha || 0) + + (calculationParameters.methodAdjustments.isha || 0); this.fajr = roundedMinute( dateByAddingMinutes(fajrTime, fajrAdjustment), From e81b8c4ad0c2e806ec92aeb740db492195878416 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Tue, 19 Apr 2022 16:23:39 +0000 Subject: [PATCH 14/20] refactor: remove declaration file --- .eslintignore | 1 - Adhan.d.ts | 190 -------------------------------------------------- 2 files changed, 191 deletions(-) delete mode 100644 Adhan.d.ts diff --git a/.eslintignore b/.eslintignore index c9ec409..5dc8167 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,6 +1,5 @@ /coverage /lib /Shared -/Adhan.d.ts /.eslintrc.js \ No newline at end of file diff --git a/Adhan.d.ts b/Adhan.d.ts deleted file mode 100644 index 240f7cd..0000000 --- a/Adhan.d.ts +++ /dev/null @@ -1,190 +0,0 @@ -export as namespace adhan; - -export class PrayerTimes { - constructor( - coordinates: Coordinates, - date: Date, - params: CalculationParameters, - ); - - fajr: Date; - sunrise: Date; - dhuhr: Date; - asr: Date; - maghrib: Date; - isha: Date; - - timeForPrayer(prayer: Prayer): Date; - currentPrayer(date?: Date): Prayer; - nextPrayer(date?: Date): Prayer; -} - -export class CalculationParameters { - constructor( - methodName: string | undefined | null, - fajrAngle: number, - ishaAngle: number, - ishaInterval?: number, - maghribAngle?: number, - ); - - /** - * Name of the method, can be used to apply special behavior in calculations. - */ - readonly method: string; - - /** - * Angle of the sun below the horizon used for calculating Fajr. - */ - fajrAngle: number; - - /** - * Angle of the sun below the horizon used for calculating Isha. - */ - ishaAngle: number; - - /** - * Minutes after Maghrib to determine time for Isha, - * if this value is greater than 0 then ishaAngle is not used. - */ - ishaInterval: number; - - /** - * Angle of the sun below the horizon used for calculating Maghrib. - * Only used by the Tehran method to account for lightness in the sky. - */ - maghribAngle: number; - - /** - * Madhab to determine how Asr is calculated. - */ - madhab: Madhab; - - /** - * Rule to determine the earliest time for Fajr and latest time for Isha - * needed for high latitude locations where Fajr and Isha may not truly exist - * or may present a hardship unless bound to a reasonable time. - */ - highLatitudeRule: HighLatitudeRule; - - /** - * Manual adjustments (in minutes) to be added to each prayer time. - */ - adjustments: PrayerAdjustments; - - /** - * Rule to determine how to resolve prayer times inside the Polar Circle - * where daylight or night may persist for more than 24 hours depending - * on the season. - */ - polarCircleResolution: PolarCircleResolution; - - /** - * How seconds are rounded for prayer times. - */ - rounding: Rounding; - - /** - * Used by the MoonsightingCommittee method to determine how to calculate Isha - */ - shafaq: Shafaq; -} - -export interface PrayerAdjustments { - fajr: number; - sunrise: number; - dhuhr: number; - asr: number; - maghrib: number; - isha: number; -} - -export namespace CalculationMethod { - export function MuslimWorldLeague(): CalculationParameters; - export function Egyptian(): CalculationParameters; - export function Karachi(): CalculationParameters; - export function UmmAlQura(): CalculationParameters; - export function Dubai(): CalculationParameters; - export function MoonsightingCommittee(): CalculationParameters; - export function NorthAmerica(): CalculationParameters; - export function Kuwait(): CalculationParameters; - export function Qatar(): CalculationParameters; - export function Singapore(): CalculationParameters; - export function Tehran(): CalculationParameters; - export function Turkey(): CalculationParameters; - export function Other(): CalculationParameters; -} - -export class Coordinates { - constructor(latitude: number, longitude: number); - longitude: number; - latitude: number; -} - -export class SunnahTimes { - constructor(prayerTimes: PrayerTimes); - - middleOfTheNight: Date; - lastThirdOfTheNight: Date; -} - -export enum Madhab { - Shafi, - Hanafi, -} - -export enum Rounding { - Nearest, - Up, - None, -} - -export enum Prayer { - Fajr, - Sunrise, - Dhuhr, - Asr, - Maghrib, - Isha, - None, -} - -export enum HighLatitudeRule { - MiddleOfTheNight, - SeventhOfTheNight, - TwilightAngle, -} - -export namespace HighLatitudeRule { - export function recommended(coordinates: Coordinates): HighLatitudeRule; -} - -/** - * Shafaq is the twilight in the sky. Different madhabs define the appearance of - * twilight differently. These values are used by the MoonsightingComittee method - * for the different ways to calculate Isha. - */ -export enum Shafaq { - /** - * General is a combination of Ahmer and Abyad. - */ - General, - - /** - * Ahmer means the twilight is the red glow in the sky. Used by the Shafi, Maliki, and Hanbali madhabs. - */ - Ahmer, - - /** - * Abyad means the twilight is the white glow in the sky. Used by the Hanafi madhab. - */ - Abyad, -} - -export enum PolarCircleResolution { - AqrabBalad, - AqrabYaum, - Unresolved, -} - -export function Qibla(coordinates: Coordinates): number; From 5c8b11ba0ec60a6dc6a5e01f193aff9f32ef7426 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Tue, 19 Apr 2022 17:32:59 +0000 Subject: [PATCH 15/20] refactor: types improvements --- src/Astronomical.ts | 2 +- src/CalculationParameters.ts | 2 +- src/DateUtils.ts | 2 +- src/Madhab.ts | 2 +- src/PolarCircleResolution.ts | 9 +++------ src/PrayerTimes.ts | 2 +- src/{type-utils.ts => TypeUtils.ts} | 0 test/adhan.test.ts | 2 +- test/times.test.ts | 3 --- tsconfig.json | 2 +- 10 files changed, 10 insertions(+), 16 deletions(-) rename src/{type-utils.ts => TypeUtils.ts} (100%) diff --git a/src/Astronomical.ts b/src/Astronomical.ts index 6ae2071..32f1610 100644 --- a/src/Astronomical.ts +++ b/src/Astronomical.ts @@ -9,7 +9,7 @@ import { unwindAngle, } from './MathUtils'; import { Shafaq } from './Shafaq'; -import { ValueOf } from './type-utils'; +import { ValueOf } from './TypeUtils'; const Astronomical = { /* The geometric mean longitude of the sun in degrees. */ diff --git a/src/CalculationParameters.ts b/src/CalculationParameters.ts index 8c35cf0..49d21d1 100644 --- a/src/CalculationParameters.ts +++ b/src/CalculationParameters.ts @@ -4,7 +4,7 @@ import HighLatitudeRule from './HighLatitudeRule'; import { PolarCircleResolution } from './PolarCircleResolution'; import { Rounding } from './Rounding'; import { Shafaq } from './Shafaq'; -import { ValueOf } from './type-utils'; +import { ValueOf } from './TypeUtils'; export default class CalculationParameters { // Madhab to determine how Asr is calculated. diff --git a/src/DateUtils.ts b/src/DateUtils.ts index 7683606..48bbfa4 100644 --- a/src/DateUtils.ts +++ b/src/DateUtils.ts @@ -1,6 +1,6 @@ import Astronomical from './Astronomical'; import { Rounding } from './Rounding'; -import { ValueOf } from './type-utils'; +import { ValueOf } from './TypeUtils'; export function dateByAddingDays(date: Date, days: number) { const year = date.getFullYear(); diff --git a/src/Madhab.ts b/src/Madhab.ts index aeb4bb0..f2ab439 100644 --- a/src/Madhab.ts +++ b/src/Madhab.ts @@ -1,4 +1,4 @@ -import { ValueOf } from './type-utils'; +import { ValueOf } from './TypeUtils'; export const Madhab = { Shafi: 'shafi', diff --git a/src/PolarCircleResolution.ts b/src/PolarCircleResolution.ts index 23e37b7..2a704f4 100644 --- a/src/PolarCircleResolution.ts +++ b/src/PolarCircleResolution.ts @@ -1,7 +1,7 @@ import Coordinates from './Coordinates'; import SolarTime from './SolarTime'; import { dateByAddingDays } from './DateUtils'; -import { ValueOf } from './type-utils'; +import { ValueOf } from './TypeUtils'; export const PolarCircleResolution = { AqrabBalad: 'AqrabBalad', @@ -61,10 +61,7 @@ const aqrabBaladResolver = ( ): { date: Date; tomorrow: Date; - coordinates: { - latitude: number; - longitude: number; - }; + coordinates: Coordinates; solarTime: SolarTime; tomorrowSolarTime: SolarTime; } | null => { @@ -87,7 +84,7 @@ const aqrabBaladResolver = ( return { date, tomorrow, - coordinates: { latitude, longitude: coordinates.longitude }, + coordinates: new Coordinates(latitude, coordinates.longitude), solarTime, tomorrowSolarTime, }; diff --git a/src/PrayerTimes.ts b/src/PrayerTimes.ts index 3668e51..c36eeec 100644 --- a/src/PrayerTimes.ts +++ b/src/PrayerTimes.ts @@ -17,7 +17,7 @@ import { PolarCircleResolution, polarCircleResolvedValues, } from './PolarCircleResolution'; -import { ValueOf } from './type-utils'; +import { ValueOf } from './TypeUtils'; export default class PrayerTimes { fajr: Date; diff --git a/src/type-utils.ts b/src/TypeUtils.ts similarity index 100% rename from src/type-utils.ts rename to src/TypeUtils.ts diff --git a/test/adhan.test.ts b/test/adhan.test.ts index e707cbb..ee2a0bf 100644 --- a/test/adhan.test.ts +++ b/test/adhan.test.ts @@ -5,7 +5,7 @@ import { dateByAddingSeconds, isValidDate } from '../src/DateUtils'; import { shadowLength } from '../src/Madhab'; import * as polarCircleResolver from '../src/PolarCircleResolution'; import { Shafaq } from '../src/Shafaq'; -import { ValueOf } from '../src/type-utils'; +import { ValueOf } from '../src/TypeUtils'; import HighLatitudeRule from '../src/HighLatitudeRule'; test('Verifying the night portion defined by the high latitude rule', () => { diff --git a/test/times.test.ts b/test/times.test.ts index 78a4915..c442ea1 100644 --- a/test/times.test.ts +++ b/test/times.test.ts @@ -5,9 +5,6 @@ import moment from 'moment-timezone'; import CalculationParameters from '../src/CalculationParameters'; function parseParams(data: { - latitude: number; - longitude: number; - timezone: string; method: string; madhab: string; highLatitudeRule: string; diff --git a/tsconfig.json b/tsconfig.json index ba9552e..d8b4f02 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,6 @@ "declarationDir": "lib/types/", "strict": true }, - "include": ["src/**/*.ts"], + "include": ["src/**/*.ts", "test/**/*.ts"], "exclude": ["node_modules"] } From a2211f00b8b62159a0dac5a4c0de9961ed90bcb8 Mon Sep 17 00:00:00 2001 From: Abdullah Hilson Date: Tue, 19 Apr 2022 22:18:26 +0000 Subject: [PATCH 16/20] refactor: remove tsconfig for eslint --- .eslintignore | 2 -- .eslintrc.js | 16 +++++++++++++--- tsconfig.eslint.json | 4 ---- 3 files changed, 13 insertions(+), 9 deletions(-) delete mode 100644 tsconfig.eslint.json diff --git a/.eslintignore b/.eslintignore index 5dc8167..6d3b431 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,3 @@ /coverage /lib /Shared - -/.eslintrc.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 0270c1f..32ef53a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,11 +1,9 @@ module.exports = { - root: true, - parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 2018, - project: ['./tsconfig.eslint.json'], + project: ['./tsconfig.json'], sourceType: 'module', }, @@ -17,6 +15,18 @@ module.exports = { 'plugin:prettier/recommended', ], + overrides: [ + { + files: ['*.js'], + parser: null, + parserOptions: { project: null }, + rules: { + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-unnecessary-condition': 'off', + }, + }, + ], + env: { node: true, browser: true, diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json deleted file mode 100644 index 5db8c05..0000000 --- a/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["src/**/*.ts", "test/**/*.ts", "*.js"] -} From 2223ba55ac26ad4e5280b45cfd564a9597140c70 Mon Sep 17 00:00:00 2001 From: Matthew Crenshaw Date: Wed, 20 Apr 2022 10:25:46 -0400 Subject: [PATCH 17/20] build: remove unused dependencies --- package-lock.json | 663 ++++++++++++++++++---------------------------- package.json | 1 - 2 files changed, 260 insertions(+), 404 deletions(-) diff --git a/package-lock.json b/package-lock.json index 37bb179..a39968f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,6 @@ "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", "@tsconfig/node12": "^1.0.9", - "@types/estree": "^0.0.51", "@types/jest": "^27.4.1", "@typescript-eslint/eslint-plugin": "^5.20.0", "@typescript-eslint/parser": "^5.20.0", @@ -1785,15 +1784,6 @@ "node": ">=8" } }, - "node_modules/@commitlint/cli/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/@commitlint/cli/node_modules/yargs": { "version": "17.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", @@ -2032,9 +2022,9 @@ } }, "node_modules/@commitlint/load/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2125,9 +2115,9 @@ } }, "node_modules/@commitlint/read/node_modules/fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -3288,15 +3278,6 @@ "universal-user-agent": "^6.0.0" } }, - "node_modules/@octokit/endpoint/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@octokit/graphql": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", @@ -3373,15 +3354,6 @@ "once": "^1.4.0" } }, - "node_modules/@octokit/request/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@octokit/rest": { "version": "18.12.0", "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", @@ -3629,9 +3601,9 @@ } }, "node_modules/@semantic-release/github/node_modules/fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -3707,9 +3679,9 @@ } }, "node_modules/@semantic-release/npm/node_modules/fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -3961,7 +3933,8 @@ "version": "0.0.51", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@types/graceful-fs": { "version": "4.1.5", @@ -4850,19 +4823,6 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/babel-loader/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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-loader/node_modules/loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", @@ -4877,18 +4837,6 @@ "node": ">=8.9.0" } }, - "node_modules/babel-loader/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, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-loader/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -4904,45 +4852,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-loader/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, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/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, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -5439,14 +5348,14 @@ } }, "node_modules/cliui/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -6580,9 +6489,9 @@ "dev": true }, "node_modules/eslint/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -6638,9 +6547,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", - "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -6749,9 +6658,9 @@ } }, "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -6770,9 +6679,9 @@ } }, "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -7630,70 +7539,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local/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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/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, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -7851,9 +7696,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -7988,6 +7833,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -10705,9 +10559,9 @@ } }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -13827,6 +13681,70 @@ "node": ">=4" } }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/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, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -14799,9 +14717,9 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -14858,9 +14776,9 @@ } }, "node_modules/semantic-release/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -14942,9 +14860,9 @@ "dev": true }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "node_modules/signale": { @@ -15037,9 +14955,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, "node_modules/split": { @@ -16330,14 +16248,14 @@ } }, "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" @@ -16403,6 +16321,15 @@ "node": ">=0.4" } }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -16437,9 +16364,9 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" @@ -16455,28 +16382,19 @@ } }, "node_modules/yargs/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/yargs/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -17708,12 +17626,6 @@ "strip-ansi": "^6.0.1" } }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, "yargs": { "version": "17.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", @@ -17895,9 +17807,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -17966,9 +17878,9 @@ }, "dependencies": { "fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -18847,14 +18759,6 @@ "@octokit/types": "^6.0.3", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - } } }, "@octokit/graphql": { @@ -18912,14 +18816,6 @@ "is-plain-object": "^5.0.0", "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - } } }, "@octokit/request-error": { @@ -19114,9 +19010,9 @@ "dev": true }, "fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -19176,9 +19072,9 @@ } }, "fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -19394,7 +19290,8 @@ "version": "0.0.51", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true + "dev": true, + "peer": true }, "@types/graceful-fs": { "version": "4.1.5", @@ -20094,16 +19991,6 @@ "pkg-dir": "^4.1.0" } }, - "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", - "path-exists": "^4.0.0" - } - }, "loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", @@ -20115,15 +20002,6 @@ "json5": "^2.1.2" } }, - "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" - } - }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -20132,33 +20010,6 @@ "requires": { "semver": "^6.0.0" } - }, - "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" - } - }, - "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" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } } } }, @@ -20537,14 +20388,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } } } @@ -21332,9 +21183,9 @@ "dev": true }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -21372,9 +21223,9 @@ } }, "globals": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", - "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -21511,9 +21362,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -21528,9 +21379,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -22185,54 +22036,6 @@ "requires": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" - }, - "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", - "path-exists": "^4.0.0" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } } }, "imurmurhash": { @@ -22355,9 +22158,9 @@ "dev": true }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "requires": { "has": "^1.0.3" @@ -22444,6 +22247,12 @@ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, "is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -24467,9 +24276,9 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -26679,6 +26488,54 @@ } } }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "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", + "path-exists": "^4.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -27408,9 +27265,9 @@ }, "dependencies": { "execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -27446,9 +27303,9 @@ "dev": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -27508,9 +27365,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "signale": { @@ -27593,9 +27450,9 @@ } }, "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, "split": { @@ -28547,14 +28404,14 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } } } @@ -28602,6 +28459,12 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -28636,28 +28499,22 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true } } }, "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yn": { diff --git a/package.json b/package.json index dcd266a..7bc92fe 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,6 @@ "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", "@tsconfig/node12": "^1.0.9", - "@types/estree": "^0.0.51", "@types/jest": "^27.4.1", "@typescript-eslint/eslint-plugin": "^5.20.0", "@typescript-eslint/parser": "^5.20.0", From b19acc3fbef05b5c739ae7b85b60fbc893e8ced8 Mon Sep 17 00:00:00 2001 From: Matthew Crenshaw Date: Tue, 19 Apr 2022 17:15:33 -0400 Subject: [PATCH 18/20] docs(example.html): use new bundled js umd file --- example.html | 81 ++++++++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/example.html b/example.html index f4e417b..ed083bd 100644 --- a/example.html +++ b/example.html @@ -1,57 +1,56 @@ - - + + - - + + +
- + From cf864682f2c7d64d8eabd72b883c21da77e942b6 Mon Sep 17 00:00:00 2001 From: Matthew Crenshaw Date: Mon, 25 Apr 2022 13:58:10 -0400 Subject: [PATCH 19/20] ci(workflows): improve release action, update outdated actions --- .github/workflows/codeql-analysis.yml | 14 ++-- .github/workflows/node.js.yml | 100 -------------------------- .github/workflows/release.yml | 23 ++++++ .github/workflows/stale.yml | 16 ++--- .github/workflows/test.yml | 54 ++++++++++++++ .releaserc.json | 30 +++++--- package-lock.json | 3 + package.json | 9 ++- 8 files changed, 121 insertions(+), 128 deletions(-) delete mode 100644 .github/workflows/node.js.yml create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 34d8455..2f73b7c 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -3,7 +3,7 @@ # # You may wish to alter this file to override the set of languages analyzed, # or to provide custom queries or build logic. -name: "CodeQL" +name: 'CodeQL' on: push: @@ -12,7 +12,7 @@ on: # The branches below must be a subset of the branches above branches: [master] schedule: - - cron: "0 5 * * 2" + - cron: '0 5 * * 2' jobs: analyze: @@ -24,17 +24,17 @@ jobs: matrix: # Override automatic language detection by changing the below list # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ["javascript"] + language: ['javascript'] # Learn more... # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -45,7 +45,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v2 # โ„น๏ธ Command-line programs to run using the OS shell. # ๐Ÿ“š https://git.io/JvXDl @@ -59,4 +59,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml deleted file mode 100644 index ada4a69..0000000 --- a/.github/workflows/node.js.yml +++ /dev/null @@ -1,100 +0,0 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Node.js CI - -on: - push: - branches: [master] - pull_request: - branches: [master, develop] - -jobs: - # building job - build: - runs-on: ubuntu-latest - name: Build - - strategy: - matrix: - node-version: [12.x, 14.x, 16.x, 17.x] - - steps: - - uses: actions/checkout@v2 - - name: Building on Node.js ${{ matrix.node-version }} ๐Ÿ› ๏ธ - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: npm install -g npm@7 # update to npm 7 - - run: npm ci # equivalent of npm ci - - run: npm run build - - # testing job - test: - runs-on: ubuntu-latest - name: Test - - strategy: - matrix: - node-version: [12.x, 14.x, 16.x, 17.x] - steps: - - uses: actions/checkout@v2 - - name: Testing on node ${{ matrix.node-version }} ๐Ÿงช - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: npm install -g npm@7 # update to npm 7 - - run: npm ci - - run: npm run lint - - run: npm test - - # coverage uploading job - coverage: - runs-on: ubuntu-latest - name: Coverage - needs: Test - - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - # latest nodejs LTS - node-version: 16.x - - run: npm ci - - run: npm run lint - - run: npm test - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: ./coverage - - # release to npm job - release: - runs-on: ubuntu-latest - name: Release - needs: Test - - # release only when pushed to master - if: github.event_name == 'push' - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - - uses: actions/checkout@v2 - with: - token: ${{ secrets.GIT_ACCESS_TOKEN }} - - uses: actions/setup-node@v1 - with: - # latest nodejs LTS - node-version: 16.x - - run: npm ci - - name: Preparing a release for npm and github ๐Ÿš€ - # more about this action here: https://github.com/cycjimmy/semantic-release-action - uses: cycjimmy/semantic-release-action@v2 - with: - extra_plugins: | - @semantic-release/changelog - @semantic-release/git - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ef83e29 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,23 @@ +name: Release +'on': + push: + branches: + - master + - next + - beta + - '*.x' +jobs: + release: + name: release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + cache: npm + node-version: 16 + - run: npm ci + - run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 3404517..e04f391 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -2,18 +2,14 @@ name: Mark stale issues and pull requests on: schedule: - - cron: "30 1 * * *" + - cron: '30 1 * * *' jobs: stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'Stale issue message' - stale-pr-message: 'Stale pull request message' - stale-issue-label: 'no-issue-activity' - stale-pr-label: 'no-pr-activity' + - uses: actions/stale@v4 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-label: 'no-issue-activity' + stale-pr-label: 'no-pr-activity' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..a45c4e2 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,54 @@ +name: Test +'on': + push: + branches: + - master + - renovate/** + pull_request: + types: + - opened + - synchronize +jobs: + test_matrix: + strategy: + matrix: + node-version: [12, 14, 16, 17] + os: + - ubuntu-latest + runs-on: '${{ matrix.os }}' + steps: + - uses: actions/checkout@v3 + - name: 'Use Node.js ${{ matrix.node-version }}' + uses: actions/setup-node@v3 + with: + node-version: '${{ matrix.node-version }}' + cache: npm + - run: npm ci + - run: npm run test + coverage: + runs-on: ubuntu-latest + needs: test_matrix + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + cache: npm + - run: npm ci + - run: npm run lint + - run: npm run test + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v2 + with: + directory: ./coverage + build: + runs-on: ubuntu-latest + needs: test_matrix + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + cache: npm + - run: npm ci + - run: npm run build diff --git a/.releaserc.json b/.releaserc.json index 14c3269..1fe6875 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -1,11 +1,15 @@ { - "branches": [ "master", "next", "next-major", "build", + "branches": [ + "master", + "next", + "next-major", + "build", { - "name": "beta", + "name": "beta", "prerelease": true - }, + }, { - "name": "alpha", + "name": "alpha", "prerelease": true } ], @@ -13,8 +17,18 @@ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/changelog", - "@semantic-release/github", - "@semantic-release/npm", - "@semantic-release/git" + [ + "@semantic-release/npm", + { + "tarballDir": "dist" + } + ], + "@semantic-release/git", + [ + "@semantic-release/github", + { + "assets": "dist/*.tgz" + } ] -} \ No newline at end of file + ] +} diff --git a/package-lock.json b/package-lock.json index a39968f..1335d67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,10 @@ "@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-node-resolve": "^13.2.1", "@semantic-release/changelog": "^6.0.1", + "@semantic-release/commit-analyzer": "^9.0.2", "@semantic-release/git": "^10.0.1", + "@semantic-release/github": "^8.0.4", + "@semantic-release/release-notes-generator": "^10.0.3", "@tsconfig/node12": "^1.0.9", "@types/jest": "^27.4.1", "@typescript-eslint/eslint-plugin": "^5.20.0", diff --git a/package.json b/package.json index 7bc92fe..58a9d28 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,9 @@ { "name": "adhan", - "version": "4.3.2", "description": "High precision Islamic prayer time library", + "version": "4.3.2", + "author": "Ameir Al-Zoubi ", + "license": "MIT", "main": "lib/cjs/Adhan.js", "module": "lib/esm/Adhan.js", "types": "lib/types/Adhan.d.ts", @@ -40,8 +42,6 @@ "salaat", "namaz" ], - "author": "Ameir Al-Zoubi ", - "license": "MIT", "devDependencies": { "@babel/cli": "^7.17.6", "@babel/core": "^7.17.9", @@ -52,7 +52,10 @@ "@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-node-resolve": "^13.2.1", "@semantic-release/changelog": "^6.0.1", + "@semantic-release/commit-analyzer": "^9.0.2", "@semantic-release/git": "^10.0.1", + "@semantic-release/github": "^8.0.4", + "@semantic-release/release-notes-generator": "^10.0.3", "@tsconfig/node12": "^1.0.9", "@types/jest": "^27.4.1", "@typescript-eslint/eslint-plugin": "^5.20.0", From 05a0c34b579cec9e09376c12fd253b2109e292b5 Mon Sep 17 00:00:00 2001 From: Javad Mnjd Date: Wed, 11 May 2022 19:15:14 +0430 Subject: [PATCH 20/20] feat(prayertimes): expose sunset time closes #105 --- src/PrayerTimes.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/PrayerTimes.ts b/src/PrayerTimes.ts index c36eeec..c13d05d 100644 --- a/src/PrayerTimes.ts +++ b/src/PrayerTimes.ts @@ -24,6 +24,7 @@ export default class PrayerTimes { sunrise: Date; dhuhr: Date; asr: Date; + sunset: Date; maghrib: Date; isha: Date; @@ -39,6 +40,7 @@ export default class PrayerTimes { let sunriseTime: Date; let dhuhrTime: Date; let asrTime: Date; + let sunsetTime: Date; let maghribTime: Date; let ishaTime: Date; @@ -54,7 +56,7 @@ export default class PrayerTimes { date.getMonth(), date.getDate(), ); - let sunsetTime = new TimeComponents(solarTime.sunset).utcDate( + sunsetTime = new TimeComponents(solarTime.sunset).utcDate( date.getFullYear(), date.getMonth(), date.getDate(), @@ -220,6 +222,7 @@ export default class PrayerTimes { dateByAddingMinutes(asrTime, asrAdjustment), calculationParameters.rounding, ); + this.sunset = roundedMinute(sunsetTime, calculationParameters.rounding); this.maghrib = roundedMinute( dateByAddingMinutes(maghribTime, maghribAdjustment), calculationParameters.rounding,