Rework our version matching algorithm (#217)

f6a73a7 · Paulo F. Oliveira · 2023-07-21 19:56

15 files +1395 -3668
Message
{commit_body(@commit)}

Files changed

modified .eslintrc.yml
+5 −8
@@ -1,19 +1,16 @@
1 1 ---
2 2 env:
3 3 node: true
4 − es2021: true
4 + es2022: true
5 5 extends:
6 − - airbnb
6 + - eslint:recommended
7 7 parserOptions:
8 − ecmaVersion: 12
8 + ecmaVersion: 2022
9 9 rules:
10 − indent: ["warn", 2]
11 − max-len: ["warn", 100]
12 − no-undef: "error"
13 − no-unused-vars: ["error", {"varsIgnorePattern": "^_"}]
10 + indent: [warn, 2]
11 + max-len: [warn, 100]
14 12 no-use-before-define: 0
15 13 operator-linebreak: 0
16 − require-jsdoc: 0
17 14 semi: 0
18 15
19 16 settings:
modified .github/workflows/action.yml
+6 −13
@@ -6,7 +6,8 @@ on:
6 6 branches:
7 7 - main
8 8 pull_request:
9 − types: [opened, synchronize]
9 + branches:
10 + - main
10 11
11 12 env:
12 13 GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -19,16 +20,8 @@ jobs:
19 20 - uses: actions/checkout@v3
20 21 - uses: actions/setup-node@v3
21 22 with:
22 − node-version: '14'
23 − - run: npm install -g npm
24 − - run: npm install
25 − - run: npm run build
26 − - run: npm run format
27 − - run: npm install -g markdownlint-cli
28 − - run: npm run markdownlint
29 − - run: npm run shellcheck
30 − - run: npm run yamllint
31 − - run: npm run jslint
23 + node-version: '16'
24 + - run: npm run build-dist
32 25 - name: Check if build left artifacts
33 26 run: git diff --exit-code --ignore-space-at-eol
34 27
@@ -39,7 +32,7 @@ jobs:
39 32 - uses: actions/checkout@v3
40 33 - uses: actions/setup-node@v3
41 34 with:
42 − node-version: '14'
35 + node-version: '16'
43 36 - run: npm ci
44 37 - run: npm test
45 38 - name: .tool-versions test
@@ -56,6 +49,6 @@ jobs:
56 49 - uses: actions/checkout@v3
57 50 - uses: actions/setup-node@v3
58 51 with:
59 − node-version: '14'
52 + node-version: '16'
60 53 - run: npm install --production
61 54 - run: npm test
modified .github/workflows/ubuntu.yml
+3 −4
@@ -6,7 +6,8 @@ on:
6 6 branches:
7 7 - main
8 8 pull_request:
9 − types: [opened, synchronize]
9 + branches:
10 + - main
10 11
11 12 jobs:
12 13 integration_test:
@@ -111,12 +112,10 @@ jobs:
111 112 otp-version: '22.3.4.1'
112 113 os: 'ubuntu-20.04'
113 114 version-type: 'strict'
114 − - elixir-version: '1.10.3'
115 − otp-version: '22.3.4.1'
116 − os: 'ubuntu-20.04'
117 115 - elixir-version: 'main'
118 116 otp-version: '23.1'
119 117 os: 'ubuntu-20.04'
118 + version-type: 'strict'
120 119 - elixir-version: 'main'
121 120 otp-version: '25'
122 121 os: 'ubuntu-20.04'
modified .github/workflows/update_3rd_party_licenses.yml
+0 −3
@@ -12,9 +12,6 @@ jobs:
12 12 runs-on: ubuntu-latest
13 13 steps:
14 14 - uses: actions/checkout@v3
15 − - uses: actions/setup-node@v3
16 − with:
17 − node-version: '14'
18 15 - run:
19 16 ./.github/workflows/update_3rd_party_licenses.sh
20 17 env:
modified .github/workflows/windows.yml
+2 −1
@@ -6,7 +6,8 @@ on:
6 6 branches:
7 7 - main
8 8 pull_request:
9 − types: [opened, synchronize]
9 + branches:
10 + - main
10 11
11 12 jobs:
12 13 integration_test:
modified dist/index.js
+179 −96
@@ -6221,15 +6221,18 @@ class Range {
6221 6221 const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
6222 6222 range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
6223 6223 debug('hyphen replace', range)
6224 +
6224 6225 // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
6225 6226 range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
6226 6227 debug('comparator trim', range)
6227 6228
6228 6229 // `~ 1.2.3` => `~1.2.3`
6229 6230 range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
6231 + debug('tilde trim', range)
6230 6232
6231 6233 // `^ 1.2.3` => `^1.2.3`
6232 6234 range = range.replace(re[t.CARETTRIM], caretTrimReplace)
6235 + debug('caret trim', range)
6233 6236
6234 6237 // At this point, the range is completely trimmed and
6235 6238 // ready to be split into comparators.
@@ -7531,6 +7534,10 @@ const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
7531 7534 // Max safe segment length for coercion.
7532 7535 const MAX_SAFE_COMPONENT_LENGTH = 16
7533 7536
7537 +// Max safe length for a build identifier. The max length minus 6 characters for
7538 +// the shortest version with a build 0.0.0+BUILD.
7539 +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6
7540 +
7534 7541 const RELEASE_TYPES = [
7535 7542 'major',
7536 7543 'premajor',
@@ -7544,6 +7551,7 @@ const RELEASE_TYPES = [
7544 7551 module.exports = {
7545 7552 MAX_LENGTH,
7546 7553 MAX_SAFE_COMPONENT_LENGTH,
7554 + MAX_SAFE_BUILD_LENGTH,
7547 7555 MAX_SAFE_INTEGER,
7548 7556 RELEASE_TYPES,
7549 7557 SEMVER_SPEC_VERSION,
@@ -7625,7 +7633,7 @@ module.exports = parseOptions
7625 7633 /***/ 9523:
7626 7634 /***/ ((module, exports, __nccwpck_require__) => {
7627 7635
7628 −const { MAX_SAFE_COMPONENT_LENGTH } = __nccwpck_require__(2293)
7636 +const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH } = __nccwpck_require__(2293)
7629 7637 const debug = __nccwpck_require__(427)
7630 7638 exports = module.exports = {}
7631 7639
@@ -7636,16 +7644,31 @@ const src = exports.src = []
7636 7644 const t = exports.t = {}
7637 7645 let R = 0
7638 7646
7647 +const LETTERDASHNUMBER = '[a-zA-Z0-9-]'
7648 +
7649 +// Replace some greedy regex tokens to prevent regex dos issues. These regex are
7650 +// used internally via the safeRe object since all inputs in this library get
7651 +// normalized first to trim and collapse all extra whitespace. The original
7652 +// regexes are exported for userland consumption and lower level usage. A
7653 +// future breaking change could export the safer regex only with a note that
7654 +// all input should have extra whitespace removed.
7655 +const safeRegexReplacements = [
7656 + ['\\s', 1],
7657 + ['\\d', MAX_SAFE_COMPONENT_LENGTH],
7658 + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],
7659 +]
7660 +
7661 +const makeSafeRegex = (value) => {
7662 + for (const [token, max] of safeRegexReplacements) {
7663 + value = value
7664 + .split(`${token}*`).join(`${token}{0,${max}}`)
7665 + .split(`${token}+`).join(`${token}{1,${max}}`)
7666 + }
7667 + return value
7668 +}
7669 +
7639 7670 const createToken = (name, value, isGlobal) => {
7640 − // Replace all greedy whitespace to prevent regex dos issues. These regex are
7641 − // used internally via the safeRe object since all inputs in this library get
7642 − // normalized first to trim and collapse all extra whitespace. The original
7643 − // regexes are exported for userland consumption and lower level usage. A
7644 − // future breaking change could export the safer regex only with a note that
7645 − // all input should have extra whitespace removed.
7646 − const safe = value
7647 − .split('\\s*').join('\\s{0,1}')
7648 − .split('\\s+').join('\\s')
7671 + const safe = makeSafeRegex(value)
7649 7672 const index = R++
7650 7673 debug(name, index, value)
7651 7674 t[name] = index
@@ -7661,13 +7684,13 @@ const createToken = (name, value, isGlobal) => {
7661 7684 // A single `0`, or a non-zero digit followed by zero or more digits.
7662 7685
7663 7686 createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
7664 −createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
7687 +createToken('NUMERICIDENTIFIERLOOSE', '\\d+')
7665 7688
7666 7689 // ## Non-numeric Identifier
7667 7690 // Zero or more digits, followed by a letter or hyphen, and then zero or
7668 7691 // more letters, digits, or hyphens.
7669 7692
7670 −createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
7693 +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)
7671 7694
7672 7695 // ## Main Version
7673 7696 // Three dot-separated numeric identifiers.
@@ -7702,7 +7725,7 @@ createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
7702 7725 // ## Build Metadata Identifier
7703 7726 // Any combination of digits, letters, or hyphens.
7704 7727
7705 −createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
7728 +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)
7706 7729
7707 7730 // ## Build Metadata
7708 7731 // Plus sign, followed by one or more period-separated build metadata
@@ -10052,15 +10075,16 @@ async function main() {
10052 10075
10053 10076 if (otpSpec !== 'false') {
10054 10077 await installOTP(otpSpec, osVersion, hexMirrors)
10078 +
10055 10079 const elixirInstalled = await maybeInstallElixir(
10056 10080 elixirSpec,
10057 10081 otpSpec,
10058 10082 hexMirrors,
10059 10083 )
10060 −
10061 10084 if (elixirInstalled === true) {
10062 10085 const shouldMixRebar = getInput('install-rebar', false)
10063 10086 await mix(shouldMixRebar, 'rebar', hexMirrors)
10087 +
10064 10088 const shouldMixHex = getInput('install-hex', false)
10065 10089 await mix(shouldMixHex, 'hex', hexMirrors)
10066 10090 }
@@ -10084,7 +10108,6 @@ async function installOTP(otpSpec, osVersion, hexMirrors) {
10084 10108
10085 10109 async function maybeInstallElixir(elixirSpec, otpSpec, hexMirrors) {
10086 10110 let installed = false
10087 −
10088 10111 if (elixirSpec) {
10089 10112 const elixirVersion = await getElixirVersion(
10090 10113 elixirSpec,
@@ -10094,6 +10117,7 @@ async function maybeInstallElixir(elixirSpec, otpSpec, hexMirrors) {
10094 10117 core.startGroup(`Installing Elixir ${elixirVersion}`)
10095 10118 await installer.installElixir(elixirVersion, hexMirrors)
10096 10119 core.setOutput('elixir-version', elixirVersion)
10120 +
10097 10121 const disableProblemMatchers = getInput('disable_problem_matchers', false)
10098 10122 if (disableProblemMatchers === 'false') {
10099 10123 const elixirMatchers = __nccwpck_require__.ab + "elixir-matchers.json"
@@ -10111,6 +10135,7 @@ async function mixWithMirrors(cmd, args, hexMirrors) {
10111 10135 if (hexMirrors.length === 0) {
10112 10136 throw new Error('mix failed with every mirror')
10113 10137 }
10138 +
10114 10139 const [hexMirror, ...hexMirrorsT] = hexMirrors
10115 10140 process.env.HEX_MIRROR = hexMirror
10116 10141 try {
@@ -10120,6 +10145,7 @@ async function mixWithMirrors(cmd, args, hexMirrors) {
10120 10145 `mix failed with mirror ${process.env.HEX_MIRROR} with message ${err.message})`,
10121 10146 )
10122 10147 }
10148 +
10123 10149 return mixWithMirrors(cmd, args, hexMirrorsT)
10124 10150 }
10125 10151
@@ -10135,7 +10161,6 @@ async function mix(shouldMix, what, hexMirrors) {
10135 10161
10136 10162 async function maybeInstallGleam(gleamSpec) {
10137 10163 let installed = false
10138 −
10139 10164 if (gleamSpec) {
10140 10165 const gleamVersion = await getGleamVersion(gleamSpec)
10141 10166 core.startGroup(`Installing Gleam ${gleamVersion}`)
@@ -10153,7 +10178,6 @@ async function maybeInstallGleam(gleamSpec) {
10153 10178 async function maybeInstallRebar3(rebar3Spec) {
10154 10179 let installed = false
10155 10180 let rebar3Version
10156 −
10157 10181 if (rebar3Spec) {
10158 10182 if (rebar3Spec === 'nightly') {
10159 10183 rebar3Version = 'nightly'
@@ -10174,14 +10198,9 @@ async function maybeInstallRebar3(rebar3Spec) {
10174 10198
10175 10199 async function getOTPVersion(otpSpec0, osVersion, hexMirrors) {
10176 10200 const otpVersions = await getOTPVersions(osVersion, hexMirrors)
10177 − let otpSpec = otpSpec0 // might be a branch (?)
10178 − const otpVersion = getVersionFromSpec(
10179 − otpSpec,
10180 − Array.from(otpVersions.keys()).sort(),
10181 − )
10182 − if (isVersion(otpSpec0)) {
10183 − otpSpec = `OTP-${otpSpec0}` // ... it's a version!
10184 − }
10201 + const spec = otpSpec0.replace(/^OTP-/, '')
10202 + const versions = otpVersions
10203 + const otpVersion = getVersionFromSpec(spec, versions)
10185 10204 if (otpVersion === null) {
10186 10205 throw new Error(
10187 10206 `Requested Erlang/OTP version (${otpSpec0}) not found in version list ` +
@@ -10189,20 +10208,18 @@ async function getOTPVersion(otpSpec0, osVersion, hexMirrors) {
10189 10208 )
10190 10209 }
10191 10210
10192 − return otpVersions.get(otpVersion) // from the reference, for download
10211 + return otpVersion // from the reference, for download
10193 10212 }
10194 10213
10195 10214 async function getElixirVersion(exSpec0, otpVersion0, hexMirrors) {
10196 10215 const otpVersion = otpVersion0.match(/^([^-]+-)?(.+)$/)[2]
10197 10216 const otpVersionMajor = otpVersion.match(/^([^.]+).*$/)[1]
10198 − const elixirVersions = await getElixirVersions(hexMirrors)
10199 − const semverVersions = Array.from(elixirVersions.keys()).sort()
10200 − const exSpec = exSpec0.replace(/-otp-.*$/, '')
10201 − const elixirVersionFromSpec = getVersionFromSpec(exSpec, semverVersions, true)
10202 − let elixirVersionForDownload = elixirVersionFromSpec
10203 − if (isVersion(otpVersionMajor)) {
10204 − elixirVersionForDownload = `${elixirVersionFromSpec}-otp-${otpVersionMajor}`
10205 − }
10217 + const [otpVersionsForElixirMap, elixirVersions] = await getElixirVersions(
10218 + hexMirrors,
10219 + )
10220 + const spec = exSpec0.replace(/-otp-.*$/, '')
10221 + const versions = elixirVersions
10222 + const elixirVersionFromSpec = getVersionFromSpec(spec, versions)
10206 10223 if (elixirVersionFromSpec === null) {
10207 10224 throw new Error(
10208 10225 `Requested Elixir version (${exSpec0}) not found in version list ` +
@@ -10210,7 +10227,7 @@ async function getElixirVersion(exSpec0, otpVersion0, hexMirrors) {
10210 10227 )
10211 10228 }
10212 10229
10213 − const elixirVersionComp = elixirVersions.get(elixirVersionFromSpec)
10230 + const elixirVersionComp = otpVersionsForElixirMap[elixirVersionFromSpec]
10214 10231 if (
10215 10232 (elixirVersionComp && elixirVersionComp.includes(otpVersionMajor)) ||
10216 10233 !isVersion(otpVersionMajor)
@@ -10227,13 +10244,20 @@ async function getElixirVersion(exSpec0, otpVersion0, hexMirrors) {
10227 10244 )
10228 10245 }
10229 10246
10247 + let elixirVersionForDownload = elixirVersionFromSpec
10248 +
10249 + if (isVersion(otpVersionMajor)) {
10250 + elixirVersionForDownload = `${elixirVersionFromSpec}-otp-${otpVersionMajor}`
10251 + }
10252 +
10230 10253 return maybePrependWithV(elixirVersionForDownload)
10231 10254 }
10232 10255
10233 10256 async function getGleamVersion(gleamSpec0) {
10234 − const gleamSpec = gleamSpec0.match(/^v?(.+)$/)
10235 10257 const gleamVersions = await getGleamVersions()
10236 − const gleamVersion = getVersionFromSpec(gleamSpec[1], gleamVersions, true)
10258 + const spec = gleamSpec0
10259 + const versions = gleamVersions
10260 + const gleamVersion = getVersionFromSpec(spec, versions)
10237 10261 if (gleamVersion === null) {
10238 10262 throw new Error(
10239 10263 `Requested Gleam version (${gleamSpec0}) not found in version list ` +
@@ -10241,12 +10265,14 @@ async function getGleamVersion(gleamSpec0) {
10241 10265 )
10242 10266 }
10243 10267
10244 − return maybePrependWithV(gleamVersion, gleamVersion)
10268 + return maybePrependWithV(gleamVersion)
10245 10269 }
10246 10270
10247 10271 async function getRebar3Version(r3Spec) {
10248 10272 const rebar3Versions = await getRebar3Versions()
10249 − const rebar3Version = getVersionFromSpec(r3Spec, rebar3Versions)
10273 + const spec = r3Spec
10274 + const versions = rebar3Versions
10275 + const rebar3Version = getVersionFromSpec(spec, versions)
10250 10276 if (rebar3Version === null) {
10251 10277 throw new Error(
10252 10278 `Requested rebar3 version (${r3Spec}) not found in version list ` +
@@ -10269,8 +10295,9 @@ async function getOTPVersions(osVersion, hexMirrors) {
10269 10295 otpVersionsListings = await get(originListing, [1, 2, 3])
10270 10296 }
10271 10297
10272 − const otpVersions = new Map()
10298 + debugLog(`OTP versions listings from ${originListing}`, otpVersionsListings)
10273 10299
10300 + const otpVersions = {}
10274 10301 if (process.platform === 'linux') {
10275 10302 otpVersionsListings
10276 10303 .trim()
@@ -10280,8 +10307,9 @@ async function getOTPVersions(osVersion, hexMirrors) {
10280 10307 .match(/^([^ ]+)?( .+)/)[1]
10281 10308 .match(/^([^-]+-)?(.+)$/)
10282 10309 const otpVersion = otpMatch[2]
10310 + const otpVersionOrig = otpMatch[0]
10283 10311 debugLog('OTP line and parsing', [line, otpVersion, otpMatch])
10284 − otpVersions.set(otpVersion, otpMatch[0]) // we keep the original for later reference
10312 + otpVersions[otpVersion] = otpVersionOrig // we keep the original for later reference
10285 10313 })
10286 10314 } else if (process.platform === 'win32') {
10287 10315 otpVersionsListings.forEach((otpVersionsListing) => {
@@ -10293,15 +10321,12 @@ async function getOTPVersions(osVersion, hexMirrors) {
10293 10321 const otpMatch = x.name.match(/^otp_win64_(.*).exe$/)
10294 10322 const otpVersion = otpMatch[1]
10295 10323 debugLog('OTP line and parsing', [otpMatch, otpVersion])
10296 − otpVersions.set(otpVersion, otpVersion)
10324 + otpVersions[otpVersion] = otpVersion
10297 10325 })
10298 10326 })
10299 10327 }
10300 10328
10301 − debugLog(
10302 − `OTP versions from ${originListing}`,
10303 − JSON.stringify([...otpVersions.entries()]),
10304 − )
10329 + debugLog(`OTP versions from ${originListing}`, JSON.stringify(otpVersions))
10305 10330
10306 10331 return otpVersions
10307 10332 }
@@ -10311,7 +10336,8 @@ async function getElixirVersions(hexMirrors) {
10311 10336 '/builds/elixir/builds.txt',
10312 10337 hexMirrors,
10313 10338 )
10314 − const otpVersionsForElixirMap = new Map()
10339 + const otpVersionsForElixirMap = {}
10340 + const elixirVersions = {}
10315 10341
10316 10342 elixirVersionsListings
10317 10343 .trim()
@@ -10319,17 +10345,18 @@ async function getElixirVersions(hexMirrors) {
10319 10345 .forEach((line) => {
10320 10346 const elixirMatch =
10321 10347 line.match(/^v?(.+)-otp-([^ ]+)/) || line.match(/^v?([^ ]+)/)
10322 − const elixirVersion = maybePrependWithV(elixirMatch[1])
10348 + const elixirVersion = elixirMatch[1]
10323 10349 const otpVersion = elixirMatch[2]
10324 − const otpVersions = otpVersionsForElixirMap.get(elixirVersion) || []
10350 + const otpVersions = otpVersionsForElixirMap[elixirVersion] || []
10325 10351 if (otpVersion) {
10326 10352 // -otp- present (special case)
10327 10353 otpVersions.push(otpVersion)
10328 10354 }
10329 − otpVersionsForElixirMap.set(elixirVersion, otpVersions)
10355 + otpVersionsForElixirMap[elixirVersion] = otpVersions
10356 + elixirVersions[elixirVersion] = elixirVersion
10330 10357 })
10331 10358
10332 − return otpVersionsForElixirMap
10359 + return [otpVersionsForElixirMap, elixirVersions]
10333 10360 }
10334 10361
10335 10362 async function getGleamVersions() {
@@ -10337,13 +10364,17 @@ async function getGleamVersions() {
10337 10364 'https://api.github.com/repos/gleam-lang/gleam/releases?per_page=100',
10338 10365 [1, 2, 3],
10339 10366 )
10340 − const gleamVersionsListing = []
10367 + const gleamVersionsListing = {}
10341 10368 resultJSONs.forEach((resultJSON) => {
10342 10369 jsonParseAsList(resultJSON)
10343 10370 .map((x) => x.tag_name)
10344 − .sort()
10345 − .forEach((v) => gleamVersionsListing.push(v))
10371 + .forEach((ver) => {
10372 + const gleamMatch = ver.match(/^v?([^ ]+)/)
10373 + const gleamVersion = gleamMatch[1]
10374 + gleamVersionsListing[gleamVersion] = gleamVersion
10375 + })
10346 10376 })
10377 +
10347 10378 return gleamVersionsListing
10348 10379 }
10349 10380
@@ -10352,13 +10383,15 @@ async function getRebar3Versions() {
10352 10383 'https://api.github.com/repos/erlang/rebar3/releases?per_page=100',
10353 10384 [1, 2, 3],
10354 10385 )
10355 − const rebar3VersionsListing = []
10386 + const rebar3VersionsListing = {}
10356 10387 resultJSONs.forEach((resultJSON) => {
10357 10388 jsonParseAsList(resultJSON)
10358 10389 .map((x) => x.tag_name)
10359 − .sort()
10360 − .forEach((v) => rebar3VersionsListing.push(v))
10390 + .forEach((ver) => {
10391 + rebar3VersionsListing[ver] = ver
10392 + })
10361 10393 })
10394 +
10362 10395 return rebar3VersionsListing
10363 10396 }
10364 10397
@@ -10366,48 +10399,68 @@ function isStrictVersion() {
10366 10399 return getInput('version-type', false) === 'strict'
10367 10400 }
10368 10401
10369 −function getVersionFromSpec(spec, versions, maybePrependWithV0) {
10370 − let version = null
10371 −
10372 − if (spec.match(/rc/) || isStrictVersion()) {
10373 − version = spec
10374 − }
10402 +function getVersionFromSpec(spec0, versions0) {
10403 + const spec = maybeRemoveVPrefix(spec0)
10375 10404
10376 − if (version === null) {
10377 − // We keep a map of semver => "spec" in order to use semver ranges to find appropriate versions
10378 − const versionsMap = versions.sort(sortVersions).reduce((acc, v) => {
10379 − if (!v.match(/rc/)) {
10380 − // release candidates are opt-in
10381 − acc[maybeCoerced(v)] = v
10382 − }
10383 − return acc
10384 − }, {})
10385 − const rangeForMax = semver.validRange(spec)
10386 − if (rangeForMax) {
10387 − version =
10388 − versionsMap[semver.maxSatisfying(Object.keys(versionsMap), rangeForMax)]
10405 + const altVersions = {}
10406 + Object.entries(versions0).forEach(([version, altVersion]) => {
10407 + let coerced
10408 + if (isStrictVersion() || isRC(version)) {
10409 + // If `version-type: strict` or version is RC, we just try to remove a potential initial v
10410 + coerced = maybeRemoveVPrefix(version)
10389 10411 } else {
10390 − version = versionsMap[maybeCoerced(spec)]
10412 + // Otherwise, we place the version into a version bucket
10413 + coerced = maybeCoerced(version)
10391 10414 }
10392 − }
10415 + const alt = (altVersions[coerced] || []).concat(altVersion)
10416 + alt.sort(sortVersions)
10417 + altVersions[coerced] = alt
10418 + })
10393 10419
10394 − let v = version === null || version === undefined ? null : version
10395 − if (maybePrependWithV0 && v != null) {
10396 − v = maybePrependWithV(v)
10397 − }
10420 + let versions = Object.keys(altVersions)
10421 +
10422 + const rangeForMax = semver.validRange(spec0) || maybeCoerced(spec)
10423 + const rangeMax = semver.maxSatisfying(versions, rangeForMax)
10424 + let version = null
10425 +
10426 + if (isStrictVersion() || isRC(spec0)) {
10427 + if (versions0[spec]) {
10428 + // If `version-type: strict` or version is RC, we obtain it directly
10429 + version = versions0[spec]
10430 + }
10431 + } else if (rangeMax !== null) {
10432 + // Otherwise, we compare alt. versions' semver ranges to this version, from highest to lowest
10433 + const thatVersion = spec
10434 + const thatVersionAbc = versionAbc(thatVersion)
10435 + const thatVersionAbcRange = semver.validRange(thatVersionAbc)
10398 10436
10399 − if (!versions.includes(v)) {
10400 − v = null
10437 + versions = altVersions[rangeMax]
10438 + for (let i = versions.length - 1; i >= 0; i -= 1) {
10439 + const thisVersion = versions[i]
10440 + const thisVersionAbc = versionAbc(thisVersion)
10441 + const thisVersionAbcRange = semver.validRange(thisVersionAbc)
10442 +
10443 + if (
10444 + thatVersionAbcRange &&
10445 + semver.intersects(thatVersionAbcRange, thisVersionAbcRange)
10446 + ) {
10447 + version = thisVersion
10448 + break
10449 + }
10450 + }
10401 10451 }
10402 10452
10403 − return v
10453 + return version || null
10404 10454 }
10405 10455
10406 10456 function maybeCoerced(v) {
10407 − let ret
10408 −
10457 + let ret = null
10409 10458 try {
10410 − ret = semver.coerce(v).version
10459 + if (!isRC(v)) {
10460 + ret = semver.coerce(v).version
10461 + } else {
10462 + ret = maybeRemoveVPrefix(v)
10463 + }
10411 10464 } catch {
10412 10465 // some stuff can't be coerced, like 'main'
10413 10466 ret = v
@@ -10420,11 +10473,11 @@ function sortVersions(left, right) {
10420 10473 let ret = 0
10421 10474 const newL = verAsComparableStr(left)
10422 10475 const newR = verAsComparableStr(right)
10423 −
10424 10476 function verAsComparableStr(ver) {
10425 − const matchGroups = 5
10426 − const verSpec = /([^.]+)?\.?([^.]+)?\.?([^.]+)?\.?([^.]+)?\.?([^.]+)?/
10477 + const matchGroups = 6
10478 + const verSpec = xyzAbcVersion('', '')
10427 10479 const matches = ver.match(verSpec).splice(1, matchGroups)
10480 +
10428 10481 return matches.reduce((acc, v) => acc + (v || '0').padStart(3, '0'), '')
10429 10482 }
10430 10483
@@ -10437,6 +10490,10 @@ function sortVersions(left, right) {
10437 10490 return ret
10438 10491 }
10439 10492
10493 +function isRC(ver) {
10494 + return ver.match(xyzAbcVersion('^', '(?:-rc\\.?\\d+)'))
10495 +}
10496 +
10440 10497 function getRunnerOSVersion() {
10441 10498 const ImageOSToContainer = {
10442 10499 ubuntu18: 'ubuntu-18.04',
@@ -10446,7 +10503,6 @@ function getRunnerOSVersion() {
10446 10503 win22: 'windows-2022',
10447 10504 }
10448 10505 const containerFromEnvImageOS = ImageOSToContainer[process.env.ImageOS]
10449 −
10450 10506 if (!containerFromEnvImageOS) {
10451 10507 throw new Error(
10452 10508 "Tried to map a target OS from env. variable 'ImageOS' (got " +
@@ -10467,7 +10523,6 @@ async function get(url0, pageIdxs) {
10467 10523 const url = new URL(url0)
10468 10524 const headers = {}
10469 10525 const GithubToken = getInput('github-token', false)
10470 −
10471 10526 if (GithubToken && url.host === 'api.github.com') {
10472 10527 headers.authorization = `Bearer ${GithubToken}`
10473 10528 }
@@ -10480,9 +10535,7 @@ async function get(url0, pageIdxs) {
10480 10535 allowRetries: true,
10481 10536 maxRetries: 3,
10482 10537 })
10483 −
10484 10538 const response = await httpClient.get(url, headers)
10485 −
10486 10539 if (response.statusCode >= 400 && response.statusCode <= 599) {
10487 10540 throw new Error(
10488 10541 `Got ${response.statusCode} from ${url}. Exiting with error`,
@@ -10495,6 +10548,7 @@ async function get(url0, pageIdxs) {
10495 10548 if (pageIdxs[0] === null) {
10496 10549 return getPage(null)
10497 10550 }
10551 +
10498 10552 return Promise.all(pageIdxs.map(getPage))
10499 10553 }
10500 10554
@@ -10502,12 +10556,14 @@ async function getWithMirrors(resourcePath, hexMirrors) {
10502 10556 if (hexMirrors.length === 0) {
10503 10557 throw new Error(`Could not fetch ${resourcePath} from any hex.pm mirror`)
10504 10558 }
10559 +
10505 10560 const [hexMirror, ...hexMirrorsT] = hexMirrors
10506 10561 try {
10507 10562 return await get(`${hexMirror}${resourcePath}`, [null])
10508 10563 } catch (err) {
10509 10564 core.info(`get failed for URL ${hexMirror}${resourcePath}`)
10510 10565 }
10566 +
10511 10567 return getWithMirrors(resourcePath, hexMirrorsT)
10512 10568 }
10513 10569
@@ -10515,11 +10571,35 @@ function maybePrependWithV(v) {
10515 10571 if (isVersion(v)) {
10516 10572 return `v${v.replace('v', '')}`
10517 10573 }
10574 +
10518 10575 return v
10519 10576 }
10520 10577
10578 +function maybeRemoveVPrefix(ver) {
10579 + let ret = ver
10580 + if (isVersion(ver)) {
10581 + ret = ver.replace('v', '')
10582 + }
10583 +
10584 + return ret
10585 +}
10586 +
10587 +function xyzAbcVersion(pref, suf) {
10588 + // This accounts for stuff like 6.0.2.0.1.0, as proposed by Erlang's
10589 + // https://www.erlang.org/doc/system_principles/versions.html
10590 + const dd = '\\.?(\\d+)?'
10591 + return new RegExp(
10592 + `${pref}v?(\\d+)${dd}${dd}${dd}${dd}${dd}(?:-rc\\.?\\d+)?(?:-otp-\\d+)?${suf}`,
10593 + )
10594 +}
10595 +
10596 +function versionAbc(ver) {
10597 + // For a version like 6.0.2.0.1.0, return 0.1.0
10598 + return ver.match(/\d+(?:\.[^.]+)?(?:\.[^.]+)?(?:\.)?(.*)/)[1]
10599 +}
10600 +
10521 10601 function isVersion(v) {
10522 − return /^v?\d+/.test(v)
10602 + return v.match(xyzAbcVersion('^', '$')) !== null
10523 10603 }
10524 10604
10525 10605 function getInput(inputName, required, alternativeName, alternatives) {
@@ -10537,6 +10617,7 @@ alongside ${alternativeName}=${alternativeValue} \
10537 10617 } else if (!input) {
10538 10618 input = alternativeValue
10539 10619 }
10620 +
10540 10621 return input
10541 10622 }
10542 10623
@@ -10550,6 +10631,7 @@ function parseVersionFile(versionFilePath0) {
10550 10631 `The specified version file, ${versionFilePath0}, does not exist`,
10551 10632 )
10552 10633 }
10634 +
10553 10635 core.startGroup(`Parsing version file at ${versionFilePath0}`)
10554 10636 const appVersions = new Map()
10555 10637 const versions = fs.readFileSync(versionFilePath, 'utf8')
@@ -10583,6 +10665,7 @@ function jsonParseAsList(maybeJson) {
10583 10665 if (!Array.isArray(obj)) {
10584 10666 throw new Error('expected a list!')
10585 10667 }
10668 +
10586 10669 return obj
10587 10670 } catch (exc) {
10588 10671 throw new Error(
modified package-lock.json
+998 −3441
@@ -1,6 +1,6 @@
1 1 {
2 2 "name": "setup-beam",
3 − "lockfileVersion": 2,
3 + "lockfileVersion": 3,
4 4 "requires": true,
5 5 "packages": {
6 6 "": {
@@ -10,20 +10,15 @@
10 10 "@actions/core": "1.10.0",
11 11 "@actions/exec": "1.1.1",
12 12 "@actions/http-client": "2.1.0",
13 − "@actions/tool-cache": "^2.0.1",
14 − "semver": "7.5.2"
13 + "@actions/tool-cache": "2.0.1",
14 + "semver": "7.5.3"
15 15 },
16 16 "devDependencies": {
17 − "@vercel/ncc": "0.34.0",
18 − "eslint": "8.25.0",
19 − "eslint-config-airbnb": "19.0.4",
20 − "eslint-plugin-import": "2.26.0",
21 − "eslint-plugin-jsx-a11y": "6.6.1",
22 − "eslint-plugin-react": "7.31.10",
23 − "husky": "8.0.1",
24 − "markdownlint": "0.26.2",
25 − "prettier": "2.7.1",
26 − "shellcheck": "1.1.0",
17 + "@vercel/ncc": "0.36.1",
18 + "eslint": "8.43.0",
19 + "markdownlint-cli": "0.35.0",
20 + "prettier": "2.8.8",
21 + "shellcheck": "2.2.0",
27 22 "yaml-lint": "1.7.0",
28 23 "yarn": "1.22.19"
29 24 },
@@ -91,41 +86,40 @@
91 86 "uuid": "bin/uuid"
92 87 }
93 88 },
94 − "node_modules/@babel/runtime": {
95 − "version": "7.19.4",
96 − "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
97 − "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
89 + "node_modules/@eslint-community/eslint-utils": {
90 + "version": "4.4.0",
91 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
92 + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
98 93 "dev": true,
99 94 "dependencies": {
100 − "regenerator-runtime": "^0.13.4"
95 + "eslint-visitor-keys": "^3.3.0"
101 96 },
102 97 "engines": {
103 − "node": ">=6.9.0"
98 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
99 + },
100 + "peerDependencies": {
101 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
104 102 }
105 103 },
106 − "node_modules/@babel/runtime-corejs3": {
107 − "version": "7.17.9",
108 − "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.9.tgz",
109 − "integrity": "sha512-WxYHHUWF2uZ7Hp1K+D1xQgbgkGUfA+5UPOegEXGt2Y5SMog/rYCVaifLZDbw8UkNXozEqqrZTy6bglL7xTaCOw==",
104 + "node_modules/@eslint-community/regexpp": {
105 + "version": "4.5.1",
106 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
107 + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
110 108 "dev": true,
111 − "dependencies": {
112 − "core-js-pure": "^3.20.2",
113 − "regenerator-runtime": "^0.13.4"
114 − },
115 109 "engines": {
116 − "node": ">=6.9.0"
110 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
117 111 }
118 112 },
119 113 "node_modules/@eslint/eslintrc": {
120 − "version": "1.3.3",
121 − "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
122 − "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
114 + "version": "2.0.3",
115 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
116 + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
123 117 "dev": true,
124 118 "dependencies": {
125 119 "ajv": "^6.12.4",
126 120 "debug": "^4.3.2",
127 − "espree": "^9.4.0",
128 − "globals": "^13.15.0",
121 + "espree": "^9.5.2",
122 + "globals": "^13.19.0",
129 123 "ignore": "^5.2.0",
130 124 "import-fresh": "^3.2.1",
131 125 "js-yaml": "^4.1.0",
@@ -139,15 +133,24 @@
139 133 "url": "https://opencollective.com/eslint"
140 134 }
141 135 },
136 + "node_modules/@eslint/js": {
137 + "version": "8.43.0",
138 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
139 + "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
140 + "dev": true,
141 + "engines": {
142 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
143 + }
144 + },
142 145 "node_modules/@humanwhocodes/config-array": {
143 − "version": "0.10.7",
144 − "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
145 − "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
146 + "version": "0.11.10",
147 + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
148 + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
146 149 "dev": true,
147 150 "dependencies": {
148 151 "@humanwhocodes/object-schema": "^1.2.1",
149 152 "debug": "^4.1.1",
150 − "minimatch": "^3.0.4"
153 + "minimatch": "^3.0.5"
151 154 },
152 155 "engines": {
153 156 "node": ">=10.10.0"
@@ -172,6 +175,96 @@
172 175 "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
173 176 "dev": true
174 177 },
178 + "node_modules/@isaacs/cliui": {
179 + "version": "8.0.2",
180 + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
181 + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
182 + "dev": true,
183 + "dependencies": {
184 + "string-width": "^5.1.2",
185 + "string-width-cjs": "npm:string-width@^4.2.0",
186 + "strip-ansi": "^7.0.1",
187 + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
188 + "wrap-ansi": "^8.1.0",
189 + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
190 + },
191 + "engines": {
192 + "node": ">=12"
193 + }
194 + },
195 + "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
196 + "version": "6.0.1",
197 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
198 + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
199 + "dev": true,
200 + "engines": {
201 + "node": ">=12"
202 + },
203 + "funding": {
204 + "url": "https://github.com/chalk/ansi-regex?sponsor=1"
205 + }
206 + },
207 + "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
208 + "version": "6.2.1",
209 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
210 + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
211 + "dev": true,
212 + "engines": {
213 + "node": ">=12"
214 + },
215 + "funding": {
216 + "url": "https://github.com/chalk/ansi-styles?sponsor=1"
217 + }
218 + },
219 + "node_modules/@isaacs/cliui/node_modules/string-width": {
220 + "version": "5.1.2",
221 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
222 + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
223 + "dev": true,
224 + "dependencies": {
225 + "eastasianwidth": "^0.2.0",
226 + "emoji-regex": "^9.2.2",
227 + "strip-ansi": "^7.0.1"
228 + },
229 + "engines": {
230 + "node": ">=12"
231 + },
232 + "funding": {
233 + "url": "https://github.com/sponsors/sindresorhus"
234 + }
235 + },
236 + "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
237 + "version": "7.1.0",
238 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
239 + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
240 + "dev": true,
241 + "dependencies": {
242 + "ansi-regex": "^6.0.1"
243 + },
244 + "engines": {
245 + "node": ">=12"
246 + },
247 + "funding": {
248 + "url": "https://github.com/chalk/strip-ansi?sponsor=1"
249 + }
250 + },
251 + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
252 + "version": "8.1.0",
253 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
254 + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
255 + "dev": true,
256 + "dependencies": {
257 + "ansi-styles": "^6.1.0",
258 + "string-width": "^5.0.1",
259 + "strip-ansi": "^7.0.1"
260 + },
261 + "engines": {
262 + "node": ">=12"
263 + },
264 + "funding": {
265 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
266 + }
267 + },
175 268 "node_modules/@nodelib/fs.scandir": {
176 269 "version": "2.1.5",
177 270 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -207,25 +300,29 @@
207 300 "node": ">= 8"
208 301 }
209 302 },
210 − "node_modules/@types/json5": {
211 − "version": "0.0.29",
212 − "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
213 − "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
214 − "dev": true
303 + "node_modules/@pkgjs/parseargs": {
304 + "version": "0.11.0",
305 + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
306 + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
307 + "dev": true,
308 + "optional": true,
309 + "engines": {
310 + "node": ">=14"
311 + }
215 312 },
216 313 "node_modules/@vercel/ncc": {
217 − "version": "0.34.0",
218 − "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz",
219 − "integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==",
314 + "version": "0.36.1",
315 + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz",
316 + "integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==",
220 317 "dev": true,
221 318 "bin": {
222 319 "ncc": "dist/ncc/cli.js"
223 320 }
224 321 },
225 322 "node_modules/acorn": {
226 − "version": "8.8.0",
227 − "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
228 − "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
323 + "version": "8.9.0",
324 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
325 + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
229 326 "dev": true,
230 327 "bin": {
231 328 "acorn": "bin/acorn"
@@ -289,38 +386,6 @@
289 386 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
290 387 "dev": true
291 388 },
292 − "node_modules/aria-query": {
293 − "version": "4.2.2",
294 − "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
295 − "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
296 − "dev": true,
297 − "dependencies": {
298 − "@babel/runtime": "^7.10.2",
299 − "@babel/runtime-corejs3": "^7.10.2"
300 − },
301 − "engines": {
302 − "node": ">=6.0"
303 − }
304 − },
305 − "node_modules/array-includes": {
306 − "version": "3.1.5",
307 − "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
308 − "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
309 − "dev": true,
310 − "dependencies": {
311 − "call-bind": "^1.0.2",
312 − "define-properties": "^1.1.4",
313 − "es-abstract": "^1.19.5",
314 − "get-intrinsic": "^1.1.1",
315 − "is-string": "^1.0.7"
316 − },
317 − "engines": {
318 − "node": ">= 0.4"
319 − },
320 − "funding": {
321 − "url": "https://github.com/sponsors/ljharb"
322 − }
323 − },
324 389 "node_modules/array-union": {
325 390 "version": "2.1.0",
326 391 "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
@@ -330,75 +395,48 @@
330 395 "node": ">=8"
331 396 }
332 397 },
333 − "node_modules/array.prototype.flat": {
334 − "version": "1.3.0",
335 − "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
336 − "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
337 − "dev": true,
338 − "dependencies": {
339 − "call-bind": "^1.0.2",
340 − "define-properties": "^1.1.3",
341 − "es-abstract": "^1.19.2",
342 − "es-shim-unscopables": "^1.0.0"
343 − },
344 − "engines": {
345 − "node": ">= 0.4"
346 − },
347 − "funding": {
348 − "url": "https://github.com/sponsors/ljharb"
349 − }
350 − },
351 − "node_modules/array.prototype.flatmap": {
352 − "version": "1.3.0",
353 − "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz",
354 − "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==",
355 − "dev": true,
356 − "dependencies": {
357 − "call-bind": "^1.0.2",
358 − "define-properties": "^1.1.3",
359 − "es-abstract": "^1.19.2",
360 − "es-shim-unscopables": "^1.0.0"
361 − },
362 − "engines": {
363 − "node": ">= 0.4"
364 − },
365 − "funding": {
366 − "url": "https://github.com/sponsors/ljharb"
367 − }
368 − },
369 − "node_modules/ast-types-flow": {
370 − "version": "0.0.7",
371 − "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
372 − "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
373 − "dev": true
374 − },
375 398 "node_modules/async": {
376 399 "version": "3.2.3",
377 400 "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
378 401 "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
379 402 "dev": true
380 403 },
381 − "node_modules/axe-core": {
382 − "version": "4.4.3",
383 − "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz",
384 − "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==",
385 − "dev": true,
386 − "engines": {
387 − "node": ">=4"
388 − }
389 − },
390 − "node_modules/axobject-query": {
391 − "version": "2.2.0",
392 − "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
393 − "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==",
394 − "dev": true
395 − },
396 404 "node_modules/balanced-match": {
397 405 "version": "1.0.2",
398 406 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
399 407 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
400 408 "dev": true
401 409 },
410 + "node_modules/base64-js": {
411 + "version": "1.5.1",
412 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
413 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
414 + "dev": true,
415 + "funding": [
416 + {
417 + "type": "github",
418 + "url": "https://github.com/sponsors/feross"
419 + },
420 + {
421 + "type": "patreon",
422 + "url": "https://www.patreon.com/feross"
423 + },
424 + {
425 + "type": "consulting",
426 + "url": "https://feross.org/support"
427 + }
428 + ]
429 + },
430 + "node_modules/bl": {
431 + "version": "1.2.3",
432 + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
433 + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
434 + "dev": true,
435 + "dependencies": {
436 + "readable-stream": "^2.3.5",
437 + "safe-buffer": "^5.1.1"
438 + }
439 + },
402 440 "node_modules/boolean": {
403 441 "version": "3.2.0",
404 442 "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
@@ -427,19 +465,61 @@
427 465 "node": ">=8"
428 466 }
429 467 },
430 − "node_modules/call-bind": {
431 − "version": "1.0.2",
432 − "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
433 − "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
468 + "node_modules/buffer": {
469 + "version": "5.7.1",
470 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
471 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
472 + "dev": true,
473 + "funding": [
474 + {
475 + "type": "github",
476 + "url": "https://github.com/sponsors/feross"
477 + },
478 + {
479 + "type": "patreon",
480 + "url": "https://www.patreon.com/feross"
481 + },
482 + {
483 + "type": "consulting",
484 + "url": "https://feross.org/support"
485 + }
486 + ],
487 + "dependencies": {
488 + "base64-js": "^1.3.1",
489 + "ieee754": "^1.1.13"
490 + }
491 + },
492 + "node_modules/buffer-alloc": {
493 + "version": "1.2.0",
494 + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
495 + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
434 496 "dev": true,
435 497 "dependencies": {
436 − "function-bind": "^1.1.1",
437 − "get-intrinsic": "^1.0.2"
438 − },
439 − "funding": {
440 − "url": "https://github.com/sponsors/ljharb"
498 + "buffer-alloc-unsafe": "^1.1.0",
499 + "buffer-fill": "^1.0.0"
441 500 }
442 501 },
502 + "node_modules/buffer-alloc-unsafe": {
503 + "version": "1.1.0",
504 + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
505 + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
506 + "dev": true
507 + },
508 + "node_modules/buffer-crc32": {
509 + "version": "0.2.13",
510 + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
511 + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
512 + "dev": true,
513 + "engines": {
514 + "node": "*"
515 + }
516 + },
517 + "node_modules/buffer-fill": {
518 + "version": "1.0.0",
519 + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
520 + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==",
521 + "dev": true
522 + },
443 523 "node_modules/callsites": {
444 524 "version": "3.1.0",
445 525 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -494,34 +574,29 @@
494 574 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
495 575 "dev": true
496 576 },
577 + "node_modules/commander": {
578 + "version": "2.20.3",
579 + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
580 + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
581 + "dev": true
582 + },
497 583 "node_modules/concat-map": {
498 584 "version": "0.0.1",
499 585 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
500 586 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
501 587 "dev": true
502 588 },
503 − "node_modules/confusing-browser-globals": {
504 − "version": "1.0.11",
505 − "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
506 − "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==",
507 − "dev": true
508 − },
509 589 "node_modules/consola": {
510 590 "version": "2.15.3",
511 591 "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
512 592 "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
513 593 "dev": true
514 594 },
515 − "node_modules/core-js-pure": {
516 − "version": "3.22.2",
517 − "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.2.tgz",
518 − "integrity": "sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ==",
519 − "dev": true,
520 − "hasInstallScript": true,
521 − "funding": {
522 − "type": "opencollective",
523 − "url": "https://opencollective.com/core-js"
524 − }
595 + "node_modules/core-util-is": {
596 + "version": "1.0.3",
597 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
598 + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
599 + "dev": true
525 600 },
526 601 "node_modules/cross-spawn": {
527 602 "version": "7.0.3",
@@ -537,12 +612,6 @@
537 612 "node": ">= 8"
538 613 }
539 614 },
540 − "node_modules/damerau-levenshtein": {
541 − "version": "1.0.8",
542 − "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
543 − "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
544 − "dev": true
545 − },
546 615 "node_modules/debug": {
547 616 "version": "4.3.4",
548 617 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -560,6 +629,111 @@
560 629 }
561 630 }
562 631 },
632 + "node_modules/decompress": {
633 + "version": "4.2.1",
634 + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz",
635 + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
636 + "dev": true,
637 + "dependencies": {
638 + "decompress-tar": "^4.0.0",
639 + "decompress-tarbz2": "^4.0.0",
640 + "decompress-targz": "^4.0.0",
641 + "decompress-unzip": "^4.0.1",
642 + "graceful-fs": "^4.1.10",
643 + "make-dir": "^1.0.0",
644 + "pify": "^2.3.0",
645 + "strip-dirs": "^2.0.0"
646 + },
647 + "engines": {
648 + "node": ">=4"
649 + }
650 + },
651 + "node_modules/decompress-tar": {
652 + "version": "4.1.1",
653 + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
654 + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
655 + "dev": true,
656 + "dependencies": {
657 + "file-type": "^5.2.0",
658 + "is-stream": "^1.1.0",
659 + "tar-stream": "^1.5.2"
660 + },
661 + "engines": {
662 + "node": ">=4"
663 + }
664 + },
665 + "node_modules/decompress-tarbz2": {
666 + "version": "4.1.1",
667 + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
668 + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
669 + "dev": true,
670 + "dependencies": {
671 + "decompress-tar": "^4.1.0",
672 + "file-type": "^6.1.0",
673 + "is-stream": "^1.1.0",
674 + "seek-bzip": "^1.0.5",
675 + "unbzip2-stream": "^1.0.9"
676 + },
677 + "engines": {
678 + "node": ">=4"
679 + }
680 + },
681 + "node_modules/decompress-tarbz2/node_modules/file-type": {
682 + "version": "6.2.0",
683 + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
684 + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
685 + "dev": true,
686 + "engines": {
687 + "node": ">=4"
688 + }
689 + },
690 + "node_modules/decompress-targz": {
691 + "version": "4.1.1",
692 + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
693 + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
694 + "dev": true,
695 + "dependencies": {
696 + "decompress-tar": "^4.1.1",
697 + "file-type": "^5.2.0",
698 + "is-stream": "^1.1.0"
699 + },
700 + "engines": {
701 + "node": ">=4"
702 + }
703 + },
704 + "node_modules/decompress-unzip": {
705 + "version": "4.0.1",
706 + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
707 + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==",
708 + "dev": true,
709 + "dependencies": {
710 + "file-type": "^3.8.0",
711 + "get-stream": "^2.2.0",
712 + "pify": "^2.3.0",
713 + "yauzl": "^2.4.2"
714 + },
715 + "engines": {
716 + "node": ">=4"
717 + }
718 + },
719 + "node_modules/decompress-unzip/node_modules/file-type": {
720 + "version": "3.9.0",
721 + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
722 + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==",
723 + "dev": true,
724 + "engines": {
725 + "node": ">=0.10.0"
726 + }
727 + },
728 + "node_modules/deep-extend": {
729 + "version": "0.6.0",
730 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
731 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
732 + "dev": true,
733 + "engines": {
734 + "node": ">=4.0.0"
735 + }
736 + },
563 737 "node_modules/deep-is": {
564 738 "version": "0.1.4",
565 739 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -567,9 +741,9 @@
567 741 "dev": true
568 742 },
569 743 "node_modules/define-properties": {
570 − "version": "1.1.4",
571 − "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
572 − "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
744 + "version": "1.2.0",
745 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
746 + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
573 747 "dev": true,
574 748 "dependencies": {
575 749 "has-property-descriptors": "^1.0.0",
@@ -612,12 +786,27 @@
612 786 "node": ">=6.0.0"
613 787 }
614 788 },
789 + "node_modules/eastasianwidth": {
790 + "version": "0.2.0",
791 + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
792 + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
793 + "dev": true
794 + },
615 795 "node_modules/emoji-regex": {
616 796 "version": "9.2.2",
617 797 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
618 798 "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
619 799 "dev": true
620 800 },
801 + "node_modules/end-of-stream": {
802 + "version": "1.4.4",
803 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
804 + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
805 + "dev": true,
806 + "dependencies": {
807 + "once": "^1.4.0"
808 + }
809 + },
621 810 "node_modules/entities": {
622 811 "version": "3.0.1",
623 812 "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
@@ -630,76 +819,16 @@
630 819 "url": "https://github.com/fb55/entities?sponsor=1"
631 820 }
632 821 },
633 − "node_modules/es-abstract": {
634 − "version": "1.19.5",
635 − "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
636 − "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
637 − "dev": true,
638 − "dependencies": {
639 − "call-bind": "^1.0.2",
640 − "es-to-primitive": "^1.2.1",
641 − "function-bind": "^1.1.1",
642 − "get-intrinsic": "^1.1.1",
643 − "get-symbol-description": "^1.0.0",
644 − "has": "^1.0.3",
645 − "has-symbols": "^1.0.3",
646 − "internal-slot": "^1.0.3",
647 − "is-callable": "^1.2.4",
648 − "is-negative-zero": "^2.0.2",
649 − "is-regex": "^1.1.4",
650 − "is-shared-array-buffer": "^1.0.2",
651 − "is-string": "^1.0.7",
652 − "is-weakref": "^1.0.2",
653 − "object-inspect": "^1.12.0",
654 − "object-keys": "^1.1.1",
655 − "object.assign": "^4.1.2",
656 − "string.prototype.trimend": "^1.0.4",
657 − "string.prototype.trimstart": "^1.0.4",
658 − "unbox-primitive": "^1.0.1"
659 − },
660 − "engines": {
661 − "node": ">= 0.4"
662 − },
663 − "funding": {
664 − "url": "https://github.com/sponsors/ljharb"
665 − }
666 − },
667 − "node_modules/es-shim-unscopables": {
668 − "version": "1.0.0",
669 − "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
670 − "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
671 − "dev": true,
672 − "dependencies": {
673 − "has": "^1.0.3"
674 − }
675 − },
676 − "node_modules/es-to-primitive": {
677 − "version": "1.2.1",
678 − "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
679 − "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
680 − "dev": true,
681 − "dependencies": {
682 − "is-callable": "^1.1.4",
683 − "is-date-object": "^1.0.1",
684 − "is-symbol": "^1.0.2"
685 − },
686 − "engines": {
687 − "node": ">= 0.4"
688 − },
689 − "funding": {
690 − "url": "https://github.com/sponsors/ljharb"
691 − }
692 − },
693 − "node_modules/es6-error": {
694 − "version": "4.1.1",
695 − "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
696 − "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
697 − "dev": true
698 − },
699 − "node_modules/escalade": {
700 − "version": "3.1.1",
701 − "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
702 − "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
822 + "node_modules/es6-error": {
823 + "version": "4.1.1",
824 + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
825 + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
826 + "dev": true
827 + },
828 + "node_modules/escalade": {
829 + "version": "3.1.1",
830 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
831 + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
703 832 "dev": true,
704 833 "engines": {
705 834 "node": ">=6"
@@ -718,38 +847,40 @@
718 847 }
719 848 },
720 849 "node_modules/eslint": {
721 − "version": "8.25.0",
722 − "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz",
723 − "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",
850 + "version": "8.43.0",
851 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
852 + "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
724 853 "dev": true,
725 854 "dependencies": {
726 − "@eslint/eslintrc": "^1.3.3",
727 − "@humanwhocodes/config-array": "^0.10.5",
855 + "@eslint-community/eslint-utils": "^4.2.0",
856 + "@eslint-community/regexpp": "^4.4.0",
857 + "@eslint/eslintrc": "^2.0.3",
858 + "@eslint/js": "8.43.0",
859 + "@humanwhocodes/config-array": "^0.11.10",
728 860 "@humanwhocodes/module-importer": "^1.0.1",
861 + "@nodelib/fs.walk": "^1.2.8",
729 862 "ajv": "^6.10.0",
730 863 "chalk": "^4.0.0",
731 864 "cross-spawn": "^7.0.2",
732 865 "debug": "^4.3.2",
733 866 "doctrine": "^3.0.0",
734 867 "escape-string-regexp": "^4.0.0",
735 − "eslint-scope": "^7.1.1",
736 − "eslint-utils": "^3.0.0",
737 − "eslint-visitor-keys": "^3.3.0",
738 − "espree": "^9.4.0",
739 − "esquery": "^1.4.0",
868 + "eslint-scope": "^7.2.0",
869 + "eslint-visitor-keys": "^3.4.1",
870 + "espree": "^9.5.2",
871 + "esquery": "^1.4.2",
740 872 "esutils": "^2.0.2",
741 873 "fast-deep-equal": "^3.1.3",
742 874 "file-entry-cache": "^6.0.1",
743 875 "find-up": "^5.0.0",
744 − "glob-parent": "^6.0.1",
745 − "globals": "^13.15.0",
746 − "globby": "^11.1.0",
747 − "grapheme-splitter": "^1.0.4",
876 + "glob-parent": "^6.0.2",
877 + "globals": "^13.19.0",
878 + "graphemer": "^1.4.0",
748 879 "ignore": "^5.2.0",
749 880 "import-fresh": "^3.0.0",
750 881 "imurmurhash": "^0.1.4",
751 882 "is-glob": "^4.0.0",
752 − "js-sdsl": "^4.1.4",
883 + "is-path-inside": "^3.0.3",
753 884 "js-yaml": "^4.1.0",
754 885 "json-stable-stringify-without-jsonify": "^1.0.1",
755 886 "levn": "^0.4.1",
@@ -757,7 +888,6 @@
757 888 "minimatch": "^3.1.2",
758 889 "natural-compare": "^1.4.0",
759 890 "optionator": "^0.9.1",
760 − "regexpp": "^3.2.0",
761 891 "strip-ansi": "^6.0.1",
762 892 "strip-json-comments": "^3.1.0",
763 893 "text-table": "^0.2.0"
@@ -772,265 +902,10 @@
772 902 "url": "https://opencollective.com/eslint"
773 903 }
774 904 },
775 − "node_modules/eslint-config-airbnb": {
776 − "version": "19.0.4",
777 − "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz",
778 − "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==",
779 − "dev": true,
780 − "dependencies": {
781 − "eslint-config-airbnb-base": "^15.0.0",
782 − "object.assign": "^4.1.2",
783 − "object.entries": "^1.1.5"
784 − },
785 − "engines": {
786 − "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0"
787 − },
788 − "peerDependencies": {
789 − "eslint": "^7.32.0 || ^8.2.0",
790 − "eslint-plugin-import": "^2.25.3",
791 − "eslint-plugin-jsx-a11y": "^6.5.1",
792 − "eslint-plugin-react": "^7.28.0",
793 − "eslint-plugin-react-hooks": "^4.3.0"
794 − }
795 − },
796 − "node_modules/eslint-config-airbnb-base": {
797 − "version": "15.0.0",
798 − "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz",
799 − "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==",
800 − "dev": true,
801 − "dependencies": {
802 − "confusing-browser-globals": "^1.0.10",
803 − "object.assign": "^4.1.2",
804 − "object.entries": "^1.1.5",
805 − "semver": "^6.3.0"
806 − },
807 − "engines": {
808 − "node": "^10.12.0 || >=12.0.0"
809 − },
810 − "peerDependencies": {
811 − "eslint": "^7.32.0 || ^8.2.0",
812 − "eslint-plugin-import": "^2.25.2"
813 − }
814 − },
815 − "node_modules/eslint-config-airbnb-base/node_modules/semver": {
816 − "version": "6.3.0",
817 − "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
818 − "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
819 − "dev": true,
820 − "bin": {
821 − "semver": "bin/semver.js"
822 − }
823 − },
824 − "node_modules/eslint-import-resolver-node": {
825 − "version": "0.3.6",
826 − "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
827 − "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
828 − "dev": true,
829 − "dependencies": {
830 − "debug": "^3.2.7",
831 − "resolve": "^1.20.0"
832 − }
833 − },
834 − "node_modules/eslint-import-resolver-node/node_modules/debug": {
835 − "version": "3.2.7",
836 − "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
837 − "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
838 − "dev": true,
839 − "dependencies": {
840 − "ms": "^2.1.1"
841 − }
842 − },
843 − "node_modules/eslint-module-utils": {
844 − "version": "2.7.3",
845 − "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
846 − "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
847 − "dev": true,
848 − "dependencies": {
849 − "debug": "^3.2.7",
850 − "find-up": "^2.1.0"
851 − },
852 − "engines": {
853 − "node": ">=4"
854 − }
855 − },
856 − "node_modules/eslint-module-utils/node_modules/debug": {
857 − "version": "3.2.7",
858 − "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
859 − "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
860 − "dev": true,
861 − "dependencies": {
862 − "ms": "^2.1.1"
863 − }
864 − },
865 − "node_modules/eslint-plugin-import": {
866 − "version": "2.26.0",
867 − "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
868 − "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
869 − "dev": true,
870 − "dependencies": {
871 − "array-includes": "^3.1.4",
872 − "array.prototype.flat": "^1.2.5",
873 − "debug": "^2.6.9",
874 − "doctrine": "^2.1.0",
875 − "eslint-import-resolver-node": "^0.3.6",
876 − "eslint-module-utils": "^2.7.3",
877 − "has": "^1.0.3",
878 − "is-core-module": "^2.8.1",
879 − "is-glob": "^4.0.3",
880 − "minimatch": "^3.1.2",
881 − "object.values": "^1.1.5",
882 − "resolve": "^1.22.0",
883 − "tsconfig-paths": "^3.14.1"
884 − },
885 − "engines": {
886 − "node": ">=4"
887 − },
888 − "peerDependencies": {
889 − "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
890 − }
891 − },
892 − "node_modules/eslint-plugin-import/node_modules/debug": {
893 − "version": "2.6.9",
894 − "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
895 − "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
896 − "dev": true,
897 − "dependencies": {
898 − "ms": "2.0.0"
899 − }
900 − },
901 − "node_modules/eslint-plugin-import/node_modules/doctrine": {
902 − "version": "2.1.0",
903 − "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
904 − "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
905 − "dev": true,
906 − "dependencies": {
907 − "esutils": "^2.0.2"
908 − },
909 − "engines": {
910 − "node": ">=0.10.0"
911 − }
912 − },
913 − "node_modules/eslint-plugin-import/node_modules/ms": {
914 − "version": "2.0.0",
915 − "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
916 − "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
917 − "dev": true
918 − },
919 − "node_modules/eslint-plugin-jsx-a11y": {
920 − "version": "6.6.1",
921 − "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz",
922 − "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==",
923 − "dev": true,
924 − "dependencies": {
925 − "@babel/runtime": "^7.18.9",
926 − "aria-query": "^4.2.2",
927 − "array-includes": "^3.1.5",
928 − "ast-types-flow": "^0.0.7",
929 − "axe-core": "^4.4.3",
930 − "axobject-query": "^2.2.0",
931 − "damerau-levenshtein": "^1.0.8",
932 − "emoji-regex": "^9.2.2",
933 − "has": "^1.0.3",
934 − "jsx-ast-utils": "^3.3.2",
935 − "language-tags": "^1.0.5",
936 − "minimatch": "^3.1.2",
937 − "semver": "^6.3.0"
938 − },
939 − "engines": {
940 − "node": ">=4.0"
941 − },
942 − "peerDependencies": {
943 − "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
944 − }
945 − },
946 − "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
947 − "version": "6.3.0",
948 − "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
949 − "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
950 − "dev": true,
951 − "bin": {
952 − "semver": "bin/semver.js"
953 − }
954 − },
955 − "node_modules/eslint-plugin-react": {
956 − "version": "7.31.10",
957 − "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz",
958 − "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==",
959 − "dev": true,
960 − "dependencies": {
961 − "array-includes": "^3.1.5",
962 − "array.prototype.flatmap": "^1.3.0",
963 − "doctrine": "^2.1.0",
964 − "estraverse": "^5.3.0",
965 − "jsx-ast-utils": "^2.4.1 || ^3.0.0",
966 − "minimatch": "^3.1.2",
967 − "object.entries": "^1.1.5",
968 − "object.fromentries": "^2.0.5",
969 − "object.hasown": "^1.1.1",
970 − "object.values": "^1.1.5",
971 − "prop-types": "^15.8.1",
972 − "resolve": "^2.0.0-next.3",
973 − "semver": "^6.3.0",
974 − "string.prototype.matchall": "^4.0.7"
975 − },
976 − "engines": {
977 − "node": ">=4"
978 − },
979 − "peerDependencies": {
980 − "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
981 − }
982 − },
983 − "node_modules/eslint-plugin-react-hooks": {
984 − "version": "4.4.0",
985 − "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.4.0.tgz",
986 − "integrity": "sha512-U3RVIfdzJaeKDQKEJbz5p3NW8/L80PCATJAfuojwbaEL+gBjfGdhUcGde+WGUW46Q5sr/NgxevsIiDtNXrvZaQ==",
987 − "dev": true,
988 − "peer": true,
989 − "engines": {
990 − "node": ">=10"
991 − },
992 − "peerDependencies": {
993 − "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
994 − }
995 − },
996 − "node_modules/eslint-plugin-react/node_modules/doctrine": {
997 − "version": "2.1.0",
998 − "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
999 − "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
1000 − "dev": true,
1001 − "dependencies": {
1002 − "esutils": "^2.0.2"
1003 − },
1004 − "engines": {
1005 − "node": ">=0.10.0"
1006 − }
1007 − },
1008 − "node_modules/eslint-plugin-react/node_modules/resolve": {
1009 − "version": "2.0.0-next.3",
1010 − "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz",
1011 − "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==",
1012 − "dev": true,
1013 − "dependencies": {
1014 − "is-core-module": "^2.2.0",
1015 − "path-parse": "^1.0.6"
1016 − },
1017 − "funding": {
1018 − "url": "https://github.com/sponsors/ljharb"
1019 − }
1020 − },
1021 − "node_modules/eslint-plugin-react/node_modules/semver": {
1022 − "version": "6.3.0",
1023 − "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1024 − "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1025 − "dev": true,
1026 − "bin": {
1027 − "semver": "bin/semver.js"
1028 − }
1029 − },
1030 905 "node_modules/eslint-scope": {
1031 − "version": "7.1.1",
1032 − "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
1033 − "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
906 + "version": "7.2.0",
907 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
908 + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
1034 909 "dev": true,
1035 910 "dependencies": {
1036 911 "esrecurse": "^4.3.0",
@@ -1038,42 +913,21 @@
1038 913 },
1039 914 "engines": {
1040 915 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1041 − }
1042 − },
1043 − "node_modules/eslint-utils": {
1044 − "version": "3.0.0",
1045 − "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
1046 − "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
1047 − "dev": true,
1048 − "dependencies": {
1049 − "eslint-visitor-keys": "^2.0.0"
1050 − },
1051 − "engines": {
1052 − "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
1053 916 },
1054 917 "funding": {
1055 − "url": "https://github.com/sponsors/mysticatea"
1056 − },
1057 − "peerDependencies": {
1058 − "eslint": ">=5"
1059 − }
1060 − },
1061 − "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
1062 − "version": "2.1.0",
1063 − "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
1064 − "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
1065 − "dev": true,
1066 − "engines": {
1067 − "node": ">=10"
918 + "url": "https://opencollective.com/eslint"
1068 919 }
1069 920 },
1070 921 "node_modules/eslint-visitor-keys": {
1071 − "version": "3.3.0",
1072 − "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
1073 − "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
922 + "version": "3.4.1",
923 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
924 + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
1074 925 "dev": true,
1075 926 "engines": {
1076 927 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
928 + },
929 + "funding": {
930 + "url": "https://opencollective.com/eslint"
1077 931 }
1078 932 },
1079 933 "node_modules/eslint/node_modules/find-up": {
@@ -1147,14 +1001,14 @@
1147 1001 }
1148 1002 },
1149 1003 "node_modules/espree": {
1150 − "version": "9.4.0",
1151 − "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
1152 − "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
1004 + "version": "9.5.2",
1005 + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
1006 + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
1153 1007 "dev": true,
1154 1008 "dependencies": {
1155 1009 "acorn": "^8.8.0",
1156 1010 "acorn-jsx": "^5.3.2",
1157 − "eslint-visitor-keys": "^3.3.0"
1011 + "eslint-visitor-keys": "^3.4.1"
1158 1012 },
1159 1013 "engines": {
1160 1014 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1164,9 +1018,9 @@
1164 1018 }
1165 1019 },
1166 1020 "node_modules/esquery": {
1167 − "version": "1.4.0",
1168 − "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
1169 − "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
1021 + "version": "1.5.0",
1022 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
1023 + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
1170 1024 "dev": true,
1171 1025 "dependencies": {
1172 1026 "estraverse": "^5.1.0"
@@ -1260,6 +1114,15 @@
1260 1114 "reusify": "^1.0.4"
1261 1115 }
1262 1116 },
1117 + "node_modules/fd-slicer": {
1118 + "version": "1.1.0",
1119 + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
1120 + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
1121 + "dev": true,
1122 + "dependencies": {
1123 + "pend": "~1.2.0"
1124 + }
1125 + },
1263 1126 "node_modules/file-entry-cache": {
1264 1127 "version": "6.0.1",
1265 1128 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -1272,6 +1135,15 @@
1272 1135 "node": "^10.12.0 || >=12.0.0"
1273 1136 }
1274 1137 },
1138 + "node_modules/file-type": {
1139 + "version": "5.2.0",
1140 + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
1141 + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==",
1142 + "dev": true,
1143 + "engines": {
1144 + "node": ">=4"
1145 + }
1146 + },
1275 1147 "node_modules/fill-range": {
1276 1148 "version": "7.0.1",
1277 1149 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -1284,18 +1156,6 @@
1284 1156 "node": ">=8"
1285 1157 }
1286 1158 },
1287 − "node_modules/find-up": {
1288 − "version": "2.1.0",
1289 − "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
1290 − "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
1291 − "dev": true,
1292 − "dependencies": {
1293 − "locate-path": "^2.0.0"
1294 − },
1295 − "engines": {
1296 − "node": ">=4"
1297 − }
1298 − },
1299 1159 "node_modules/flat-cache": {
1300 1160 "version": "3.0.4",
1301 1161 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
@@ -1315,6 +1175,28 @@
1315 1175 "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
1316 1176 "dev": true
1317 1177 },
1178 + "node_modules/foreground-child": {
1179 + "version": "3.1.1",
1180 + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
1181 + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
1182 + "dev": true,
1183 + "dependencies": {
1184 + "cross-spawn": "^7.0.0",
1185 + "signal-exit": "^4.0.1"
1186 + },
1187 + "engines": {
1188 + "node": ">=14"
1189 + },
1190 + "funding": {
1191 + "url": "https://github.com/sponsors/isaacs"
1192 + }
1193 + },
1194 + "node_modules/fs-constants": {
1195 + "version": "1.0.0",
1196 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
1197 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
1198 + "dev": true
1199 + },
1318 1200 "node_modules/fs.realpath": {
1319 1201 "version": "1.0.0",
1320 1202 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -1327,15 +1209,6 @@
1327 1209 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1328 1210 "dev": true
1329 1211 },
1330 − "node_modules/functions-have-names": {
1331 − "version": "1.2.3",
1332 − "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
1333 − "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
1334 − "dev": true,
1335 − "funding": {
1336 − "url": "https://github.com/sponsors/ljharb"
1337 − }
1338 − },
1339 1212 "node_modules/get-caller-file": {
1340 1213 "version": "2.0.5",
1341 1214 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -1346,33 +1219,43 @@
1346 1219 }
1347 1220 },
1348 1221 "node_modules/get-intrinsic": {
1349 − "version": "1.1.1",
1350 − "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
1351 − "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
1222 + "version": "1.2.1",
1223 + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
1224 + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
1352 1225 "dev": true,
1353 1226 "dependencies": {
1354 1227 "function-bind": "^1.1.1",
1355 1228 "has": "^1.0.3",
1356 − "has-symbols": "^1.0.1"
1229 + "has-proto": "^1.0.1",
1230 + "has-symbols": "^1.0.3"
1357 1231 },
1358 1232 "funding": {
1359 1233 "url": "https://github.com/sponsors/ljharb"
1360 1234 }
1361 1235 },
1362 − "node_modules/get-symbol-description": {
1363 − "version": "1.0.0",
1364 − "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
1365 − "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
1236 + "node_modules/get-stdin": {
1237 + "version": "9.0.0",
1238 + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
1239 + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
1366 1240 "dev": true,
1367 − "dependencies": {
1368 − "call-bind": "^1.0.2",
1369 − "get-intrinsic": "^1.1.1"
1370 − },
1371 1241 "engines": {
1372 − "node": ">= 0.4"
1242 + "node": ">=12"
1373 1243 },
1374 1244 "funding": {
1375 − "url": "https://github.com/sponsors/ljharb"
1245 + "url": "https://github.com/sponsors/sindresorhus"
1246 + }
1247 + },
1248 + "node_modules/get-stream": {
1249 + "version": "2.3.1",
1250 + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
1251 + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==",
1252 + "dev": true,
1253 + "dependencies": {
1254 + "object-assign": "^4.0.1",
1255 + "pinkie-promise": "^2.0.0"
1256 + },
1257 + "engines": {
1258 + "node": ">=0.10.0"
1376 1259 }
1377 1260 },
1378 1261 "node_modules/glob": {
@@ -1425,9 +1308,9 @@
1425 1308 }
1426 1309 },
1427 1310 "node_modules/globals": {
1428 − "version": "13.17.0",
1429 − "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
1430 − "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
1311 + "version": "13.20.0",
1312 + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
1313 + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
1431 1314 "dev": true,
1432 1315 "dependencies": {
1433 1316 "type-fest": "^0.20.2"
@@ -1440,9 +1323,9 @@
1440 1323 }
1441 1324 },
1442 1325 "node_modules/globalthis": {
1443 − "version": "1.0.2",
1444 − "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz",
1445 − "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==",
1326 + "version": "1.0.3",
1327 + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
1328 + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
1446 1329 "dev": true,
1447 1330 "dependencies": {
1448 1331 "define-properties": "^1.1.3"
@@ -1474,14 +1357,20 @@
1474 1357 "url": "https://github.com/sponsors/sindresorhus"
1475 1358 }
1476 1359 },
1477 − "node_modules/grapheme-splitter": {
1478 − "version": "1.0.4",
1479 − "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
1480 − "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
1360 + "node_modules/graceful-fs": {
1361 + "version": "4.2.11",
1362 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
1363 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
1481 1364 "dev": true
1482 1365 },
1483 − "node_modules/has": {
1484 − "version": "1.0.3",
1366 + "node_modules/graphemer": {
1367 + "version": "1.4.0",
1368 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
1369 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
1370 + "dev": true
1371 + },
1372 + "node_modules/has": {
1373 + "version": "1.0.3",
1485 1374 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1486 1375 "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1487 1376 "dev": true,
@@ -1492,15 +1381,6 @@
1492 1381 "node": ">= 0.4.0"
1493 1382 }
1494 1383 },
1495 − "node_modules/has-bigints": {
1496 − "version": "1.0.2",
1497 − "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
1498 − "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
1499 − "dev": true,
1500 − "funding": {
1501 − "url": "https://github.com/sponsors/ljharb"
1502 − }
1503 − },
1504 1384 "node_modules/has-flag": {
1505 1385 "version": "4.0.0",
1506 1386 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -1522,10 +1402,10 @@
1522 1402 "url": "https://github.com/sponsors/ljharb"
1523 1403 }
1524 1404 },
1525 − "node_modules/has-symbols": {
1526 − "version": "1.0.3",
1527 − "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1528 − "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
1405 + "node_modules/has-proto": {
1406 + "version": "1.0.1",
1407 + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
1408 + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
1529 1409 "dev": true,
1530 1410 "engines": {
1531 1411 "node": ">= 0.4"
@@ -1534,14 +1414,11 @@
1534 1414 "url": "https://github.com/sponsors/ljharb"
1535 1415 }
1536 1416 },
1537 − "node_modules/has-tostringtag": {
1538 − "version": "1.0.0",
1539 − "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
1540 − "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
1417 + "node_modules/has-symbols": {
1418 + "version": "1.0.3",
1419 + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1420 + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
1541 1421 "dev": true,
1542 − "dependencies": {
1543 − "has-symbols": "^1.0.2"
1544 − },
1545 1422 "engines": {
1546 1423 "node": ">= 0.4"
1547 1424 },
@@ -1549,25 +1426,30 @@
1549 1426 "url": "https://github.com/sponsors/ljharb"
1550 1427 }
1551 1428 },
1552 − "node_modules/husky": {
1553 − "version": "8.0.1",
1554 − "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz",
1555 − "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==",
1429 + "node_modules/ieee754": {
1430 + "version": "1.2.1",
1431 + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
1432 + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
1556 1433 "dev": true,
1557 − "bin": {
1558 − "husky": "lib/bin.js"
1559 − },
1560 − "engines": {
1561 − "node": ">=14"
1562 − },
1563 − "funding": {
1564 − "url": "https://github.com/sponsors/typicode"
1565 − }
1434 + "funding": [
1435 + {
1436 + "type": "github",
1437 + "url": "https://github.com/sponsors/feross"
1438 + },
1439 + {
1440 + "type": "patreon",
1441 + "url": "https://www.patreon.com/feross"
1442 + },
1443 + {
1444 + "type": "consulting",
1445 + "url": "https://feross.org/support"
1446 + }
1447 + ]
1566 1448 },
1567 1449 "node_modules/ignore": {
1568 − "version": "5.2.0",
1569 − "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
1570 − "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
1450 + "version": "5.2.4",
1451 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
1452 + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
1571 1453 "dev": true,
1572 1454 "engines": {
1573 1455 "node": ">= 4"
@@ -1623,87 +1505,6 @@
1623 1505 "node": ">=10"
1624 1506 }
1625 1507 },
1626 − "node_modules/internal-slot": {
1627 − "version": "1.0.3",
1628 − "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
1629 − "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
1630 − "dev": true,
1631 − "dependencies": {
1632 − "get-intrinsic": "^1.1.0",
1633 − "has": "^1.0.3",
1634 − "side-channel": "^1.0.4"
1635 − },
1636 − "engines": {
1637 − "node": ">= 0.4"
1638 − }
1639 − },
1640 − "node_modules/is-bigint": {
1641 − "version": "1.0.4",
1642 − "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
1643 − "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
1644 − "dev": true,
1645 − "dependencies": {
1646 − "has-bigints": "^1.0.1"
1647 − },
1648 − "funding": {
1649 − "url": "https://github.com/sponsors/ljharb"
1650 − }
1651 − },
1652 − "node_modules/is-boolean-object": {
1653 − "version": "1.1.2",
1654 − "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
1655 − "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
1656 − "dev": true,
1657 − "dependencies": {
1658 − "call-bind": "^1.0.2",
1659 − "has-tostringtag": "^1.0.0"
1660 − },
1661 − "engines": {
1662 − "node": ">= 0.4"
1663 − },
1664 − "funding": {
1665 − "url": "https://github.com/sponsors/ljharb"
1666 − }
1667 − },
1668 − "node_modules/is-callable": {
1669 − "version": "1.2.4",
1670 − "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
1671 − "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
1672 − "dev": true,
1673 − "engines": {
1674 − "node": ">= 0.4"
1675 − },
1676 − "funding": {
1677 − "url": "https://github.com/sponsors/ljharb"
1678 − }
1679 − },
1680 − "node_modules/is-core-module": {
1681 − "version": "2.9.0",
1682 − "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
1683 − "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
1684 − "dev": true,
1685 − "dependencies": {
1686 − "has": "^1.0.3"
1687 − },
1688 − "funding": {
1689 − "url": "https://github.com/sponsors/ljharb"
1690 − }
1691 − },
1692 − "node_modules/is-date-object": {
1693 − "version": "1.0.5",
1694 − "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
1695 − "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
1696 − "dev": true,
1697 − "dependencies": {
1698 − "has-tostringtag": "^1.0.0"
1699 − },
1700 − "engines": {
1701 − "node": ">= 0.4"
1702 − },
1703 − "funding": {
1704 − "url": "https://github.com/sponsors/ljharb"
1705 − }
1706 − },
1707 1508 "node_modules/is-extglob": {
1708 1509 "version": "2.1.1",
1709 1510 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -1734,17 +1535,11 @@
1734 1535 "node": ">=0.10.0"
1735 1536 }
1736 1537 },
1737 − "node_modules/is-negative-zero": {
1738 − "version": "2.0.2",
1739 − "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
1740 − "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
1741 − "dev": true,
1742 − "engines": {
1743 − "node": ">= 0.4"
1744 − },
1745 − "funding": {
1746 − "url": "https://github.com/sponsors/ljharb"
1747 − }
1538 + "node_modules/is-natural-number": {
1539 + "version": "4.0.1",
1540 + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
1541 + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==",
1542 + "dev": true
1748 1543 },
1749 1544 "node_modules/is-number": {
1750 1545 "version": "7.0.0",
@@ -1755,109 +1550,54 @@
1755 1550 "node": ">=0.12.0"
1756 1551 }
1757 1552 },
1758 − "node_modules/is-number-object": {
1759 − "version": "1.0.7",
1760 − "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
1761 − "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
1553 + "node_modules/is-path-inside": {
1554 + "version": "3.0.3",
1555 + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
1556 + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
1762 1557 "dev": true,
1763 − "dependencies": {
1764 − "has-tostringtag": "^1.0.0"
1765 − },
1766 1558 "engines": {
1767 − "node": ">= 0.4"
1768 − },
1769 − "funding": {
1770 − "url": "https://github.com/sponsors/ljharb"
1559 + "node": ">=8"
1771 1560 }
1772 1561 },
1773 − "node_modules/is-regex": {
1774 − "version": "1.1.4",
1775 − "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
1776 − "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
1562 + "node_modules/is-stream": {
1563 + "version": "1.1.0",
1564 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1565 + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
1777 1566 "dev": true,
1778 − "dependencies": {
1779 − "call-bind": "^1.0.2",
1780 − "has-tostringtag": "^1.0.0"
1781 − },
1782 1567 "engines": {
1783 − "node": ">= 0.4"
1784 − },
1785 − "funding": {
1786 − "url": "https://github.com/sponsors/ljharb"
1568 + "node": ">=0.10.0"
1787 1569 }
1788 1570 },
1789 − "node_modules/is-shared-array-buffer": {
1790 − "version": "1.0.2",
1791 − "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
1792 − "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
1793 − "dev": true,
1794 − "dependencies": {
1795 − "call-bind": "^1.0.2"
1796 − },
1797 − "funding": {
1798 − "url": "https://github.com/sponsors/ljharb"
1799 − }
1571 + "node_modules/isarray": {
1572 + "version": "1.0.0",
1573 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1574 + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
1575 + "dev": true
1800 1576 },
1801 − "node_modules/is-string": {
1802 − "version": "1.0.7",
1803 − "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
1804 − "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
1805 − "dev": true,
1806 − "dependencies": {
1807 − "has-tostringtag": "^1.0.0"
1808 − },
1809 − "engines": {
1810 − "node": ">= 0.4"
1811 − },
1812 − "funding": {
1813 − "url": "https://github.com/sponsors/ljharb"
1814 − }
1577 + "node_modules/isexe": {
1578 + "version": "2.0.0",
1579 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1580 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1581 + "dev": true
1815 1582 },
1816 − "node_modules/is-symbol": {
1817 − "version": "1.0.4",
1818 − "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
1819 − "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
1583 + "node_modules/jackspeak": {
1584 + "version": "2.2.1",
1585 + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
1586 + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
1820 1587 "dev": true,
1821 1588 "dependencies": {
1822 − "has-symbols": "^1.0.2"
1589 + "@isaacs/cliui": "^8.0.2"
1823 1590 },
1824 1591 "engines": {
1825 − "node": ">= 0.4"
1592 + "node": ">=14"
1826 1593 },
1827 1594 "funding": {
1828 − "url": "https://github.com/sponsors/ljharb"
1829 − }
1830 − },
1831 − "node_modules/is-weakref": {
1832 − "version": "1.0.2",
1833 − "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
1834 − "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
1835 − "dev": true,
1836 − "dependencies": {
1837 − "call-bind": "^1.0.2"
1595 + "url": "https://github.com/sponsors/isaacs"
1838 1596 },
1839 − "funding": {
1840 − "url": "https://github.com/sponsors/ljharb"
1597 + "optionalDependencies": {
1598 + "@pkgjs/parseargs": "^0.11.0"
1841 1599 }
1842 1600 },
1843 − "node_modules/isexe": {
1844 − "version": "2.0.0",
1845 − "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1846 − "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1847 − "dev": true
1848 − },
1849 − "node_modules/js-sdsl": {
1850 − "version": "4.1.5",
1851 − "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
1852 − "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
1853 − "dev": true
1854 − },
1855 − "node_modules/js-tokens": {
1856 − "version": "4.0.0",
1857 − "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1858 − "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1859 − "dev": true
1860 − },
1861 1601 "node_modules/js-yaml": {
1862 1602 "version": "4.1.0",
1863 1603 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -1888,46 +1628,12 @@
1888 1628 "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
1889 1629 "dev": true
1890 1630 },
1891 − "node_modules/json5": {
1892 − "version": "1.0.2",
1893 − "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
1894 − "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
1895 − "dev": true,
1896 − "dependencies": {
1897 − "minimist": "^1.2.0"
1898 − },
1899 − "bin": {
1900 − "json5": "lib/cli.js"
1901 − }
1902 − },
1903 − "node_modules/jsx-ast-utils": {
1904 − "version": "3.3.3",
1905 − "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
1906 − "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
1907 − "dev": true,
1908 − "dependencies": {
1909 − "array-includes": "^3.1.5",
1910 − "object.assign": "^4.1.3"
1911 − },
1912 − "engines": {
1913 − "node": ">=4.0"
1914 − }
1915 − },
1916 − "node_modules/language-subtag-registry": {
1917 − "version": "0.3.21",
1918 − "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz",
1919 − "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==",
1631 + "node_modules/jsonc-parser": {
1632 + "version": "3.2.0",
1633 + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
1634 + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
1920 1635 "dev": true
1921 1636 },
1922 − "node_modules/language-tags": {
1923 − "version": "1.0.5",
1924 − "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
1925 − "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=",
1926 − "dev": true,
1927 − "dependencies": {
1928 − "language-subtag-registry": "~0.3.2"
1929 − }
1930 − },
1931 1637 "node_modules/levn": {
1932 1638 "version": "0.4.1",
1933 1639 "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -1950,37 +1656,12 @@
1950 1656 "uc.micro": "^1.0.1"
1951 1657 }
1952 1658 },
1953 − "node_modules/locate-path": {
1954 − "version": "2.0.0",
1955 − "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
1956 − "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
1957 − "dev": true,
1958 − "dependencies": {
1959 − "p-locate": "^2.0.0",
1960 − "path-exists": "^3.0.0"
1961 − },
1962 − "engines": {
1963 − "node": ">=4"
1964 − }
1965 − },
1966 1659 "node_modules/lodash.merge": {
1967 1660 "version": "4.6.2",
1968 1661 "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
1969 1662 "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
1970 1663 "dev": true
1971 1664 },
1972 − "node_modules/loose-envify": {
1973 − "version": "1.4.0",
1974 − "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1975 − "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1976 − "dev": true,
1977 − "dependencies": {
1978 − "js-tokens": "^3.0.0 || ^4.0.0"
1979 − },
1980 − "bin": {
1981 − "loose-envify": "cli.js"
1982 − }
1983 − },
1984 1665 "node_modules/lru-cache": {
1985 1666 "version": "6.0.0",
1986 1667 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -1992,6 +1673,27 @@
1992 1673 "node": ">=10"
1993 1674 }
1994 1675 },
1676 + "node_modules/make-dir": {
1677 + "version": "1.3.0",
1678 + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
1679 + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
1680 + "dev": true,
1681 + "dependencies": {
1682 + "pify": "^3.0.0"
1683 + },
1684 + "engines": {
1685 + "node": ">=4"
1686 + }
1687 + },
1688 + "node_modules/make-dir/node_modules/pify": {
1689 + "version": "3.0.0",
1690 + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1691 + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
1692 + "dev": true,
1693 + "engines": {
1694 + "node": ">=4"
1695 + }
1696 + },
1995 1697 "node_modules/markdown-it": {
1996 1698 "version": "13.0.1",
1997 1699 "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
@@ -2009,56 +1711,144 @@
2009 1711 }
2010 1712 },
2011 1713 "node_modules/markdownlint": {
2012 − "version": "0.26.2",
2013 − "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz",
2014 − "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==",
1714 + "version": "0.29.0",
1715 + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.29.0.tgz",
1716 + "integrity": "sha512-ASAzqpODstu/Qsk0xW5BPgWnK/qjpBQ4e7IpsSvvFXcfYIjanLTdwFRJK1SIEEh0fGSMKXcJf/qhaZYHyME0wA==",
2015 1717 "dev": true,
2016 1718 "dependencies": {
2017 − "markdown-it": "13.0.1"
1719 + "markdown-it": "13.0.1",
1720 + "markdownlint-micromark": "0.1.5"
2018 1721 },
2019 1722 "engines": {
2020 − "node": ">=14"
1723 + "node": ">=16"
2021 1724 }
2022 1725 },
2023 − "node_modules/matcher": {
2024 − "version": "3.0.0",
2025 − "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
2026 − "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
1726 + "node_modules/markdownlint-cli": {
1727 + "version": "0.35.0",
1728 + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.35.0.tgz",
1729 + "integrity": "sha512-lVIIIV1MrUtjoocgDqXLxUCxlRbn7Ve8rsWppfwciUNwLlNS28AhNiyQ3PU7jjj4Qvj+rWTTvwkqg7AcdG988g==",
2027 1730 "dev": true,
2028 1731 "dependencies": {
2029 − "escape-string-regexp": "^4.0.0"
1732 + "commander": "~11.0.0",
1733 + "get-stdin": "~9.0.0",
1734 + "glob": "~10.2.7",
1735 + "ignore": "~5.2.4",
1736 + "js-yaml": "^4.1.0",
1737 + "jsonc-parser": "~3.2.0",
1738 + "markdownlint": "~0.29.0",
1739 + "minimatch": "~9.0.1",
1740 + "run-con": "~1.2.11"
1741 + },
1742 + "bin": {
1743 + "markdownlint": "markdownlint.js"
2030 1744 },
2031 1745 "engines": {
2032 − "node": ">=10"
1746 + "node": ">=16"
2033 1747 }
2034 1748 },
2035 − "node_modules/mdurl": {
2036 − "version": "1.0.1",
2037 − "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
2038 − "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
2039 − "dev": true
1749 + "node_modules/markdownlint-cli/node_modules/brace-expansion": {
1750 + "version": "2.0.1",
1751 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
1752 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
1753 + "dev": true,
1754 + "dependencies": {
1755 + "balanced-match": "^1.0.0"
1756 + }
2040 1757 },
2041 − "node_modules/merge2": {
2042 − "version": "1.4.1",
2043 − "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
2044 − "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1758 + "node_modules/markdownlint-cli/node_modules/commander": {
1759 + "version": "11.0.0",
1760 + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
1761 + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
2045 1762 "dev": true,
2046 1763 "engines": {
2047 − "node": ">= 8"
1764 + "node": ">=16"
2048 1765 }
2049 1766 },
2050 − "node_modules/micromatch": {
2051 − "version": "4.0.5",
2052 − "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
2053 − "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
1767 + "node_modules/markdownlint-cli/node_modules/glob": {
1768 + "version": "10.2.7",
1769 + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz",
1770 + "integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==",
2054 1771 "dev": true,
2055 1772 "dependencies": {
2056 − "braces": "^3.0.2",
2057 − "picomatch": "^2.3.1"
1773 + "foreground-child": "^3.1.0",
1774 + "jackspeak": "^2.0.3",
1775 + "minimatch": "^9.0.1",
1776 + "minipass": "^5.0.0 || ^6.0.2",
1777 + "path-scurry": "^1.7.0"
1778 + },
1779 + "bin": {
1780 + "glob": "dist/cjs/src/bin.js"
2058 1781 },
2059 1782 "engines": {
2060 − "node": ">=8.6"
2061 − }
1783 + "node": ">=16 || 14 >=14.17"
1784 + },
1785 + "funding": {
1786 + "url": "https://github.com/sponsors/isaacs"
1787 + }
1788 + },
1789 + "node_modules/markdownlint-cli/node_modules/minimatch": {
1790 + "version": "9.0.3",
1791 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
1792 + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
1793 + "dev": true,
1794 + "dependencies": {
1795 + "brace-expansion": "^2.0.1"
1796 + },
1797 + "engines": {
1798 + "node": ">=16 || 14 >=14.17"
1799 + },
1800 + "funding": {
1801 + "url": "https://github.com/sponsors/isaacs"
1802 + }
1803 + },
1804 + "node_modules/markdownlint-micromark": {
1805 + "version": "0.1.5",
1806 + "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.5.tgz",
1807 + "integrity": "sha512-HvofNU4QCvfUCWnocQP1IAWaqop5wpWrB0mKB6SSh0fcpV0PdmQNS6tdUuFew1utpYlUvYYzz84oDkrD76GB9A==",
1808 + "dev": true,
1809 + "engines": {
1810 + "node": ">=16"
1811 + }
1812 + },
1813 + "node_modules/matcher": {
1814 + "version": "3.0.0",
1815 + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
1816 + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
1817 + "dev": true,
1818 + "dependencies": {
1819 + "escape-string-regexp": "^4.0.0"
1820 + },
1821 + "engines": {
1822 + "node": ">=10"
1823 + }
1824 + },
1825 + "node_modules/mdurl": {
1826 + "version": "1.0.1",
1827 + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
1828 + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
1829 + "dev": true
1830 + },
1831 + "node_modules/merge2": {
1832 + "version": "1.4.1",
1833 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1834 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1835 + "dev": true,
1836 + "engines": {
1837 + "node": ">= 8"
1838 + }
1839 + },
1840 + "node_modules/micromatch": {
1841 + "version": "4.0.5",
1842 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
1843 + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
1844 + "dev": true,
1845 + "dependencies": {
1846 + "braces": "^3.0.2",
1847 + "picomatch": "^2.3.1"
1848 + },
1849 + "engines": {
1850 + "node": ">=8.6"
1851 + }
2062 1852 },
2063 1853 "node_modules/minimatch": {
2064 1854 "version": "3.1.2",
@@ -2073,10 +1863,22 @@
2073 1863 }
2074 1864 },
2075 1865 "node_modules/minimist": {
2076 − "version": "1.2.6",
2077 − "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
2078 − "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
2079 − "dev": true
1866 + "version": "1.2.8",
1867 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
1868 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
1869 + "dev": true,
1870 + "funding": {
1871 + "url": "https://github.com/sponsors/ljharb"
1872 + }
1873 + },
1874 + "node_modules/minipass": {
1875 + "version": "6.0.2",
1876 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz",
1877 + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==",
1878 + "dev": true,
1879 + "engines": {
1880 + "node": ">=16 || 14 >=14.17"
1881 + }
2080 1882 },
2081 1883 "node_modules/ms": {
2082 1884 "version": "2.1.2",
@@ -2114,15 +1916,6 @@
2114 1916 "node": ">=0.10.0"
2115 1917 }
2116 1918 },
2117 − "node_modules/object-inspect": {
2118 − "version": "1.12.0",
2119 − "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
2120 − "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
2121 − "dev": true,
2122 − "funding": {
2123 − "url": "https://github.com/sponsors/ljharb"
2124 − }
2125 − },
2126 1919 "node_modules/object-keys": {
2127 1920 "version": "1.1.1",
2128 1921 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
@@ -2132,85 +1925,6 @@
2132 1925 "node": ">= 0.4"
2133 1926 }
2134 1927 },
2135 − "node_modules/object.assign": {
2136 − "version": "4.1.4",
2137 − "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
2138 − "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
2139 − "dev": true,
2140 − "dependencies": {
2141 − "call-bind": "^1.0.2",
2142 − "define-properties": "^1.1.4",
2143 − "has-symbols": "^1.0.3",
2144 − "object-keys": "^1.1.1"
2145 − },
2146 − "engines": {
2147 − "node": ">= 0.4"
2148 − },
2149 − "funding": {
2150 − "url": "https://github.com/sponsors/ljharb"
2151 − }
2152 − },
2153 − "node_modules/object.entries": {
2154 − "version": "1.1.5",
2155 − "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz",
2156 − "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==",
2157 − "dev": true,
2158 − "dependencies": {
2159 − "call-bind": "^1.0.2",
2160 − "define-properties": "^1.1.3",
2161 − "es-abstract": "^1.19.1"
2162 − },
2163 − "engines": {
2164 − "node": ">= 0.4"
2165 − }
2166 − },
2167 − "node_modules/object.fromentries": {
2168 − "version": "2.0.5",
2169 − "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz",
2170 − "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==",
2171 − "dev": true,
2172 − "dependencies": {
2173 − "call-bind": "^1.0.2",
2174 − "define-properties": "^1.1.3",
2175 − "es-abstract": "^1.19.1"
2176 − },
2177 − "engines": {
2178 − "node": ">= 0.4"
2179 − },
2180 − "funding": {
2181 − "url": "https://github.com/sponsors/ljharb"
2182 − }
2183 − },
2184 − "node_modules/object.hasown": {
2185 − "version": "1.1.1",
2186 − "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz",
2187 − "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==",
2188 − "dev": true,
2189 − "dependencies": {
2190 − "define-properties": "^1.1.4",
2191 − "es-abstract": "^1.19.5"
2192 − },
2193 − "funding": {
2194 − "url": "https://github.com/sponsors/ljharb"
2195 − }
2196 − },
2197 − "node_modules/object.values": {
2198 − "version": "1.1.5",
2199 − "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
2200 − "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
2201 − "dev": true,
2202 − "dependencies": {
2203 − "call-bind": "^1.0.2",
2204 − "define-properties": "^1.1.3",
2205 − "es-abstract": "^1.19.1"
2206 − },
2207 − "engines": {
2208 − "node": ">= 0.4"
2209 − },
2210 − "funding": {
2211 − "url": "https://github.com/sponsors/ljharb"
2212 − }
2213 − },
2214 1928 "node_modules/once": {
2215 1929 "version": "1.4.0",
2216 1930 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -2237,39 +1951,6 @@
2237 1951 "node": ">= 0.8.0"
2238 1952 }
2239 1953 },
2240 − "node_modules/p-limit": {
2241 − "version": "1.3.0",
2242 − "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
2243 − "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
2244 − "dev": true,
2245 − "dependencies": {
2246 − "p-try": "^1.0.0"
2247 − },
2248 − "engines": {
2249 − "node": ">=4"
2250 − }
2251 − },
2252 − "node_modules/p-locate": {
2253 − "version": "2.0.0",
2254 − "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
2255 − "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
2256 − "dev": true,
2257 − "dependencies": {
2258 − "p-limit": "^1.1.0"
2259 − },
2260 − "engines": {
2261 − "node": ">=4"
2262 − }
2263 − },
2264 − "node_modules/p-try": {
2265 − "version": "1.0.0",
2266 − "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
2267 − "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
2268 − "dev": true,
2269 − "engines": {
2270 − "node": ">=4"
2271 − }
2272 − },
2273 1954 "node_modules/parent-module": {
2274 1955 "version": "1.0.1",
2275 1956 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -2282,15 +1963,6 @@
2282 1963 "node": ">=6"
2283 1964 }
2284 1965 },
2285 − "node_modules/path-exists": {
2286 − "version": "3.0.0",
2287 − "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
2288 − "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
2289 − "dev": true,
2290 − "engines": {
2291 − "node": ">=4"
2292 − }
2293 − },
2294 1966 "node_modules/path-is-absolute": {
2295 1967 "version": "1.0.1",
2296 1968 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -2309,11 +1981,30 @@
2309 1981 "node": ">=8"
2310 1982 }
2311 1983 },
2312 − "node_modules/path-parse": {
2313 − "version": "1.0.7",
2314 − "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2315 − "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2316 − "dev": true
1984 + "node_modules/path-scurry": {
1985 + "version": "1.10.1",
1986 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
1987 + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
1988 + "dev": true,
1989 + "dependencies": {
1990 + "lru-cache": "^9.1.1 || ^10.0.0",
1991 + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
1992 + },
1993 + "engines": {
1994 + "node": ">=16 || 14 >=14.17"
1995 + },
1996 + "funding": {
1997 + "url": "https://github.com/sponsors/isaacs"
1998 + }
1999 + },
2000 + "node_modules/path-scurry/node_modules/lru-cache": {
2001 + "version": "10.0.0",
2002 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
2003 + "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==",
2004 + "dev": true,
2005 + "engines": {
2006 + "node": "14 || >=16.14"
2007 + }
2317 2008 },
2318 2009 "node_modules/path-type": {
2319 2010 "version": "4.0.0",
@@ -2324,6 +2015,12 @@
2324 2015 "node": ">=8"
2325 2016 }
2326 2017 },
2018 + "node_modules/pend": {
2019 + "version": "1.2.0",
2020 + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
2021 + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
2022 + "dev": true
2023 + },
2327 2024 "node_modules/picomatch": {
2328 2025 "version": "2.3.1",
2329 2026 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
@@ -2336,6 +2033,36 @@
2336 2033 "url": "https://github.com/sponsors/jonschlinkert"
2337 2034 }
2338 2035 },
2036 + "node_modules/pify": {
2037 + "version": "2.3.0",
2038 + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2039 + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
2040 + "dev": true,
2041 + "engines": {
2042 + "node": ">=0.10.0"
2043 + }
2044 + },
2045 + "node_modules/pinkie": {
2046 + "version": "2.0.4",
2047 + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
2048 + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
2049 + "dev": true,
2050 + "engines": {
2051 + "node": ">=0.10.0"
2052 + }
2053 + },
2054 + "node_modules/pinkie-promise": {
2055 + "version": "2.0.1",
2056 + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
2057 + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
2058 + "dev": true,
2059 + "dependencies": {
2060 + "pinkie": "^2.0.0"
2061 + },
2062 + "engines": {
2063 + "node": ">=0.10.0"
2064 + }
2065 + },
2339 2066 "node_modules/prelude-ls": {
2340 2067 "version": "1.2.1",
2341 2068 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -2346,9 +2073,9 @@
2346 2073 }
2347 2074 },
2348 2075 "node_modules/prettier": {
2349 − "version": "2.7.1",
2350 − "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
2351 − "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
2076 + "version": "2.8.8",
2077 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
2078 + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
2352 2079 "dev": true,
2353 2080 "bin": {
2354 2081 "prettier": "bin-prettier.js"
@@ -2360,21 +2087,16 @@
2360 2087 "url": "https://github.com/prettier/prettier?sponsor=1"
2361 2088 }
2362 2089 },
2363 − "node_modules/prop-types": {
2364 − "version": "15.8.1",
2365 − "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
2366 − "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
2367 − "dev": true,
2368 − "dependencies": {
2369 − "loose-envify": "^1.4.0",
2370 − "object-assign": "^4.1.1",
2371 − "react-is": "^16.13.1"
2372 − }
2090 + "node_modules/process-nextick-args": {
2091 + "version": "2.0.1",
2092 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
2093 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
2094 + "dev": true
2373 2095 },
2374 2096 "node_modules/punycode": {
2375 − "version": "2.1.1",
2376 − "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2377 − "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2097 + "version": "2.3.0",
2098 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
2099 + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
2378 2100 "dev": true,
2379 2101 "engines": {
2380 2102 "node": ">=6"
@@ -2400,46 +2122,26 @@
2400 2122 }
2401 2123 ]
2402 2124 },
2403 − "node_modules/react-is": {
2404 − "version": "16.13.1",
2405 − "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
2406 − "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
2407 − "dev": true
2408 − },
2409 − "node_modules/regenerator-runtime": {
2410 − "version": "0.13.9",
2411 − "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
2412 − "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
2413 − "dev": true
2414 − },
2415 − "node_modules/regexp.prototype.flags": {
2416 − "version": "1.4.3",
2417 − "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
2418 − "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
2125 + "node_modules/readable-stream": {
2126 + "version": "2.3.8",
2127 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
2128 + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
2419 2129 "dev": true,
2420 2130 "dependencies": {
2421 − "call-bind": "^1.0.2",
2422 − "define-properties": "^1.1.3",
2423 − "functions-have-names": "^1.2.2"
2424 − },
2425 − "engines": {
2426 − "node": ">= 0.4"
2427 − },
2428 − "funding": {
2429 − "url": "https://github.com/sponsors/ljharb"
2131 + "core-util-is": "~1.0.0",
2132 + "inherits": "~2.0.3",
2133 + "isarray": "~1.0.0",
2134 + "process-nextick-args": "~2.0.0",
2135 + "safe-buffer": "~5.1.1",
2136 + "string_decoder": "~1.1.1",
2137 + "util-deprecate": "~1.0.1"
2430 2138 }
2431 2139 },
2432 − "node_modules/regexpp": {
2433 − "version": "3.2.0",
2434 − "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
2435 − "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
2436 − "dev": true,
2437 − "engines": {
2438 − "node": ">=8"
2439 − },
2440 − "funding": {
2441 − "url": "https://github.com/sponsors/mysticatea"
2442 − }
2140 + "node_modules/readable-stream/node_modules/safe-buffer": {
2141 + "version": "5.1.2",
2142 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2143 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2144 + "dev": true
2443 2145 },
2444 2146 "node_modules/require-directory": {
2445 2147 "version": "2.1.1",
@@ -2450,23 +2152,6 @@
2450 2152 "node": ">=0.10.0"
2451 2153 }
2452 2154 },
2453 − "node_modules/resolve": {
2454 − "version": "1.22.0",
2455 − "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
2456 − "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
2457 − "dev": true,
2458 − "dependencies": {
2459 − "is-core-module": "^2.8.1",
2460 − "path-parse": "^1.0.7",
2461 − "supports-preserve-symlinks-flag": "^1.0.0"
2462 − },
2463 − "bin": {
2464 − "resolve": "bin/resolve"
2465 − },
2466 − "funding": {
2467 − "url": "https://github.com/sponsors/ljharb"
2468 − }
2469 − },
2470 2155 "node_modules/resolve-from": {
2471 2156 "version": "4.0.0",
2472 2157 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -2518,6 +2203,30 @@
2518 2203 "node": ">=8.0"
2519 2204 }
2520 2205 },
2206 + "node_modules/run-con": {
2207 + "version": "1.2.12",
2208 + "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.12.tgz",
2209 + "integrity": "sha512-5257ILMYIF4RztL9uoZ7V9Q97zHtNHn5bN3NobeAnzB1P3ASLgg8qocM2u+R18ttp+VEM78N2LK8XcNVtnSRrg==",
2210 + "dev": true,
2211 + "dependencies": {
2212 + "deep-extend": "^0.6.0",
2213 + "ini": "~3.0.0",
2214 + "minimist": "^1.2.8",
2215 + "strip-json-comments": "~3.1.1"
2216 + },
2217 + "bin": {
2218 + "run-con": "cli.js"
2219 + }
2220 + },
2221 + "node_modules/run-con/node_modules/ini": {
2222 + "version": "3.0.1",
2223 + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
2224 + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==",
2225 + "dev": true,
2226 + "engines": {
2227 + "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
2228 + }
2229 + },
2521 2230 "node_modules/run-parallel": {
2522 2231 "version": "1.2.0",
2523 2232 "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -2541,16 +2250,49 @@
2541 2250 "queue-microtask": "^1.2.2"
2542 2251 }
2543 2252 },
2253 + "node_modules/safe-buffer": {
2254 + "version": "5.2.1",
2255 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2256 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2257 + "dev": true,
2258 + "funding": [
2259 + {
2260 + "type": "github",
2261 + "url": "https://github.com/sponsors/feross"
2262 + },
2263 + {
2264 + "type": "patreon",
2265 + "url": "https://www.patreon.com/feross"
2266 + },
2267 + {
2268 + "type": "consulting",
2269 + "url": "https://feross.org/support"
2270 + }
2271 + ]
2272 + },
2544 2273 "node_modules/secure-keys": {
2545 2274 "version": "1.0.0",
2546 2275 "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
2547 2276 "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=",
2548 2277 "dev": true
2549 2278 },
2279 + "node_modules/seek-bzip": {
2280 + "version": "1.0.6",
2281 + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
2282 + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==",
2283 + "dev": true,
2284 + "dependencies": {
2285 + "commander": "^2.8.1"
2286 + },
2287 + "bin": {
2288 + "seek-bunzip": "bin/seek-bunzip",
2289 + "seek-table": "bin/seek-bzip-table"
2290 + }
2291 + },
2550 2292 "node_modules/semver": {
2551 − "version": "7.5.2",
2552 − "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
2553 − "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
2293 + "version": "7.5.3",
2294 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
2295 + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
2554 2296 "dependencies": {
2555 2297 "lru-cache": "^6.0.0"
2556 2298 },
@@ -2616,30 +2358,31 @@
2616 2358 }
2617 2359 },
2618 2360 "node_modules/shellcheck": {
2619 − "version": "1.1.0",
2620 − "resolved": "https://registry.npmjs.org/shellcheck/-/shellcheck-1.1.0.tgz",
2621 − "integrity": "sha512-WtLqgjHg7667gGU+0dPV1EtoQgYL/Zxc4fhRt6Z3kfpASG3J08TBJ990HVIUnN/YWUBKMr3FVbBYlEvPVJ24bA==",
2361 + "version": "2.2.0",
2362 + "resolved": "https://registry.npmjs.org/shellcheck/-/shellcheck-2.2.0.tgz",
2363 + "integrity": "sha512-rMt0WhmeqRrKMUqyTlkL6pd0zY27FRQMQWjQhpHMQETwG2ykc8gz+QGGtxHym4R2np646QgQAcq04sAEo3SWhA==",
2622 2364 "dev": true,
2623 − "hasInstallScript": true,
2624 2365 "dependencies": {
2366 + "decompress": "^4.2.1",
2625 2367 "global-agent": "^3.0.0"
2626 2368 },
2627 2369 "bin": {
2628 − "shellcheck": "shellcheck-stable/shellcheck"
2370 + "shellcheck": "bin/shellcheck.js"
2371 + },
2372 + "engines": {
2373 + "node": ">=18.4.0 || >=16.17.0"
2629 2374 }
2630 2375 },
2631 − "node_modules/side-channel": {
2632 − "version": "1.0.4",
2633 − "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
2634 − "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
2376 + "node_modules/signal-exit": {
2377 + "version": "4.0.2",
2378 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
2379 + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
2635 2380 "dev": true,
2636 − "dependencies": {
2637 − "call-bind": "^1.0.0",
2638 − "get-intrinsic": "^1.0.2",
2639 − "object-inspect": "^1.9.0"
2381 + "engines": {
2382 + "node": ">=14"
2640 2383 },
2641 2384 "funding": {
2642 − "url": "https://github.com/sponsors/ljharb"
2385 + "url": "https://github.com/sponsors/isaacs"
2643 2386 }
2644 2387 },
2645 2388 "node_modules/slash": {
@@ -2657,6 +2400,21 @@
2657 2400 "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
2658 2401 "dev": true
2659 2402 },
2403 + "node_modules/string_decoder": {
2404 + "version": "1.1.1",
2405 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
2406 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
2407 + "dev": true,
2408 + "dependencies": {
2409 + "safe-buffer": "~5.1.0"
2410 + }
2411 + },
2412 + "node_modules/string_decoder/node_modules/safe-buffer": {
2413 + "version": "5.1.2",
2414 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2415 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2416 + "dev": true
2417 + },
2660 2418 "node_modules/string-width": {
2661 2419 "version": "4.2.3",
2662 2420 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
@@ -2671,58 +2429,47 @@
2671 2429 "node": ">=8"
2672 2430 }
2673 2431 },
2674 − "node_modules/string-width/node_modules/emoji-regex": {
2675 − "version": "8.0.0",
2676 − "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2677 − "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2678 − "dev": true
2679 − },
2680 − "node_modules/string.prototype.matchall": {
2681 − "version": "4.0.7",
2682 − "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz",
2683 − "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==",
2432 + "node_modules/string-width-cjs": {
2433 + "name": "string-width",
2434 + "version": "4.2.3",
2435 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2436 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2684 2437 "dev": true,
2685 2438 "dependencies": {
2686 − "call-bind": "^1.0.2",
2687 − "define-properties": "^1.1.3",
2688 − "es-abstract": "^1.19.1",
2689 − "get-intrinsic": "^1.1.1",
2690 − "has-symbols": "^1.0.3",
2691 − "internal-slot": "^1.0.3",
2692 − "regexp.prototype.flags": "^1.4.1",
2693 − "side-channel": "^1.0.4"
2439 + "emoji-regex": "^8.0.0",
2440 + "is-fullwidth-code-point": "^3.0.0",
2441 + "strip-ansi": "^6.0.1"
2694 2442 },
2695 − "funding": {
2696 − "url": "https://github.com/sponsors/ljharb"
2443 + "engines": {
2444 + "node": ">=8"
2697 2445 }
2698 2446 },
2699 − "node_modules/string.prototype.trimend": {
2700 − "version": "1.0.4",
2701 − "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
2702 − "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
2703 − "dev": true,
2704 − "dependencies": {
2705 − "call-bind": "^1.0.2",
2706 − "define-properties": "^1.1.3"
2707 − },
2708 − "funding": {
2709 − "url": "https://github.com/sponsors/ljharb"
2710 − }
2447 + "node_modules/string-width-cjs/node_modules/emoji-regex": {
2448 + "version": "8.0.0",
2449 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2450 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2451 + "dev": true
2711 2452 },
2712 − "node_modules/string.prototype.trimstart": {
2713 − "version": "1.0.4",
2714 − "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
2715 − "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
2453 + "node_modules/string-width/node_modules/emoji-regex": {
2454 + "version": "8.0.0",
2455 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2456 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2457 + "dev": true
2458 + },
2459 + "node_modules/strip-ansi": {
2460 + "version": "6.0.1",
2461 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2462 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2716 2463 "dev": true,
2717 2464 "dependencies": {
2718 − "call-bind": "^1.0.2",
2719 − "define-properties": "^1.1.3"
2465 + "ansi-regex": "^5.0.1"
2720 2466 },
2721 − "funding": {
2722 − "url": "https://github.com/sponsors/ljharb"
2467 + "engines": {
2468 + "node": ">=8"
2723 2469 }
2724 2470 },
2725 − "node_modules/strip-ansi": {
2471 + "node_modules/strip-ansi-cjs": {
2472 + "name": "strip-ansi",
2726 2473 "version": "6.0.1",
2727 2474 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2728 2475 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
@@ -2734,13 +2481,13 @@
2734 2481 "node": ">=8"
2735 2482 }
2736 2483 },
2737 − "node_modules/strip-bom": {
2738 − "version": "3.0.0",
2739 − "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
2740 − "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
2484 + "node_modules/strip-dirs": {
2485 + "version": "2.1.0",
2486 + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
2487 + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
2741 2488 "dev": true,
2742 − "engines": {
2743 − "node": ">=4"
2489 + "dependencies": {
2490 + "is-natural-number": "^4.0.1"
2744 2491 }
2745 2492 },
2746 2493 "node_modules/strip-json-comments": {
@@ -2767,16 +2514,22 @@
2767 2514 "node": ">=8"
2768 2515 }
2769 2516 },
2770 − "node_modules/supports-preserve-symlinks-flag": {
2771 − "version": "1.0.0",
2772 − "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2773 − "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2517 + "node_modules/tar-stream": {
2518 + "version": "1.6.2",
2519 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
2520 + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
2774 2521 "dev": true,
2775 − "engines": {
2776 − "node": ">= 0.4"
2522 + "dependencies": {
2523 + "bl": "^1.0.0",
2524 + "buffer-alloc": "^1.2.0",
2525 + "end-of-stream": "^1.0.0",
2526 + "fs-constants": "^1.0.0",
2527 + "readable-stream": "^2.3.0",
2528 + "to-buffer": "^1.1.1",
2529 + "xtend": "^4.0.0"
2777 2530 },
2778 − "funding": {
2779 − "url": "https://github.com/sponsors/ljharb"
2531 + "engines": {
2532 + "node": ">= 0.8.0"
2780 2533 }
2781 2534 },
2782 2535 "node_modules/text-table": {
@@ -2785,6 +2538,18 @@
2785 2538 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
2786 2539 "dev": true
2787 2540 },
2541 + "node_modules/through": {
2542 + "version": "2.3.8",
2543 + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2544 + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
2545 + "dev": true
2546 + },
2547 + "node_modules/to-buffer": {
2548 + "version": "1.1.1",
2549 + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
2550 + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
2551 + "dev": true
2552 + },
2788 2553 "node_modules/to-regex-range": {
2789 2554 "version": "5.0.1",
2790 2555 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -2797,18 +2562,6 @@
2797 2562 "node": ">=8.0"
2798 2563 }
2799 2564 },
2800 − "node_modules/tsconfig-paths": {
2801 − "version": "3.14.1",
2802 − "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
2803 − "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
2804 − "dev": true,
2805 − "dependencies": {
2806 − "@types/json5": "^0.0.29",
2807 − "json5": "^1.0.1",
2808 − "minimist": "^1.2.6",
2809 − "strip-bom": "^3.0.0"
2810 − }
2811 − },
2812 2565 "node_modules/tunnel": {
2813 2566 "version": "0.0.6",
2814 2567 "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
@@ -2847,19 +2600,14 @@
2847 2600 "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
2848 2601 "dev": true
2849 2602 },
2850 − "node_modules/unbox-primitive": {
2851 − "version": "1.0.1",
2852 − "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
2853 − "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
2603 + "node_modules/unbzip2-stream": {
2604 + "version": "1.4.3",
2605 + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
2606 + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
2854 2607 "dev": true,
2855 2608 "dependencies": {
2856 − "function-bind": "^1.1.1",
2857 − "has-bigints": "^1.0.1",
2858 − "has-symbols": "^1.0.2",
2859 − "which-boxed-primitive": "^1.0.2"
2860 − },
2861 − "funding": {
2862 − "url": "https://github.com/sponsors/ljharb"
2609 + "buffer": "^5.2.1",
2610 + "through": "^2.3.8"
2863 2611 }
2864 2612 },
2865 2613 "node_modules/uri-js": {
@@ -2871,6 +2619,12 @@
2871 2619 "punycode": "^2.1.0"
2872 2620 }
2873 2621 },
2622 + "node_modules/util-deprecate": {
2623 + "version": "1.0.2",
2624 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2625 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2626 + "dev": true
2627 + },
2874 2628 "node_modules/uuid": {
2875 2629 "version": "8.3.2",
2876 2630 "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
@@ -2894,26 +2648,10 @@
2894 2648 "node": ">= 8"
2895 2649 }
2896 2650 },
2897 − "node_modules/which-boxed-primitive": {
2898 − "version": "1.0.2",
2899 − "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
2900 − "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
2901 − "dev": true,
2902 − "dependencies": {
2903 − "is-bigint": "^1.0.1",
2904 − "is-boolean-object": "^1.1.0",
2905 − "is-number-object": "^1.0.4",
2906 − "is-string": "^1.0.5",
2907 − "is-symbol": "^1.0.3"
2908 − },
2909 − "funding": {
2910 − "url": "https://github.com/sponsors/ljharb"
2911 − }
2912 − },
2913 2651 "node_modules/word-wrap": {
2914 − "version": "1.2.4",
2915 − "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
2916 − "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
2652 + "version": "1.2.3",
2653 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2654 + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2917 2655 "dev": true,
2918 2656 "engines": {
2919 2657 "node": ">=0.10.0"
@@ -2936,12 +2674,39 @@
2936 2674 "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2937 2675 }
2938 2676 },
2677 + "node_modules/wrap-ansi-cjs": {
2678 + "name": "wrap-ansi",
2679 + "version": "7.0.0",
2680 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2681 + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
2682 + "dev": true,
2683 + "dependencies": {
2684 + "ansi-styles": "^4.0.0",
2685 + "string-width": "^4.1.0",
2686 + "strip-ansi": "^6.0.0"
2687 + },
2688 + "engines": {
2689 + "node": ">=10"
2690 + },
2691 + "funding": {
2692 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2693 + }
2694 + },
2939 2695 "node_modules/wrappy": {
2940 2696 "version": "1.0.2",
2941 2697 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2942 2698 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2943 2699 "dev": true
2944 2700 },
2701 + "node_modules/xtend": {
2702 + "version": "4.0.2",
2703 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
2704 + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
2705 + "dev": true,
2706 + "engines": {
2707 + "node": ">=0.4"
2708 + }
2709 + },
2945 2710 "node_modules/y18n": {
2946 2711 "version": "5.0.8",
2947 2712 "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -3012,6 +2777,16 @@
3012 2777 "node": ">=4.0.0"
3013 2778 }
3014 2779 },
2780 + "node_modules/yauzl": {
2781 + "version": "2.10.0",
2782 + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
2783 + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
2784 + "dev": true,
2785 + "dependencies": {
2786 + "buffer-crc32": "~0.2.3",
2787 + "fd-slicer": "~1.1.0"
2788 + }
2789 + },
3015 2790 "node_modules/yocto-queue": {
3016 2791 "version": "0.1.0",
3017 2792 "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
@@ -3024,2223 +2799,5 @@
3024 2799 "url": "https://github.com/sponsors/sindresorhus"
3025 2800 }
3026 2801 }
3027 − },
3028 − "dependencies": {
3029 − "@actions/core": {
3030 − "version": "1.10.0",
3031 − "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
3032 − "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
3033 − "requires": {
3034 − "@actions/http-client": "^2.0.1",
3035 − "uuid": "^8.3.2"
3036 − }
3037 − },
3038 − "@actions/exec": {
3039 − "version": "1.1.1",
3040 − "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
3041 − "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
3042 − "requires": {
3043 − "@actions/io": "^1.0.1"
3044 − }
3045 − },
3046 − "@actions/http-client": {
3047 − "version": "2.1.0",
3048 − "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
3049 − "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
3050 − "requires": {
3051 − "tunnel": "^0.0.6"
3052 − }
3053 − },
3054 − "@actions/io": {
3055 − "version": "1.1.2",
3056 − "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz",
3057 − "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw=="
3058 − },
3059 − "@actions/tool-cache": {
3060 − "version": "2.0.1",
3061 − "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz",
3062 − "integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==",
3063 − "requires": {
3064 − "@actions/core": "^1.2.6",
3065 − "@actions/exec": "^1.0.0",
3066 − "@actions/http-client": "^2.0.1",
3067 − "@actions/io": "^1.1.1",
3068 − "semver": "^6.1.0",
3069 − "uuid": "^3.3.2"
3070 − },
3071 − "dependencies": {
3072 − "semver": {
3073 − "version": "6.3.0",
3074 − "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
3075 − "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
3076 − },
3077 − "uuid": {
3078 − "version": "3.4.0",
3079 − "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
3080 − "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
3081 − }
3082 − }
3083 − },
3084 − "@babel/runtime": {
3085 − "version": "7.19.4",
3086 − "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
3087 − "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
3088 − "dev": true,
3089 − "requires": {
3090 − "regenerator-runtime": "^0.13.4"
3091 − }
3092 − },
3093 − "@babel/runtime-corejs3": {
3094 − "version": "7.17.9",
3095 − "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.9.tgz",
3096 − "integrity": "sha512-WxYHHUWF2uZ7Hp1K+D1xQgbgkGUfA+5UPOegEXGt2Y5SMog/rYCVaifLZDbw8UkNXozEqqrZTy6bglL7xTaCOw==",
3097 − "dev": true,
3098 − "requires": {
3099 − "core-js-pure": "^3.20.2",
3100 − "regenerator-runtime": "^0.13.4"
3101 − }
3102 − },
3103 − "@eslint/eslintrc": {
3104 − "version": "1.3.3",
3105 − "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
3106 − "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
3107 − "dev": true,
3108 − "requires": {
3109 − "ajv": "^6.12.4",
3110 − "debug": "^4.3.2",
3111 − "espree": "^9.4.0",
3112 − "globals": "^13.15.0",
3113 − "ignore": "^5.2.0",
3114 − "import-fresh": "^3.2.1",
3115 − "js-yaml": "^4.1.0",
3116 − "minimatch": "^3.1.2",
3117 − "strip-json-comments": "^3.1.1"
3118 − }
3119 − },
3120 − "@humanwhocodes/config-array": {
3121 − "version": "0.10.7",
3122 − "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
3123 − "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
3124 − "dev": true,
3125 − "requires": {
3126 − "@humanwhocodes/object-schema": "^1.2.1",
3127 − "debug": "^4.1.1",
3128 − "minimatch": "^3.0.4"
3129 − }
3130 − },
3131 − "@humanwhocodes/module-importer": {
3132 − "version": "1.0.1",
3133 − "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
3134 − "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
3135 − "dev": true
3136 − },
3137 − "@humanwhocodes/object-schema": {
3138 − "version": "1.2.1",
3139 − "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
3140 − "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
3141 − "dev": true
3142 − },
3143 − "@nodelib/fs.scandir": {
3144 − "version": "2.1.5",
3145 − "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
3146 − "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
3147 − "dev": true,
3148 − "requires": {
3149 − "@nodelib/fs.stat": "2.0.5",
3150 − "run-parallel": "^1.1.9"
3151 − }
3152 − },
3153 − "@nodelib/fs.stat": {
3154 − "version": "2.0.5",
3155 − "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
3156 − "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
3157 − "dev": true
3158 − },
3159 − "@nodelib/fs.walk": {
3160 − "version": "1.2.8",
3161 − "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
3162 − "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
3163 − "dev": true,
3164 − "requires": {
3165 − "@nodelib/fs.scandir": "2.1.5",
3166 − "fastq": "^1.6.0"
3167 − }
3168 − },
3169 − "@types/json5": {
3170 − "version": "0.0.29",
3171 − "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
3172 − "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
3173 − "dev": true
3174 − },
3175 − "@vercel/ncc": {
3176 − "version": "0.34.0",
3177 − "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz",
3178 − "integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==",
3179 − "dev": true
3180 − },
3181 − "acorn": {
3182 − "version": "8.8.0",
3183 − "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
3184 − "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
3185 − "dev": true
3186 − },
3187 − "acorn-jsx": {
3188 − "version": "5.3.2",
3189 − "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
3190 − "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
3191 − "dev": true,
3192 − "requires": {}
3193 − },
3194 − "ajv": {
3195 − "version": "6.12.6",
3196 − "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
3197 − "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
3198 − "dev": true,
3199 − "requires": {
3200 − "fast-deep-equal": "^3.1.1",
3201 − "fast-json-stable-stringify": "^2.0.0",
3202 − "json-schema-traverse": "^0.4.1",
3203 − "uri-js": "^4.2.2"
3204 − }
3205 − },
3206 − "ansi-regex": {
3207 − "version": "5.0.1",
3208 − "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
3209 − "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
3210 − "dev": true
3211 − },
3212 − "ansi-styles": {
3213 − "version": "4.3.0",
3214 − "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
3215 − "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
3216 − "dev": true,
3217 − "requires": {
3218 − "color-convert": "^2.0.1"
3219 − }
3220 − },
3221 − "argparse": {
3222 − "version": "2.0.1",
3223 − "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
3224 − "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
3225 − "dev": true
3226 − },
3227 − "aria-query": {
3228 − "version": "4.2.2",
3229 − "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
3230 − "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
3231 − "dev": true,
3232 − "requires": {
3233 − "@babel/runtime": "^7.10.2",
3234 − "@babel/runtime-corejs3": "^7.10.2"
3235 − }
3236 − },
3237 − "array-includes": {
3238 − "version": "3.1.5",
3239 − "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
3240 − "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
3241 − "dev": true,
3242 − "requires": {
3243 − "call-bind": "^1.0.2",
3244 − "define-properties": "^1.1.4",
3245 − "es-abstract": "^1.19.5",
3246 − "get-intrinsic": "^1.1.1",
3247 − "is-string": "^1.0.7"
3248 − }
3249 − },
3250 − "array-union": {
3251 − "version": "2.1.0",
3252 − "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
3253 − "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
3254 − "dev": true
3255 − },
3256 − "array.prototype.flat": {
3257 − "version": "1.3.0",
3258 − "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
3259 − "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
3260 − "dev": true,
3261 − "requires": {
3262 − "call-bind": "^1.0.2",
3263 − "define-properties": "^1.1.3",
3264 − "es-abstract": "^1.19.2",
3265 − "es-shim-unscopables": "^1.0.0"
3266 − }
3267 − },
3268 − "array.prototype.flatmap": {
3269 − "version": "1.3.0",
3270 − "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz",
3271 − "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==",
3272 − "dev": true,
3273 − "requires": {
3274 − "call-bind": "^1.0.2",
3275 − "define-properties": "^1.1.3",
3276 − "es-abstract": "^1.19.2",
3277 − "es-shim-unscopables": "^1.0.0"
3278 − }
3279 − },
3280 − "ast-types-flow": {
3281 − "version": "0.0.7",
3282 − "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
3283 − "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
3284 − "dev": true
3285 − },
3286 − "async": {
3287 − "version": "3.2.3",
3288 − "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
3289 − "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
3290 − "dev": true
3291 − },
3292 − "axe-core": {
3293 − "version": "4.4.3",
3294 − "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz",
3295 − "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==",
3296 − "dev": true
3297 − },
3298 − "axobject-query": {
3299 − "version": "2.2.0",
3300 − "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
3301 − "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==",
3302 − "dev": true
3303 − },
3304 − "balanced-match": {
3305 − "version": "1.0.2",
3306 − "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
3307 − "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
3308 − "dev": true
3309 − },
3310 − "boolean": {
3311 − "version": "3.2.0",
3312 − "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
3313 − "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
3314 − "dev": true
3315 − },
3316 − "brace-expansion": {
3317 − "version": "1.1.11",
3318 − "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
3319 − "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
3320 − "dev": true,
3321 − "requires": {
3322 − "balanced-match": "^1.0.0",
3323 − "concat-map": "0.0.1"
3324 − }
3325 − },
3326 − "braces": {
3327 − "version": "3.0.2",
3328 − "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
3329 − "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
3330 − "dev": true,
3331 − "requires": {
3332 − "fill-range": "^7.0.1"
3333 − }
3334 − },
3335 − "call-bind": {
3336 − "version": "1.0.2",
3337 − "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
3338 − "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
3339 − "dev": true,
3340 − "requires": {
3341 − "function-bind": "^1.1.1",
3342 − "get-intrinsic": "^1.0.2"
3343 − }
3344 − },
3345 − "callsites": {
3346 − "version": "3.1.0",
3347 − "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
3348 − "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
3349 − "dev": true
3350 − },
3351 − "chalk": {
3352 − "version": "4.1.2",
3353 − "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
3354 − "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
3355 − "dev": true,
3356 − "requires": {
3357 − "ansi-styles": "^4.1.0",
3358 − "supports-color": "^7.1.0"
3359 − }
3360 − },
3361 − "cliui": {
3362 − "version": "7.0.4",
3363 − "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
3364 − "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
3365 − "dev": true,
3366 − "requires": {
3367 − "string-width": "^4.2.0",
3368 − "strip-ansi": "^6.0.0",
3369 − "wrap-ansi": "^7.0.0"
3370 − }
3371 − },
3372 − "color-convert": {
3373 − "version": "2.0.1",
3374 − "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
3375 − "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
3376 − "dev": true,
3377 − "requires": {
3378 − "color-name": "~1.1.4"
3379 − }
3380 − },
3381 − "color-name": {
3382 − "version": "1.1.4",
3383 − "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3384 − "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3385 − "dev": true
3386 − },
3387 − "concat-map": {
3388 − "version": "0.0.1",
3389 − "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
3390 − "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
3391 − "dev": true
3392 − },
3393 − "confusing-browser-globals": {
3394 − "version": "1.0.11",
3395 − "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
3396 − "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==",
3397 − "dev": true
3398 − },
3399 − "consola": {
3400 − "version": "2.15.3",
3401 − "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
3402 − "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
3403 − "dev": true
3404 − },
3405 − "core-js-pure": {
3406 − "version": "3.22.2",
3407 − "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.2.tgz",
3408 − "integrity": "sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ==",
3409 − "dev": true
3410 − },
3411 − "cross-spawn": {
3412 − "version": "7.0.3",
3413 − "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
3414 − "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
3415 − "dev": true,
3416 − "requires": {
3417 − "path-key": "^3.1.0",
3418 − "shebang-command": "^2.0.0",
3419 − "which": "^2.0.1"
3420 − }
3421 − },
3422 − "damerau-levenshtein": {
3423 − "version": "1.0.8",
3424 − "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
3425 − "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
3426 − "dev": true
3427 − },
3428 − "debug": {
3429 − "version": "4.3.4",
3430 − "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
3431 − "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
3432 − "dev": true,
3433 − "requires": {
3434 − "ms": "2.1.2"
3435 − }
3436 − },
3437 − "deep-is": {
3438 − "version": "0.1.4",
3439 − "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
3440 − "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
3441 − "dev": true
3442 − },
3443 − "define-properties": {
3444 − "version": "1.1.4",
3445 − "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
3446 − "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
3447 − "dev": true,
3448 − "requires": {
3449 − "has-property-descriptors": "^1.0.0",
3450 − "object-keys": "^1.1.1"
3451 − }
3452 − },
3453 − "detect-node": {
3454 − "version": "2.1.0",
3455 − "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
3456 − "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
3457 − "dev": true
3458 − },
3459 − "dir-glob": {
3460 − "version": "3.0.1",
3461 − "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
3462 − "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
3463 − "dev": true,
3464 − "requires": {
3465 − "path-type": "^4.0.0"
3466 − }
3467 − },
3468 − "doctrine": {
3469 − "version": "3.0.0",
3470 − "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
3471 − "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
3472 − "dev": true,
3473 − "requires": {
3474 − "esutils": "^2.0.2"
3475 − }
3476 − },
3477 − "emoji-regex": {
3478 − "version": "9.2.2",
3479 − "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
3480 − "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
3481 − "dev": true
3482 − },
3483 − "entities": {
3484 − "version": "3.0.1",
3485 − "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
3486 − "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
3487 − "dev": true
3488 − },
3489 − "es-abstract": {
3490 − "version": "1.19.5",
3491 − "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
3492 − "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
3493 − "dev": true,
3494 − "requires": {
3495 − "call-bind": "^1.0.2",
3496 − "es-to-primitive": "^1.2.1",
3497 − "function-bind": "^1.1.1",
3498 − "get-intrinsic": "^1.1.1",
3499 − "get-symbol-description": "^1.0.0",
3500 − "has": "^1.0.3",
3501 − "has-symbols": "^1.0.3",
3502 − "internal-slot": "^1.0.3",
3503 − "is-callable": "^1.2.4",
3504 − "is-negative-zero": "^2.0.2",
3505 − "is-regex": "^1.1.4",
3506 − "is-shared-array-buffer": "^1.0.2",
3507 − "is-string": "^1.0.7",
3508 − "is-weakref": "^1.0.2",
3509 − "object-inspect": "^1.12.0",
3510 − "object-keys": "^1.1.1",
3511 − "object.assign": "^4.1.2",
3512 − "string.prototype.trimend": "^1.0.4",
3513 − "string.prototype.trimstart": "^1.0.4",
3514 − "unbox-primitive": "^1.0.1"
3515 − }
3516 − },
3517 − "es-shim-unscopables": {
3518 − "version": "1.0.0",
3519 − "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
3520 − "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
3521 − "dev": true,
3522 − "requires": {
3523 − "has": "^1.0.3"
3524 − }
3525 − },
3526 − "es-to-primitive": {
3527 − "version": "1.2.1",
3528 − "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
3529 − "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
3530 − "dev": true,
3531 − "requires": {
3532 − "is-callable": "^1.1.4",
3533 − "is-date-object": "^1.0.1",
3534 − "is-symbol": "^1.0.2"
3535 − }
3536 − },
3537 − "es6-error": {
3538 − "version": "4.1.1",
3539 − "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
3540 − "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
3541 − "dev": true
3542 − },
3543 − "escalade": {
3544 − "version": "3.1.1",
3545 − "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
3546 − "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
3547 − "dev": true
3548 − },
3549 − "escape-string-regexp": {
3550 − "version": "4.0.0",
3551 − "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
3552 − "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
3553 − "dev": true
3554 − },
3555 − "eslint": {
3556 − "version": "8.25.0",
3557 − "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz",
3558 − "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",
3559 − "dev": true,
3560 − "requires": {
3561 − "@eslint/eslintrc": "^1.3.3",
3562 − "@humanwhocodes/config-array": "^0.10.5",
3563 − "@humanwhocodes/module-importer": "^1.0.1",
3564 − "ajv": "^6.10.0",
3565 − "chalk": "^4.0.0",
3566 − "cross-spawn": "^7.0.2",
3567 − "debug": "^4.3.2",
3568 − "doctrine": "^3.0.0",
3569 − "escape-string-regexp": "^4.0.0",
3570 − "eslint-scope": "^7.1.1",
3571 − "eslint-utils": "^3.0.0",
3572 − "eslint-visitor-keys": "^3.3.0",
3573 − "espree": "^9.4.0",
3574 − "esquery": "^1.4.0",
3575 − "esutils": "^2.0.2",
3576 − "fast-deep-equal": "^3.1.3",
3577 − "file-entry-cache": "^6.0.1",
3578 − "find-up": "^5.0.0",
3579 − "glob-parent": "^6.0.1",
3580 − "globals": "^13.15.0",
3581 − "globby": "^11.1.0",
3582 − "grapheme-splitter": "^1.0.4",
3583 − "ignore": "^5.2.0",
3584 − "import-fresh": "^3.0.0",
3585 − "imurmurhash": "^0.1.4",
3586 − "is-glob": "^4.0.0",
3587 − "js-sdsl": "^4.1.4",
3588 − "js-yaml": "^4.1.0",
3589 − "json-stable-stringify-without-jsonify": "^1.0.1",
3590 − "levn": "^0.4.1",
3591 − "lodash.merge": "^4.6.2",
3592 − "minimatch": "^3.1.2",
3593 − "natural-compare": "^1.4.0",
3594 − "optionator": "^0.9.1",
3595 − "regexpp": "^3.2.0",
3596 − "strip-ansi": "^6.0.1",
3597 − "strip-json-comments": "^3.1.0",
3598 − "text-table": "^0.2.0"
3599 − },
3600 − "dependencies": {
3601 − "find-up": {
3602 − "version": "5.0.0",
3603 − "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
3604 − "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
3605 − "dev": true,
3606 − "requires": {
3607 − "locate-path": "^6.0.0",
3608 − "path-exists": "^4.0.0"
3609 − }
3610 − },
3611 − "locate-path": {
3612 − "version": "6.0.0",
3613 − "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
3614 − "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
3615 − "dev": true,
3616 − "requires": {
3617 − "p-locate": "^5.0.0"
3618 − }
3619 − },
3620 − "p-limit": {
3621 − "version": "3.1.0",
3622 − "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
3623 − "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
3624 − "dev": true,
3625 − "requires": {
3626 − "yocto-queue": "^0.1.0"
3627 − }
3628 − },
3629 − "p-locate": {
3630 − "version": "5.0.0",
3631 − "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
3632 − "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
3633 − "dev": true,
3634 − "requires": {
3635 − "p-limit": "^3.0.2"
3636 − }
3637 − },
3638 − "path-exists": {
3639 − "version": "4.0.0",
3640 − "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
3641 − "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
3642 − "dev": true
3643 − }
3644 − }
3645 − },
3646 − "eslint-config-airbnb": {
3647 − "version": "19.0.4",
3648 − "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz",
3649 − "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==",
3650 − "dev": true,
3651 − "requires": {
3652 − "eslint-config-airbnb-base": "^15.0.0",
3653 − "object.assign": "^4.1.2",
3654 − "object.entries": "^1.1.5"
3655 − }
3656 − },
3657 − "eslint-config-airbnb-base": {
3658 − "version": "15.0.0",
3659 − "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz",
3660 − "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==",
3661 − "dev": true,
3662 − "requires": {
3663 − "confusing-browser-globals": "^1.0.10",
3664 − "object.assign": "^4.1.2",
3665 − "object.entries": "^1.1.5",
3666 − "semver": "^6.3.0"
3667 − },
3668 − "dependencies": {
3669 − "semver": {
3670 − "version": "6.3.0",
3671 − "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
3672 − "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
3673 − "dev": true
3674 − }
3675 − }
3676 − },
3677 − "eslint-import-resolver-node": {
3678 − "version": "0.3.6",
3679 − "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
3680 − "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
3681 − "dev": true,
3682 − "requires": {
3683 − "debug": "^3.2.7",
3684 − "resolve": "^1.20.0"
3685 − },
3686 − "dependencies": {
3687 − "debug": {
3688 − "version": "3.2.7",
3689 − "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
3690 − "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
3691 − "dev": true,
3692 − "requires": {
3693 − "ms": "^2.1.1"
3694 − }
3695 − }
3696 − }
3697 − },
3698 − "eslint-module-utils": {
3699 − "version": "2.7.3",
3700 − "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
3701 − "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
3702 − "dev": true,
3703 − "requires": {
3704 − "debug": "^3.2.7",
3705 − "find-up": "^2.1.0"
3706 − },
3707 − "dependencies": {
3708 − "debug": {
3709 − "version": "3.2.7",
3710 − "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
3711 − "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
3712 − "dev": true,
3713 − "requires": {
3714 − "ms": "^2.1.1"
3715 − }
3716 − }
3717 − }
3718 − },
3719 − "eslint-plugin-import": {
3720 − "version": "2.26.0",
3721 − "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
3722 − "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
3723 − "dev": true,
3724 − "requires": {
3725 − "array-includes": "^3.1.4",
3726 − "array.prototype.flat": "^1.2.5",
3727 − "debug": "^2.6.9",
3728 − "doctrine": "^2.1.0",
3729 − "eslint-import-resolver-node": "^0.3.6",
3730 − "eslint-module-utils": "^2.7.3",
3731 − "has": "^1.0.3",
3732 − "is-core-module": "^2.8.1",
3733 − "is-glob": "^4.0.3",
3734 − "minimatch": "^3.1.2",
3735 − "object.values": "^1.1.5",
3736 − "resolve": "^1.22.0",
3737 − "tsconfig-paths": "^3.14.1"
3738 − },
3739 − "dependencies": {
3740 − "debug": {
3741 − "version": "2.6.9",
3742 − "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3743 − "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3744 − "dev": true,
3745 − "requires": {
3746 − "ms": "2.0.0"
3747 − }
3748 − },
3749 − "doctrine": {
3750 − "version": "2.1.0",
3751 − "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
3752 − "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
3753 − "dev": true,
3754 − "requires": {
3755 − "esutils": "^2.0.2"
3756 − }
3757 − },
3758 − "ms": {
3759 − "version": "2.0.0",
3760 − "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3761 − "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3762 − "dev": true
3763 − }
3764 − }
3765 − },
3766 − "eslint-plugin-jsx-a11y": {
3767 − "version": "6.6.1",
3768 − "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz",
3769 − "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==",
3770 − "dev": true,
3771 − "requires": {
3772 − "@babel/runtime": "^7.18.9",
3773 − "aria-query": "^4.2.2",
3774 − "array-includes": "^3.1.5",
3775 − "ast-types-flow": "^0.0.7",
3776 − "axe-core": "^4.4.3",
3777 − "axobject-query": "^2.2.0",
3778 − "damerau-levenshtein": "^1.0.8",
3779 − "emoji-regex": "^9.2.2",
3780 − "has": "^1.0.3",
3781 − "jsx-ast-utils": "^3.3.2",
3782 − "language-tags": "^1.0.5",
3783 − "minimatch": "^3.1.2",
3784 − "semver": "^6.3.0"
3785 − },
3786 − "dependencies": {
3787 − "semver": {
3788 − "version": "6.3.0",
3789 − "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
3790 − "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
3791 − "dev": true
3792 − }
3793 − }
3794 − },
3795 − "eslint-plugin-react": {
3796 − "version": "7.31.10",
3797 − "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz",
3798 − "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==",
3799 − "dev": true,
3800 − "requires": {
3801 − "array-includes": "^3.1.5",
3802 − "array.prototype.flatmap": "^1.3.0",
3803 − "doctrine": "^2.1.0",
3804 − "estraverse": "^5.3.0",
3805 − "jsx-ast-utils": "^2.4.1 || ^3.0.0",
3806 − "minimatch": "^3.1.2",
3807 − "object.entries": "^1.1.5",
3808 − "object.fromentries": "^2.0.5",
3809 − "object.hasown": "^1.1.1",
3810 − "object.values": "^1.1.5",
3811 − "prop-types": "^15.8.1",
3812 − "resolve": "^2.0.0-next.3",
3813 − "semver": "^6.3.0",
3814 − "string.prototype.matchall": "^4.0.7"
3815 − },
3816 − "dependencies": {
3817 − "doctrine": {
3818 − "version": "2.1.0",
3819 − "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
3820 − "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
3821 − "dev": true,
3822 − "requires": {
3823 − "esutils": "^2.0.2"
3824 − }
3825 − },
3826 − "resolve": {
3827 − "version": "2.0.0-next.3",
3828 − "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz",
3829 − "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==",
3830 − "dev": true,
3831 − "requires": {
3832 − "is-core-module": "^2.2.0",
3833 − "path-parse": "^1.0.6"
3834 − }
3835 − },
3836 − "semver": {
3837 − "version": "6.3.0",
3838 − "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
3839 − "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
3840 − "dev": true
3841 − }
3842 − }
3843 − },
3844 − "eslint-plugin-react-hooks": {
3845 − "version": "4.4.0",
3846 − "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.4.0.tgz",
3847 − "integrity": "sha512-U3RVIfdzJaeKDQKEJbz5p3NW8/L80PCATJAfuojwbaEL+gBjfGdhUcGde+WGUW46Q5sr/NgxevsIiDtNXrvZaQ==",
3848 − "dev": true,
3849 − "peer": true,
3850 − "requires": {}
3851 − },
3852 − "eslint-scope": {
3853 − "version": "7.1.1",
3854 − "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
3855 − "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
3856 − "dev": true,
3857 − "requires": {
3858 − "esrecurse": "^4.3.0",
3859 − "estraverse": "^5.2.0"
3860 − }
3861 − },
3862 − "eslint-utils": {
3863 − "version": "3.0.0",
3864 − "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
3865 − "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
3866 − "dev": true,
3867 − "requires": {
3868 − "eslint-visitor-keys": "^2.0.0"
3869 − },
3870 − "dependencies": {
3871 − "eslint-visitor-keys": {
3872 − "version": "2.1.0",
3873 − "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
3874 − "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
3875 − "dev": true
3876 − }
3877 − }
3878 − },
3879 − "eslint-visitor-keys": {
3880 − "version": "3.3.0",
3881 − "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
3882 − "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
3883 − "dev": true
3884 − },
3885 − "espree": {
3886 − "version": "9.4.0",
3887 − "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
3888 − "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
3889 − "dev": true,
3890 − "requires": {
3891 − "acorn": "^8.8.0",
3892 − "acorn-jsx": "^5.3.2",
3893 − "eslint-visitor-keys": "^3.3.0"
3894 − }
3895 − },
3896 − "esquery": {
3897 − "version": "1.4.0",
3898 − "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
3899 − "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
3900 − "dev": true,
3901 − "requires": {
3902 − "estraverse": "^5.1.0"
3903 − }
3904 − },
3905 − "esrecurse": {
3906 − "version": "4.3.0",
3907 − "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
3908 − "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
3909 − "dev": true,
3910 − "requires": {
3911 − "estraverse": "^5.2.0"
3912 − }
3913 − },
3914 − "estraverse": {
3915 − "version": "5.3.0",
3916 − "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
3917 − "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
3918 − "dev": true
3919 − },
3920 − "esutils": {
3921 − "version": "2.0.3",
3922 − "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
3923 − "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
3924 − "dev": true
3925 − },
3926 − "fast-deep-equal": {
3927 − "version": "3.1.3",
3928 − "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
3929 − "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
3930 − "dev": true
3931 − },
3932 − "fast-glob": {
3933 − "version": "3.2.11",
3934 − "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
3935 − "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
3936 − "dev": true,
3937 − "requires": {
3938 − "@nodelib/fs.stat": "^2.0.2",
3939 − "@nodelib/fs.walk": "^1.2.3",
3940 − "glob-parent": "^5.1.2",
3941 − "merge2": "^1.3.0",
3942 − "micromatch": "^4.0.4"
3943 − },
3944 − "dependencies": {
3945 − "glob-parent": {
3946 − "version": "5.1.2",
3947 − "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
3948 − "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
3949 − "dev": true,
3950 − "requires": {
3951 − "is-glob": "^4.0.1"
3952 − }
3953 − }
3954 − }
3955 − },
3956 − "fast-json-stable-stringify": {
3957 − "version": "2.1.0",
3958 − "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
3959 − "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
3960 − "dev": true
3961 − },
3962 − "fast-levenshtein": {
3963 − "version": "2.0.6",
3964 − "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
3965 − "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
3966 − "dev": true
3967 − },
3968 − "fastq": {
3969 − "version": "1.13.0",
3970 − "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
3971 − "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
3972 − "dev": true,
3973 − "requires": {
3974 − "reusify": "^1.0.4"
3975 − }
3976 − },
3977 − "file-entry-cache": {
3978 − "version": "6.0.1",
3979 − "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
3980 − "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
3981 − "dev": true,
3982 − "requires": {
3983 − "flat-cache": "^3.0.4"
3984 − }
3985 − },
3986 − "fill-range": {
3987 − "version": "7.0.1",
3988 − "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
3989 − "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
3990 − "dev": true,
3991 − "requires": {
3992 − "to-regex-range": "^5.0.1"
3993 − }
3994 − },
3995 − "find-up": {
3996 − "version": "2.1.0",
3997 − "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
3998 − "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
3999 − "dev": true,
4000 − "requires": {
4001 − "locate-path": "^2.0.0"
4002 − }
4003 − },
4004 − "flat-cache": {
4005 − "version": "3.0.4",
4006 − "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
4007 − "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
4008 − "dev": true,
4009 − "requires": {
4010 − "flatted": "^3.1.0",
4011 − "rimraf": "^3.0.2"
4012 − }
4013 − },
4014 − "flatted": {
4015 − "version": "3.2.5",
4016 − "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
4017 − "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
4018 − "dev": true
4019 − },
4020 − "fs.realpath": {
4021 − "version": "1.0.0",
4022 − "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
4023 − "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
4024 − "dev": true
4025 − },
4026 − "function-bind": {
4027 − "version": "1.1.1",
4028 − "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
4029 − "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
4030 − "dev": true
4031 − },
4032 − "functions-have-names": {
4033 − "version": "1.2.3",
4034 − "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
4035 − "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
4036 − "dev": true
4037 − },
4038 − "get-caller-file": {
4039 − "version": "2.0.5",
4040 − "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
4041 − "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
4042 − "dev": true
4043 − },
4044 − "get-intrinsic": {
4045 − "version": "1.1.1",
4046 − "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
4047 − "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
4048 − "dev": true,
4049 − "requires": {
4050 − "function-bind": "^1.1.1",
4051 − "has": "^1.0.3",
4052 − "has-symbols": "^1.0.1"
4053 − }
4054 − },
4055 − "get-symbol-description": {
4056 − "version": "1.0.0",
4057 − "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
4058 − "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
4059 − "dev": true,
4060 − "requires": {
4061 − "call-bind": "^1.0.2",
4062 − "get-intrinsic": "^1.1.1"
4063 − }
4064 − },
4065 − "glob": {
4066 − "version": "7.2.0",
4067 − "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
4068 − "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
4069 − "dev": true,
4070 − "requires": {
4071 − "fs.realpath": "^1.0.0",
4072 − "inflight": "^1.0.4",
4073 − "inherits": "2",
4074 − "minimatch": "^3.0.4",
4075 − "once": "^1.3.0",
4076 − "path-is-absolute": "^1.0.0"
4077 − }
4078 − },
4079 − "glob-parent": {
4080 − "version": "6.0.2",
4081 − "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
4082 − "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
4083 − "dev": true,
4084 − "requires": {
4085 − "is-glob": "^4.0.3"
4086 − }
4087 − },
4088 − "global-agent": {
4089 − "version": "3.0.0",
4090 − "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
4091 − "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
4092 − "dev": true,
4093 − "requires": {
4094 − "boolean": "^3.0.1",
4095 − "es6-error": "^4.1.1",
4096 − "matcher": "^3.0.0",
4097 − "roarr": "^2.15.3",
4098 − "semver": "^7.3.2",
4099 − "serialize-error": "^7.0.1"
4100 − }
4101 − },
4102 − "globals": {
4103 − "version": "13.17.0",
4104 − "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
4105 − "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
4106 − "dev": true,
4107 − "requires": {
4108 − "type-fest": "^0.20.2"
4109 − }
4110 − },
4111 − "globalthis": {
4112 − "version": "1.0.2",
4113 − "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz",
4114 − "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==",
4115 − "dev": true,
4116 − "requires": {
4117 − "define-properties": "^1.1.3"
4118 − }
4119 − },
4120 − "globby": {
4121 − "version": "11.1.0",
4122 − "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
4123 − "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
4124 − "dev": true,
4125 − "requires": {
4126 − "array-union": "^2.1.0",
4127 − "dir-glob": "^3.0.1",
4128 − "fast-glob": "^3.2.9",
4129 − "ignore": "^5.2.0",
4130 − "merge2": "^1.4.1",
4131 − "slash": "^3.0.0"
4132 − }
4133 − },
4134 − "grapheme-splitter": {
4135 − "version": "1.0.4",
4136 − "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
4137 − "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
4138 − "dev": true
4139 − },
4140 − "has": {
4141 − "version": "1.0.3",
4142 − "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
4143 − "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
4144 − "dev": true,
4145 − "requires": {
4146 − "function-bind": "^1.1.1"
4147 − }
4148 − },
4149 − "has-bigints": {
4150 − "version": "1.0.2",
4151 − "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
4152 − "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
4153 − "dev": true
4154 − },
4155 − "has-flag": {
4156 − "version": "4.0.0",
4157 − "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
4158 − "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
4159 − "dev": true
4160 − },
4161 − "has-property-descriptors": {
4162 − "version": "1.0.0",
4163 − "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
4164 − "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
4165 − "dev": true,
4166 − "requires": {
4167 − "get-intrinsic": "^1.1.1"
4168 − }
4169 − },
4170 − "has-symbols": {
4171 − "version": "1.0.3",
4172 − "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
4173 − "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
4174 − "dev": true
4175 − },
4176 − "has-tostringtag": {
4177 − "version": "1.0.0",
4178 − "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
4179 − "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
4180 − "dev": true,
4181 − "requires": {
4182 − "has-symbols": "^1.0.2"
4183 − }
4184 − },
4185 − "husky": {
4186 − "version": "8.0.1",
4187 − "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz",
4188 − "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==",
4189 − "dev": true
4190 − },
4191 − "ignore": {
4192 − "version": "5.2.0",
4193 − "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
4194 − "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
4195 − "dev": true
4196 − },
4197 − "import-fresh": {
4198 − "version": "3.3.0",
4199 − "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
4200 − "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
4201 − "dev": true,
4202 − "requires": {
4203 − "parent-module": "^1.0.0",
4204 − "resolve-from": "^4.0.0"
4205 − }
4206 − },
4207 − "imurmurhash": {
4208 − "version": "0.1.4",
4209 − "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
4210 − "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
4211 − "dev": true
4212 − },
4213 − "inflight": {
4214 − "version": "1.0.6",
4215 − "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
4216 − "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
4217 − "dev": true,
4218 − "requires": {
4219 − "once": "^1.3.0",
4220 − "wrappy": "1"
4221 − }
4222 − },
4223 − "inherits": {
4224 − "version": "2.0.4",
4225 − "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
4226 − "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
4227 − "dev": true
4228 − },
4229 − "ini": {
4230 − "version": "2.0.0",
4231 − "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
4232 − "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
4233 − "dev": true
4234 − },
4235 − "internal-slot": {
4236 − "version": "1.0.3",
4237 − "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
4238 − "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
4239 − "dev": true,
4240 − "requires": {
4241 − "get-intrinsic": "^1.1.0",
4242 − "has": "^1.0.3",
4243 − "side-channel": "^1.0.4"
4244 − }
4245 − },
4246 − "is-bigint": {
4247 − "version": "1.0.4",
4248 − "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
4249 − "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
4250 − "dev": true,
4251 − "requires": {
4252 − "has-bigints": "^1.0.1"
4253 − }
4254 − },
4255 − "is-boolean-object": {
4256 − "version": "1.1.2",
4257 − "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
4258 − "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
4259 − "dev": true,
4260 − "requires": {
4261 − "call-bind": "^1.0.2",
4262 − "has-tostringtag": "^1.0.0"
4263 − }
4264 − },
4265 − "is-callable": {
4266 − "version": "1.2.4",
4267 − "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
4268 − "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
4269 − "dev": true
4270 − },
4271 − "is-core-module": {
4272 − "version": "2.9.0",
4273 − "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
4274 − "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
4275 − "dev": true,
4276 − "requires": {
4277 − "has": "^1.0.3"
4278 − }
4279 − },
4280 − "is-date-object": {
4281 − "version": "1.0.5",
4282 − "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
4283 − "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
4284 − "dev": true,
4285 − "requires": {
4286 − "has-tostringtag": "^1.0.0"
4287 − }
4288 − },
4289 − "is-extglob": {
4290 − "version": "2.1.1",
4291 − "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
4292 − "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
4293 − "dev": true
4294 − },
4295 − "is-fullwidth-code-point": {
4296 − "version": "3.0.0",
4297 − "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
4298 − "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
4299 − "dev": true
4300 − },
4301 − "is-glob": {
4302 − "version": "4.0.3",
4303 − "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
4304 − "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
4305 − "dev": true,
4306 − "requires": {
4307 − "is-extglob": "^2.1.1"
4308 − }
4309 − },
4310 − "is-negative-zero": {
4311 − "version": "2.0.2",
4312 − "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
4313 − "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
4314 − "dev": true
4315 − },
4316 − "is-number": {
4317 − "version": "7.0.0",
4318 − "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
4319 − "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
4320 − "dev": true
4321 − },
4322 − "is-number-object": {
4323 − "version": "1.0.7",
4324 − "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
4325 − "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
4326 − "dev": true,
4327 − "requires": {
4328 − "has-tostringtag": "^1.0.0"
4329 − }
4330 − },
4331 − "is-regex": {
4332 − "version": "1.1.4",
4333 − "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
4334 − "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
4335 − "dev": true,
4336 − "requires": {
4337 − "call-bind": "^1.0.2",
4338 − "has-tostringtag": "^1.0.0"
4339 − }
4340 − },
4341 − "is-shared-array-buffer": {
4342 − "version": "1.0.2",
4343 − "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
4344 − "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
4345 − "dev": true,
4346 − "requires": {
4347 − "call-bind": "^1.0.2"
4348 − }
4349 − },
4350 − "is-string": {
4351 − "version": "1.0.7",
4352 − "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
4353 − "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
4354 − "dev": true,
4355 − "requires": {
4356 − "has-tostringtag": "^1.0.0"
4357 − }
4358 − },
4359 − "is-symbol": {
4360 − "version": "1.0.4",
4361 − "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
4362 − "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
4363 − "dev": true,
4364 − "requires": {
4365 − "has-symbols": "^1.0.2"
4366 − }
4367 − },
4368 − "is-weakref": {
4369 − "version": "1.0.2",
4370 − "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
4371 − "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
4372 − "dev": true,
4373 − "requires": {
4374 − "call-bind": "^1.0.2"
4375 − }
4376 − },
4377 − "isexe": {
4378 − "version": "2.0.0",
4379 − "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
4380 − "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
4381 − "dev": true
4382 − },
4383 − "js-sdsl": {
4384 − "version": "4.1.5",
4385 − "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
4386 − "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
4387 − "dev": true
4388 − },
4389 − "js-tokens": {
4390 − "version": "4.0.0",
4391 − "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
4392 − "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
4393 − "dev": true
4394 − },
4395 − "js-yaml": {
4396 − "version": "4.1.0",
4397 − "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
4398 − "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
4399 − "dev": true,
4400 − "requires": {
4401 − "argparse": "^2.0.1"
4402 − }
4403 − },
4404 − "json-schema-traverse": {
4405 − "version": "0.4.1",
4406 − "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
4407 − "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
4408 − "dev": true
4409 − },
4410 − "json-stable-stringify-without-jsonify": {
4411 − "version": "1.0.1",
4412 − "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
4413 − "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
4414 − "dev": true
4415 − },
4416 − "json-stringify-safe": {
4417 − "version": "5.0.1",
4418 − "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
4419 − "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
4420 − "dev": true
4421 − },
4422 − "json5": {
4423 − "version": "1.0.2",
4424 − "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
4425 − "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
4426 − "dev": true,
4427 − "requires": {
4428 − "minimist": "^1.2.0"
4429 − }
4430 − },
4431 − "jsx-ast-utils": {
4432 − "version": "3.3.3",
4433 − "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
4434 − "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
4435 − "dev": true,
4436 − "requires": {
4437 − "array-includes": "^3.1.5",
4438 − "object.assign": "^4.1.3"
4439 − }
4440 − },
4441 − "language-subtag-registry": {
4442 − "version": "0.3.21",
4443 − "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz",
4444 − "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==",
4445 − "dev": true
4446 − },
4447 − "language-tags": {
4448 − "version": "1.0.5",
4449 − "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
4450 − "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=",
4451 − "dev": true,
4452 − "requires": {
4453 − "language-subtag-registry": "~0.3.2"
4454 − }
4455 − },
4456 − "levn": {
4457 − "version": "0.4.1",
4458 − "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
4459 − "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
4460 − "dev": true,
4461 − "requires": {
4462 − "prelude-ls": "^1.2.1",
4463 − "type-check": "~0.4.0"
4464 − }
4465 − },
4466 − "linkify-it": {
4467 − "version": "4.0.1",
4468 − "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz",
4469 − "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==",
4470 − "dev": true,
4471 − "requires": {
4472 − "uc.micro": "^1.0.1"
4473 − }
4474 − },
4475 − "locate-path": {
4476 − "version": "2.0.0",
4477 − "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
4478 − "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
4479 − "dev": true,
4480 − "requires": {
4481 − "p-locate": "^2.0.0",
4482 − "path-exists": "^3.0.0"
4483 − }
4484 − },
4485 − "lodash.merge": {
4486 − "version": "4.6.2",
4487 − "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
4488 − "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
4489 − "dev": true
4490 − },
4491 − "loose-envify": {
4492 − "version": "1.4.0",
4493 − "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
4494 − "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
4495 − "dev": true,
4496 − "requires": {
4497 − "js-tokens": "^3.0.0 || ^4.0.0"
4498 − }
4499 − },
4500 − "lru-cache": {
4501 − "version": "6.0.0",
4502 − "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
4503 − "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
4504 − "requires": {
4505 − "yallist": "^4.0.0"
4506 − }
4507 − },
4508 − "markdown-it": {
4509 − "version": "13.0.1",
4510 − "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
4511 − "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==",
4512 − "dev": true,
4513 − "requires": {
4514 − "argparse": "^2.0.1",
4515 − "entities": "~3.0.1",
4516 − "linkify-it": "^4.0.1",
4517 − "mdurl": "^1.0.1",
4518 − "uc.micro": "^1.0.5"
4519 − }
4520 − },
4521 − "markdownlint": {
4522 − "version": "0.26.2",
4523 − "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz",
4524 − "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==",
4525 − "dev": true,
4526 − "requires": {
4527 − "markdown-it": "13.0.1"
4528 − }
4529 − },
4530 − "matcher": {
4531 − "version": "3.0.0",
4532 − "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
4533 − "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
4534 − "dev": true,
4535 − "requires": {
4536 − "escape-string-regexp": "^4.0.0"
4537 − }
4538 − },
4539 − "mdurl": {
4540 − "version": "1.0.1",
4541 − "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
4542 − "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
4543 − "dev": true
4544 − },
4545 − "merge2": {
4546 − "version": "1.4.1",
4547 − "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
4548 − "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
4549 − "dev": true
4550 − },
4551 − "micromatch": {
4552 − "version": "4.0.5",
4553 − "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
4554 − "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
4555 − "dev": true,
4556 − "requires": {
4557 − "braces": "^3.0.2",
4558 − "picomatch": "^2.3.1"
4559 − }
4560 − },
4561 − "minimatch": {
4562 − "version": "3.1.2",
4563 − "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
4564 − "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
4565 − "dev": true,
4566 − "requires": {
4567 − "brace-expansion": "^1.1.7"
4568 − }
4569 − },
4570 − "minimist": {
4571 − "version": "1.2.6",
4572 − "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
4573 − "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
4574 − "dev": true
4575 − },
4576 − "ms": {
4577 − "version": "2.1.2",
4578 − "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
4579 − "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
4580 − "dev": true
4581 − },
4582 − "natural-compare": {
4583 − "version": "1.4.0",
4584 − "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
4585 − "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
4586 − "dev": true
4587 − },
4588 − "nconf": {
4589 − "version": "0.12.0",
4590 − "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz",
4591 − "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==",
4592 − "dev": true,
4593 − "requires": {
4594 − "async": "^3.0.0",
4595 − "ini": "^2.0.0",
4596 − "secure-keys": "^1.0.0",
4597 − "yargs": "^16.1.1"
4598 − }
4599 − },
4600 − "object-assign": {
4601 − "version": "4.1.1",
4602 − "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
4603 − "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
4604 − "dev": true
4605 − },
4606 − "object-inspect": {
4607 − "version": "1.12.0",
4608 − "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
4609 − "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
4610 − "dev": true
4611 − },
4612 − "object-keys": {
4613 − "version": "1.1.1",
4614 − "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
4615 − "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
4616 − "dev": true
4617 − },
4618 − "object.assign": {
4619 − "version": "4.1.4",
4620 − "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
4621 − "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
4622 − "dev": true,
4623 − "requires": {
4624 − "call-bind": "^1.0.2",
4625 − "define-properties": "^1.1.4",
4626 − "has-symbols": "^1.0.3",
4627 − "object-keys": "^1.1.1"
4628 − }
4629 − },
4630 − "object.entries": {
4631 − "version": "1.1.5",
4632 − "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz",
4633 − "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==",
4634 − "dev": true,
4635 − "requires": {
4636 − "call-bind": "^1.0.2",
4637 − "define-properties": "^1.1.3",
4638 − "es-abstract": "^1.19.1"
4639 − }
4640 − },
4641 − "object.fromentries": {
4642 − "version": "2.0.5",
4643 − "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz",
4644 − "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==",
4645 − "dev": true,
4646 − "requires": {
4647 − "call-bind": "^1.0.2",
4648 − "define-properties": "^1.1.3",
4649 − "es-abstract": "^1.19.1"
4650 − }
4651 − },
4652 − "object.hasown": {
4653 − "version": "1.1.1",
4654 − "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz",
4655 − "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==",
4656 − "dev": true,
4657 − "requires": {
4658 − "define-properties": "^1.1.4",
4659 − "es-abstract": "^1.19.5"
4660 − }
4661 − },
4662 − "object.values": {
4663 − "version": "1.1.5",
4664 − "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
4665 − "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
4666 − "dev": true,
4667 − "requires": {
4668 − "call-bind": "^1.0.2",
4669 − "define-properties": "^1.1.3",
4670 − "es-abstract": "^1.19.1"
4671 − }
4672 − },
4673 − "once": {
4674 − "version": "1.4.0",
4675 − "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
4676 − "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
4677 − "dev": true,
4678 − "requires": {
4679 − "wrappy": "1"
4680 − }
4681 − },
4682 − "optionator": {
4683 − "version": "0.9.1",
4684 − "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
4685 − "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
4686 − "dev": true,
4687 − "requires": {
4688 − "deep-is": "^0.1.3",
4689 − "fast-levenshtein": "^2.0.6",
4690 − "levn": "^0.4.1",
4691 − "prelude-ls": "^1.2.1",
4692 − "type-check": "^0.4.0",
4693 − "word-wrap": "^1.2.3"
4694 − }
4695 − },
4696 − "p-limit": {
4697 − "version": "1.3.0",
4698 − "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
4699 − "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
4700 − "dev": true,
4701 − "requires": {
4702 − "p-try": "^1.0.0"
4703 − }
4704 − },
4705 − "p-locate": {
4706 − "version": "2.0.0",
4707 − "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
4708 − "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
4709 − "dev": true,
4710 − "requires": {
4711 − "p-limit": "^1.1.0"
4712 − }
4713 − },
4714 − "p-try": {
4715 − "version": "1.0.0",
4716 − "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
4717 − "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
4718 − "dev": true
4719 − },
4720 − "parent-module": {
4721 − "version": "1.0.1",
4722 − "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
4723 − "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
4724 − "dev": true,
4725 − "requires": {
4726 − "callsites": "^3.0.0"
4727 − }
4728 − },
4729 − "path-exists": {
4730 − "version": "3.0.0",
4731 − "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
4732 − "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
4733 − "dev": true
4734 − },
4735 − "path-is-absolute": {
4736 − "version": "1.0.1",
4737 − "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
4738 − "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
4739 − "dev": true
4740 − },
4741 − "path-key": {
4742 − "version": "3.1.1",
4743 − "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
4744 − "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
4745 − "dev": true
4746 − },
4747 − "path-parse": {
4748 − "version": "1.0.7",
4749 − "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
4750 − "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
4751 − "dev": true
4752 − },
4753 − "path-type": {
4754 − "version": "4.0.0",
4755 − "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
4756 − "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
4757 − "dev": true
4758 − },
4759 − "picomatch": {
4760 − "version": "2.3.1",
4761 − "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
4762 − "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
4763 − "dev": true
4764 − },
4765 − "prelude-ls": {
4766 − "version": "1.2.1",
4767 − "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
4768 − "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
4769 − "dev": true
4770 − },
4771 − "prettier": {
4772 − "version": "2.7.1",
4773 − "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
4774 − "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
4775 − "dev": true
4776 − },
4777 − "prop-types": {
4778 − "version": "15.8.1",
4779 − "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
4780 − "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
4781 − "dev": true,
4782 − "requires": {
4783 − "loose-envify": "^1.4.0",
4784 − "object-assign": "^4.1.1",
4785 − "react-is": "^16.13.1"
4786 − }
4787 − },
4788 − "punycode": {
4789 − "version": "2.1.1",
4790 − "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
4791 − "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
4792 − "dev": true
4793 − },
4794 − "queue-microtask": {
4795 − "version": "1.2.3",
4796 − "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
4797 − "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
4798 − "dev": true
4799 − },
4800 − "react-is": {
4801 − "version": "16.13.1",
4802 − "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
4803 − "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
4804 − "dev": true
4805 − },
4806 − "regenerator-runtime": {
4807 − "version": "0.13.9",
4808 − "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
4809 − "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
4810 − "dev": true
4811 − },
4812 − "regexp.prototype.flags": {
4813 − "version": "1.4.3",
4814 − "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
4815 − "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
4816 − "dev": true,
4817 − "requires": {
4818 − "call-bind": "^1.0.2",
4819 − "define-properties": "^1.1.3",
4820 − "functions-have-names": "^1.2.2"
4821 − }
4822 − },
4823 − "regexpp": {
4824 − "version": "3.2.0",
4825 − "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
4826 − "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
4827 − "dev": true
4828 − },
4829 − "require-directory": {
4830 − "version": "2.1.1",
4831 − "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
4832 − "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
4833 − "dev": true
4834 − },
4835 − "resolve": {
4836 − "version": "1.22.0",
4837 − "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
4838 − "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
4839 − "dev": true,
4840 − "requires": {
4841 − "is-core-module": "^2.8.1",
4842 − "path-parse": "^1.0.7",
4843 − "supports-preserve-symlinks-flag": "^1.0.0"
4844 − }
4845 − },
4846 − "resolve-from": {
4847 − "version": "4.0.0",
4848 − "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
4849 − "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
4850 − "dev": true
4851 − },
4852 − "reusify": {
4853 − "version": "1.0.4",
4854 − "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
4855 − "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
4856 − "dev": true
4857 − },
4858 − "rimraf": {
4859 − "version": "3.0.2",
4860 − "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
4861 − "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
4862 − "dev": true,
4863 − "requires": {
4864 − "glob": "^7.1.3"
4865 − }
4866 − },
4867 − "roarr": {
4868 − "version": "2.15.4",
4869 − "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
4870 − "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
4871 − "dev": true,
4872 − "requires": {
4873 − "boolean": "^3.0.1",
4874 − "detect-node": "^2.0.4",
4875 − "globalthis": "^1.0.1",
4876 − "json-stringify-safe": "^5.0.1",
4877 − "semver-compare": "^1.0.0",
4878 − "sprintf-js": "^1.1.2"
4879 − }
4880 − },
4881 − "run-parallel": {
4882 − "version": "1.2.0",
4883 − "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
4884 − "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
4885 − "dev": true,
4886 − "requires": {
4887 − "queue-microtask": "^1.2.2"
4888 − }
4889 − },
4890 − "secure-keys": {
4891 − "version": "1.0.0",
4892 − "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
4893 − "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=",
4894 − "dev": true
4895 − },
4896 − "semver": {
4897 − "version": "7.5.2",
4898 − "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
4899 − "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
4900 − "requires": {
4901 − "lru-cache": "^6.0.0"
4902 − }
4903 − },
4904 − "semver-compare": {
4905 − "version": "1.0.0",
4906 − "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
4907 − "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
4908 − "dev": true
4909 − },
4910 − "serialize-error": {
4911 − "version": "7.0.1",
4912 − "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
4913 − "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
4914 − "dev": true,
4915 − "requires": {
4916 − "type-fest": "^0.13.1"
4917 − },
4918 − "dependencies": {
4919 − "type-fest": {
4920 − "version": "0.13.1",
4921 − "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
4922 − "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
4923 − "dev": true
4924 − }
4925 − }
4926 − },
4927 − "shebang-command": {
4928 − "version": "2.0.0",
4929 − "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
4930 − "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
4931 − "dev": true,
4932 − "requires": {
4933 − "shebang-regex": "^3.0.0"
4934 − }
4935 − },
4936 − "shebang-regex": {
4937 − "version": "3.0.0",
4938 − "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
4939 − "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
4940 − "dev": true
4941 − },
4942 − "shellcheck": {
4943 − "version": "1.1.0",
4944 − "resolved": "https://registry.npmjs.org/shellcheck/-/shellcheck-1.1.0.tgz",
4945 − "integrity": "sha512-WtLqgjHg7667gGU+0dPV1EtoQgYL/Zxc4fhRt6Z3kfpASG3J08TBJ990HVIUnN/YWUBKMr3FVbBYlEvPVJ24bA==",
4946 − "dev": true,
4947 − "requires": {
4948 − "global-agent": "^3.0.0"
4949 − }
4950 − },
4951 − "side-channel": {
4952 − "version": "1.0.4",
4953 − "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
4954 − "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
4955 − "dev": true,
4956 − "requires": {
4957 − "call-bind": "^1.0.0",
4958 − "get-intrinsic": "^1.0.2",
4959 − "object-inspect": "^1.9.0"
4960 − }
4961 − },
4962 − "slash": {
4963 − "version": "3.0.0",
4964 − "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
4965 − "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
4966 − "dev": true
4967 − },
4968 − "sprintf-js": {
4969 − "version": "1.1.2",
4970 − "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
4971 − "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
4972 − "dev": true
4973 − },
4974 − "string-width": {
4975 − "version": "4.2.3",
4976 − "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
4977 − "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
4978 − "dev": true,
4979 − "requires": {
4980 − "emoji-regex": "^8.0.0",
4981 − "is-fullwidth-code-point": "^3.0.0",
4982 − "strip-ansi": "^6.0.1"
4983 − },
4984 − "dependencies": {
4985 − "emoji-regex": {
4986 − "version": "8.0.0",
4987 − "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
4988 − "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
4989 − "dev": true
4990 − }
4991 − }
4992 − },
4993 − "string.prototype.matchall": {
4994 − "version": "4.0.7",
4995 − "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz",
4996 − "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==",
4997 − "dev": true,
4998 − "requires": {
4999 − "call-bind": "^1.0.2",
5000 − "define-properties": "^1.1.3",
5001 − "es-abstract": "^1.19.1",
5002 − "get-intrinsic": "^1.1.1",
5003 − "has-symbols": "^1.0.3",
5004 − "internal-slot": "^1.0.3",
5005 − "regexp.prototype.flags": "^1.4.1",
5006 − "side-channel": "^1.0.4"
5007 − }
5008 − },
5009 − "string.prototype.trimend": {
5010 − "version": "1.0.4",
5011 − "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
5012 − "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
5013 − "dev": true,
5014 − "requires": {
5015 − "call-bind": "^1.0.2",
5016 − "define-properties": "^1.1.3"
5017 − }
5018 − },
5019 − "string.prototype.trimstart": {
5020 − "version": "1.0.4",
5021 − "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
5022 − "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
5023 − "dev": true,
5024 − "requires": {
5025 − "call-bind": "^1.0.2",
5026 − "define-properties": "^1.1.3"
5027 − }
5028 − },
5029 − "strip-ansi": {
5030 − "version": "6.0.1",
5031 − "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
5032 − "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
5033 − "dev": true,
5034 − "requires": {
5035 − "ansi-regex": "^5.0.1"
5036 − }
5037 − },
5038 − "strip-bom": {
5039 − "version": "3.0.0",
5040 − "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
5041 − "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
5042 − "dev": true
5043 − },
5044 − "strip-json-comments": {
5045 − "version": "3.1.1",
5046 − "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
5047 − "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
5048 − "dev": true
5049 − },
5050 − "supports-color": {
5051 − "version": "7.2.0",
5052 − "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
5053 − "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
5054 − "dev": true,
5055 − "requires": {
5056 − "has-flag": "^4.0.0"
5057 − }
5058 − },
5059 − "supports-preserve-symlinks-flag": {
5060 − "version": "1.0.0",
5061 − "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
5062 − "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
5063 − "dev": true
5064 − },
5065 − "text-table": {
5066 − "version": "0.2.0",
5067 − "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
5068 − "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
5069 − "dev": true
5070 − },
5071 − "to-regex-range": {
5072 − "version": "5.0.1",
5073 − "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
5074 − "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
5075 − "dev": true,
5076 − "requires": {
5077 − "is-number": "^7.0.0"
5078 − }
5079 − },
5080 − "tsconfig-paths": {
5081 − "version": "3.14.1",
5082 − "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
5083 − "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
5084 − "dev": true,
5085 − "requires": {
5086 − "@types/json5": "^0.0.29",
5087 − "json5": "^1.0.1",
5088 − "minimist": "^1.2.6",
5089 − "strip-bom": "^3.0.0"
5090 − }
5091 − },
5092 − "tunnel": {
5093 − "version": "0.0.6",
5094 − "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
5095 − "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
5096 − },
5097 − "type-check": {
5098 − "version": "0.4.0",
5099 − "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
5100 − "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
5101 − "dev": true,
5102 − "requires": {
5103 − "prelude-ls": "^1.2.1"
5104 − }
5105 − },
5106 − "type-fest": {
5107 − "version": "0.20.2",
5108 − "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
5109 − "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
5110 − "dev": true
5111 − },
5112 − "uc.micro": {
5113 − "version": "1.0.6",
5114 − "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
5115 − "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
5116 − "dev": true
5117 − },
5118 − "unbox-primitive": {
5119 − "version": "1.0.1",
5120 − "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
5121 − "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
5122 − "dev": true,
5123 − "requires": {
5124 − "function-bind": "^1.1.1",
5125 − "has-bigints": "^1.0.1",
5126 − "has-symbols": "^1.0.2",
5127 − "which-boxed-primitive": "^1.0.2"
5128 − }
5129 − },
5130 − "uri-js": {
5131 − "version": "4.4.1",
5132 − "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
5133 − "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
5134 − "dev": true,
5135 − "requires": {
5136 − "punycode": "^2.1.0"
5137 − }
5138 − },
5139 − "uuid": {
5140 − "version": "8.3.2",
5141 − "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
5142 − "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
5143 − },
5144 − "which": {
5145 − "version": "2.0.2",
5146 − "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
5147 − "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
5148 − "dev": true,
5149 − "requires": {
5150 − "isexe": "^2.0.0"
5151 − }
5152 − },
5153 − "which-boxed-primitive": {
5154 − "version": "1.0.2",
5155 − "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
5156 − "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
5157 − "dev": true,
5158 − "requires": {
5159 − "is-bigint": "^1.0.1",
5160 − "is-boolean-object": "^1.1.0",
5161 − "is-number-object": "^1.0.4",
5162 − "is-string": "^1.0.5",
5163 − "is-symbol": "^1.0.3"
5164 − }
5165 − },
5166 − "word-wrap": {
5167 − "version": "1.2.4",
5168 − "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
5169 − "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
5170 − "dev": true
5171 − },
5172 − "wrap-ansi": {
5173 − "version": "7.0.0",
5174 − "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
5175 − "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
5176 − "dev": true,
5177 − "requires": {
5178 − "ansi-styles": "^4.0.0",
5179 − "string-width": "^4.1.0",
5180 − "strip-ansi": "^6.0.0"
5181 − }
5182 − },
5183 − "wrappy": {
5184 − "version": "1.0.2",
5185 − "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5186 − "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
5187 − "dev": true
5188 − },
5189 − "y18n": {
5190 − "version": "5.0.8",
5191 − "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
5192 − "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
5193 − "dev": true
5194 − },
5195 − "yallist": {
5196 − "version": "4.0.0",
5197 − "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
5198 − "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
5199 − },
5200 − "yaml-lint": {
5201 − "version": "1.7.0",
5202 − "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.7.0.tgz",
5203 − "integrity": "sha512-zeBC/kskKQo4zuoGQ+IYjw6C9a/YILr2SXoEZA9jM0COrSwvwVbfTiFegT8qYBSBgOwLMWGL8sY137tOmFXGnQ==",
5204 − "dev": true,
5205 − "requires": {
5206 − "consola": "^2.15.3",
5207 − "globby": "^11.1.0",
5208 − "js-yaml": "^4.1.0",
5209 − "nconf": "^0.12.0"
5210 − }
5211 − },
5212 − "yargs": {
5213 − "version": "16.2.0",
5214 − "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
5215 − "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
5216 − "dev": true,
5217 − "requires": {
5218 − "cliui": "^7.0.2",
5219 − "escalade": "^3.1.1",
5220 − "get-caller-file": "^2.0.5",
5221 − "require-directory": "^2.1.1",
5222 − "string-width": "^4.2.0",
5223 − "y18n": "^5.0.5",
5224 − "yargs-parser": "^20.2.2"
5225 − }
5226 − },
5227 − "yargs-parser": {
5228 − "version": "20.2.9",
5229 − "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
5230 − "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
5231 − "dev": true
5232 − },
5233 − "yarn": {
5234 − "version": "1.22.19",
5235 − "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.19.tgz",
5236 − "integrity": "sha512-/0V5q0WbslqnwP91tirOvldvYISzaqhClxzyUKXYxs07yUILIs5jx/k6CFe8bvKSkds5w+eiOqta39Wk3WxdcQ==",
5237 − "dev": true
5238 − },
5239 − "yocto-queue": {
5240 − "version": "0.1.0",
5241 − "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
5242 − "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
5243 − "dev": true
5244 − }
5245 2802 }
5246 2803 }
modified package.json
+7 −17
@@ -13,29 +13,19 @@
13 13 "yamllint": "yamllint .github/workflows/**.yml && yamllint .*.yml && yamllint *.yml",
14 14 "build-dist": "npm install && npm run build && npm run format && npm run markdownlint && npm run shellcheck && npm run yamllint && npm run jslint"
15 15 },
16 − "husky": {
17 − "hooks": {
18 − "pre-commit": "npm run format -- --check && npm run build && git add dist/"
19 − }
20 − },
21 16 "dependencies": {
22 17 "@actions/core": "1.10.0",
23 18 "@actions/exec": "1.1.1",
24 19 "@actions/http-client": "2.1.0",
25 − "@actions/tool-cache": "^2.0.1",
26 − "semver": "7.5.2"
20 + "@actions/tool-cache": "2.0.1",
21 + "semver": "7.5.3"
27 22 },
28 23 "devDependencies": {
29 − "@vercel/ncc": "0.34.0",
30 − "eslint": "8.25.0",
31 − "eslint-config-airbnb": "19.0.4",
32 − "eslint-plugin-import": "2.26.0",
33 − "eslint-plugin-jsx-a11y": "6.6.1",
34 − "eslint-plugin-react": "7.31.10",
35 − "husky": "8.0.1",
36 − "markdownlint": "0.26.2",
37 − "prettier": "2.7.1",
38 − "shellcheck": "1.1.0",
24 + "@vercel/ncc": "0.36.1",
25 + "eslint": "8.43.0",
26 + "markdownlint-cli": "0.35.0",
27 + "prettier": "2.8.8",
28 + "shellcheck": "2.2.0",
39 29 "yaml-lint": "1.7.0",
40 30 "yarn": "1.22.19"
41 31 },
modified src/setup-beam.js
+143 −83
@@ -35,15 +35,16 @@ async function main() {
35 35
36 36 if (otpSpec !== 'false') {
37 37 await installOTP(otpSpec, osVersion, hexMirrors)
38 +
38 39 const elixirInstalled = await maybeInstallElixir(
39 40 elixirSpec,
40 41 otpSpec,
41 42 hexMirrors,
42 43 )
43 −
44 44 if (elixirInstalled === true) {
45 45 const shouldMixRebar = getInput('install-rebar', false)
46 46 await mix(shouldMixRebar, 'rebar', hexMirrors)
47 +
47 48 const shouldMixHex = getInput('install-hex', false)
48 49 await mix(shouldMixHex, 'hex', hexMirrors)
49 50 }
@@ -67,7 +68,6 @@ async function installOTP(otpSpec, osVersion, hexMirrors) {
67 68
68 69 async function maybeInstallElixir(elixirSpec, otpSpec, hexMirrors) {
69 70 let installed = false
70 −
71 71 if (elixirSpec) {
72 72 const elixirVersion = await getElixirVersion(
73 73 elixirSpec,
@@ -77,6 +77,7 @@ async function maybeInstallElixir(elixirSpec, otpSpec, hexMirrors) {
77 77 core.startGroup(`Installing Elixir ${elixirVersion}`)
78 78 await installer.installElixir(elixirVersion, hexMirrors)
79 79 core.setOutput('elixir-version', elixirVersion)
80 +
80 81 const disableProblemMatchers = getInput('disable_problem_matchers', false)
81 82 if (disableProblemMatchers === 'false') {
82 83 const elixirMatchers = path.join(
@@ -99,6 +100,7 @@ async function mixWithMirrors(cmd, args, hexMirrors) {
99 100 if (hexMirrors.length === 0) {
100 101 throw new Error('mix failed with every mirror')
101 102 }
103 +
102 104 const [hexMirror, ...hexMirrorsT] = hexMirrors
103 105 process.env.HEX_MIRROR = hexMirror
104 106 try {
@@ -108,6 +110,7 @@ async function mixWithMirrors(cmd, args, hexMirrors) {
108 110 `mix failed with mirror ${process.env.HEX_MIRROR} with message ${err.message})`,
109 111 )
110 112 }
113 +
111 114 return mixWithMirrors(cmd, args, hexMirrorsT)
112 115 }
113 116
@@ -123,7 +126,6 @@ async function mix(shouldMix, what, hexMirrors) {
123 126
124 127 async function maybeInstallGleam(gleamSpec) {
125 128 let installed = false
126 −
127 129 if (gleamSpec) {
128 130 const gleamVersion = await getGleamVersion(gleamSpec)
129 131 core.startGroup(`Installing Gleam ${gleamVersion}`)
@@ -141,7 +143,6 @@ async function maybeInstallGleam(gleamSpec) {
141 143 async function maybeInstallRebar3(rebar3Spec) {
142 144 let installed = false
143 145 let rebar3Version
144 −
145 146 if (rebar3Spec) {
146 147 if (rebar3Spec === 'nightly') {
147 148 rebar3Version = 'nightly'
@@ -162,14 +163,9 @@ async function maybeInstallRebar3(rebar3Spec) {
162 163
163 164 async function getOTPVersion(otpSpec0, osVersion, hexMirrors) {
164 165 const otpVersions = await getOTPVersions(osVersion, hexMirrors)
165 − let otpSpec = otpSpec0 // might be a branch (?)
166 − const otpVersion = getVersionFromSpec(
167 − otpSpec,
168 − Array.from(otpVersions.keys()).sort(),
169 − )
170 − if (isVersion(otpSpec0)) {
171 − otpSpec = `OTP-${otpSpec0}` // ... it's a version!
172 − }
166 + const spec = otpSpec0.replace(/^OTP-/, '')
167 + const versions = otpVersions
168 + const otpVersion = getVersionFromSpec(spec, versions)
173 169 if (otpVersion === null) {
174 170 throw new Error(
175 171 `Requested Erlang/OTP version (${otpSpec0}) not found in version list ` +
@@ -177,20 +173,18 @@ async function getOTPVersion(otpSpec0, osVersion, hexMirrors) {
177 173 )
178 174 }
179 175
180 − return otpVersions.get(otpVersion) // from the reference, for download
176 + return otpVersion // from the reference, for download
181 177 }
182 178
183 179 async function getElixirVersion(exSpec0, otpVersion0, hexMirrors) {
184 180 const otpVersion = otpVersion0.match(/^([^-]+-)?(.+)$/)[2]
185 181 const otpVersionMajor = otpVersion.match(/^([^.]+).*$/)[1]
186 − const elixirVersions = await getElixirVersions(hexMirrors)
187 − const semverVersions = Array.from(elixirVersions.keys()).sort()
188 − const exSpec = exSpec0.replace(/-otp-.*$/, '')
189 − const elixirVersionFromSpec = getVersionFromSpec(exSpec, semverVersions, true)
190 − let elixirVersionForDownload = elixirVersionFromSpec
191 − if (isVersion(otpVersionMajor)) {
192 − elixirVersionForDownload = `${elixirVersionFromSpec}-otp-${otpVersionMajor}`
193 − }
182 + const [otpVersionsForElixirMap, elixirVersions] = await getElixirVersions(
183 + hexMirrors,
184 + )
185 + const spec = exSpec0.replace(/-otp-.*$/, '')
186 + const versions = elixirVersions
187 + const elixirVersionFromSpec = getVersionFromSpec(spec, versions)
194 188 if (elixirVersionFromSpec === null) {
195 189 throw new Error(
196 190 `Requested Elixir version (${exSpec0}) not found in version list ` +
@@ -198,7 +192,7 @@ async function getElixirVersion(exSpec0, otpVersion0, hexMirrors) {
198 192 )
199 193 }
200 194
201 − const elixirVersionComp = elixirVersions.get(elixirVersionFromSpec)
195 + const elixirVersionComp = otpVersionsForElixirMap[elixirVersionFromSpec]
202 196 if (
203 197 (elixirVersionComp && elixirVersionComp.includes(otpVersionMajor)) ||
204 198 !isVersion(otpVersionMajor)
@@ -215,13 +209,20 @@ async function getElixirVersion(exSpec0, otpVersion0, hexMirrors) {
215 209 )
216 210 }
217 211
212 + let elixirVersionForDownload = elixirVersionFromSpec
213 +
214 + if (isVersion(otpVersionMajor)) {
215 + elixirVersionForDownload = `${elixirVersionFromSpec}-otp-${otpVersionMajor}`
216 + }
217 +
218 218 return maybePrependWithV(elixirVersionForDownload)
219 219 }
220 220
221 221 async function getGleamVersion(gleamSpec0) {
222 − const gleamSpec = gleamSpec0.match(/^v?(.+)$/)
223 222 const gleamVersions = await getGleamVersions()
224 − const gleamVersion = getVersionFromSpec(gleamSpec[1], gleamVersions, true)
223 + const spec = gleamSpec0
224 + const versions = gleamVersions
225 + const gleamVersion = getVersionFromSpec(spec, versions)
225 226 if (gleamVersion === null) {
226 227 throw new Error(
227 228 `Requested Gleam version (${gleamSpec0}) not found in version list ` +
@@ -229,12 +230,14 @@ async function getGleamVersion(gleamSpec0) {
229 230 )
230 231 }
231 232
232 − return maybePrependWithV(gleamVersion, gleamVersion)
233 + return maybePrependWithV(gleamVersion)
233 234 }
234 235
235 236 async function getRebar3Version(r3Spec) {
236 237 const rebar3Versions = await getRebar3Versions()
237 − const rebar3Version = getVersionFromSpec(r3Spec, rebar3Versions)
238 + const spec = r3Spec
239 + const versions = rebar3Versions
240 + const rebar3Version = getVersionFromSpec(spec, versions)
238 241 if (rebar3Version === null) {
239 242 throw new Error(
240 243 `Requested rebar3 version (${r3Spec}) not found in version list ` +
@@ -257,8 +260,9 @@ async function getOTPVersions(osVersion, hexMirrors) {
257 260 otpVersionsListings = await get(originListing, [1, 2, 3])
258 261 }
259 262
260 − const otpVersions = new Map()
263 + debugLog(`OTP versions listings from ${originListing}`, otpVersionsListings)
261 264
265 + const otpVersions = {}
262 266 if (process.platform === 'linux') {
263 267 otpVersionsListings
264 268 .trim()
@@ -268,8 +272,9 @@ async function getOTPVersions(osVersion, hexMirrors) {
268 272 .match(/^([^ ]+)?( .+)/)[1]
269 273 .match(/^([^-]+-)?(.+)$/)
270 274 const otpVersion = otpMatch[2]
275 + const otpVersionOrig = otpMatch[0]
271 276 debugLog('OTP line and parsing', [line, otpVersion, otpMatch])
272 − otpVersions.set(otpVersion, otpMatch[0]) // we keep the original for later reference
277 + otpVersions[otpVersion] = otpVersionOrig // we keep the original for later reference
273 278 })
274 279 } else if (process.platform === 'win32') {
275 280 otpVersionsListings.forEach((otpVersionsListing) => {
@@ -281,15 +286,12 @@ async function getOTPVersions(osVersion, hexMirrors) {
281 286 const otpMatch = x.name.match(/^otp_win64_(.*).exe$/)
282 287 const otpVersion = otpMatch[1]
283 288 debugLog('OTP line and parsing', [otpMatch, otpVersion])
284 − otpVersions.set(otpVersion, otpVersion)
289 + otpVersions[otpVersion] = otpVersion
285 290 })
286 291 })
287 292 }
288 293
289 − debugLog(
290 − `OTP versions from ${originListing}`,
291 − JSON.stringify([...otpVersions.entries()]),
292 − )
294 + debugLog(`OTP versions from ${originListing}`, JSON.stringify(otpVersions))
293 295
294 296 return otpVersions
295 297 }
@@ -299,7 +301,8 @@ async function getElixirVersions(hexMirrors) {
299 301 '/builds/elixir/builds.txt',
300 302 hexMirrors,
301 303 )
302 − const otpVersionsForElixirMap = new Map()
304 + const otpVersionsForElixirMap = {}
305 + const elixirVersions = {}
303 306
304 307 elixirVersionsListings
305 308 .trim()
@@ -307,17 +310,18 @@ async function getElixirVersions(hexMirrors) {
307 310 .forEach((line) => {
308 311 const elixirMatch =
309 312 line.match(/^v?(.+)-otp-([^ ]+)/) || line.match(/^v?([^ ]+)/)
310 − const elixirVersion = maybePrependWithV(elixirMatch[1])
313 + const elixirVersion = elixirMatch[1]
311 314 const otpVersion = elixirMatch[2]
312 − const otpVersions = otpVersionsForElixirMap.get(elixirVersion) || []
315 + const otpVersions = otpVersionsForElixirMap[elixirVersion] || []
313 316 if (otpVersion) {
314 317 // -otp- present (special case)
315 318 otpVersions.push(otpVersion)
316 319 }
317 − otpVersionsForElixirMap.set(elixirVersion, otpVersions)
320 + otpVersionsForElixirMap[elixirVersion] = otpVersions
321 + elixirVersions[elixirVersion] = elixirVersion
318 322 })
319 323
320 − return otpVersionsForElixirMap
324 + return [otpVersionsForElixirMap, elixirVersions]
321 325 }
322 326
323 327 async function getGleamVersions() {
@@ -325,13 +329,17 @@ async function getGleamVersions() {
325 329 'https://api.github.com/repos/gleam-lang/gleam/releases?per_page=100',
326 330 [1, 2, 3],
327 331 )
328 − const gleamVersionsListing = []
332 + const gleamVersionsListing = {}
329 333 resultJSONs.forEach((resultJSON) => {
330 334 jsonParseAsList(resultJSON)
331 335 .map((x) => x.tag_name)
332 − .sort()
333 − .forEach((v) => gleamVersionsListing.push(v))
336 + .forEach((ver) => {
337 + const gleamMatch = ver.match(/^v?([^ ]+)/)
338 + const gleamVersion = gleamMatch[1]
339 + gleamVersionsListing[gleamVersion] = gleamVersion
340 + })
334 341 })
342 +
335 343 return gleamVersionsListing
336 344 }
337 345
@@ -340,13 +348,15 @@ async function getRebar3Versions() {
340 348 'https://api.github.com/repos/erlang/rebar3/releases?per_page=100',
341 349 [1, 2, 3],
342 350 )
343 − const rebar3VersionsListing = []
351 + const rebar3VersionsListing = {}
344 352 resultJSONs.forEach((resultJSON) => {
345 353 jsonParseAsList(resultJSON)
346 354 .map((x) => x.tag_name)
347 − .sort()
348 − .forEach((v) => rebar3VersionsListing.push(v))
355 + .forEach((ver) => {
356 + rebar3VersionsListing[ver] = ver
357 + })
349 358 })
359 +
350 360 return rebar3VersionsListing
351 361 }
352 362
@@ -354,48 +364,68 @@ function isStrictVersion() {
354 364 return getInput('version-type', false) === 'strict'
355 365 }
356 366
357 −function getVersionFromSpec(spec, versions, maybePrependWithV0) {
358 − let version = null
359 −
360 − if (spec.match(/rc/) || isStrictVersion()) {
361 − version = spec
362 − }
367 +function getVersionFromSpec(spec0, versions0) {
368 + const spec = maybeRemoveVPrefix(spec0)
363 369
364 − if (version === null) {
365 − // We keep a map of semver => "spec" in order to use semver ranges to find appropriate versions
366 − const versionsMap = versions.sort(sortVersions).reduce((acc, v) => {
367 − if (!v.match(/rc/)) {
368 − // release candidates are opt-in
369 − acc[maybeCoerced(v)] = v
370 − }
371 − return acc
372 − }, {})
373 − const rangeForMax = semver.validRange(spec)
374 − if (rangeForMax) {
375 − version =
376 − versionsMap[semver.maxSatisfying(Object.keys(versionsMap), rangeForMax)]
370 + const altVersions = {}
371 + Object.entries(versions0).forEach(([version, altVersion]) => {
372 + let coerced
373 + if (isStrictVersion() || isRC(version)) {
374 + // If `version-type: strict` or version is RC, we just try to remove a potential initial v
375 + coerced = maybeRemoveVPrefix(version)
377 376 } else {
378 − version = versionsMap[maybeCoerced(spec)]
377 + // Otherwise, we place the version into a version bucket
378 + coerced = maybeCoerced(version)
379 379 }
380 − }
380 + const alt = (altVersions[coerced] || []).concat(altVersion)
381 + alt.sort(sortVersions)
382 + altVersions[coerced] = alt
383 + })
381 384
382 − let v = version === null || version === undefined ? null : version
383 − if (maybePrependWithV0 && v != null) {
384 − v = maybePrependWithV(v)
385 − }
385 + let versions = Object.keys(altVersions)
386 386
387 − if (!versions.includes(v)) {
388 − v = null
387 + const rangeForMax = semver.validRange(spec0) || maybeCoerced(spec)
388 + const rangeMax = semver.maxSatisfying(versions, rangeForMax)
389 + let version = null
390 +
391 + if (isStrictVersion() || isRC(spec0)) {
392 + if (versions0[spec]) {
393 + // If `version-type: strict` or version is RC, we obtain it directly
394 + version = versions0[spec]
395 + }
396 + } else if (rangeMax !== null) {
397 + // Otherwise, we compare alt. versions' semver ranges to this version, from highest to lowest
398 + const thatVersion = spec
399 + const thatVersionAbc = versionAbc(thatVersion)
400 + const thatVersionAbcRange = semver.validRange(thatVersionAbc)
401 +
402 + versions = altVersions[rangeMax]
403 + for (let i = versions.length - 1; i >= 0; i -= 1) {
404 + const thisVersion = versions[i]
405 + const thisVersionAbc = versionAbc(thisVersion)
406 + const thisVersionAbcRange = semver.validRange(thisVersionAbc)
407 +
408 + if (
409 + thatVersionAbcRange &&
410 + semver.intersects(thatVersionAbcRange, thisVersionAbcRange)
411 + ) {
412 + version = thisVersion
413 + break
414 + }
415 + }
389 416 }
390 417
391 − return v
418 + return version || null
392 419 }
393 420
394 421 function maybeCoerced(v) {
395 − let ret
396 −
422 + let ret = null
397 423 try {
398 − ret = semver.coerce(v).version
424 + if (!isRC(v)) {
425 + ret = semver.coerce(v).version
426 + } else {
427 + ret = maybeRemoveVPrefix(v)
428 + }
399 429 } catch {
400 430 // some stuff can't be coerced, like 'main'
401 431 ret = v
@@ -408,11 +438,11 @@ function sortVersions(left, right) {
408 438 let ret = 0
409 439 const newL = verAsComparableStr(left)
410 440 const newR = verAsComparableStr(right)
411 −
412 441 function verAsComparableStr(ver) {
413 − const matchGroups = 5
414 − const verSpec = /([^.]+)?\.?([^.]+)?\.?([^.]+)?\.?([^.]+)?\.?([^.]+)?/
442 + const matchGroups = 6
443 + const verSpec = xyzAbcVersion('', '')
415 444 const matches = ver.match(verSpec).splice(1, matchGroups)
445 +
416 446 return matches.reduce((acc, v) => acc + (v || '0').padStart(3, '0'), '')
417 447 }
418 448
@@ -425,6 +455,10 @@ function sortVersions(left, right) {
425 455 return ret
426 456 }
427 457
458 +function isRC(ver) {
459 + return ver.match(xyzAbcVersion('^', '(?:-rc\\.?\\d+)'))
460 +}
461 +
428 462 function getRunnerOSVersion() {
429 463 const ImageOSToContainer = {
430 464 ubuntu18: 'ubuntu-18.04',
@@ -434,7 +468,6 @@ function getRunnerOSVersion() {
434 468 win22: 'windows-2022',
435 469 }
436 470 const containerFromEnvImageOS = ImageOSToContainer[process.env.ImageOS]
437 −
438 471 if (!containerFromEnvImageOS) {
439 472 throw new Error(
440 473 "Tried to map a target OS from env. variable 'ImageOS' (got " +
@@ -455,7 +488,6 @@ async function get(url0, pageIdxs) {
455 488 const url = new URL(url0)
456 489 const headers = {}
457 490 const GithubToken = getInput('github-token', false)
458 −
459 491 if (GithubToken && url.host === 'api.github.com') {
460 492 headers.authorization = `Bearer ${GithubToken}`
461 493 }
@@ -468,9 +500,7 @@ async function get(url0, pageIdxs) {
468 500 allowRetries: true,
469 501 maxRetries: 3,
470 502 })
471 −
472 503 const response = await httpClient.get(url, headers)
473 −
474 504 if (response.statusCode >= 400 && response.statusCode <= 599) {
475 505 throw new Error(
476 506 `Got ${response.statusCode} from ${url}. Exiting with error`,
@@ -483,6 +513,7 @@ async function get(url0, pageIdxs) {
483 513 if (pageIdxs[0] === null) {
484 514 return getPage(null)
485 515 }
516 +
486 517 return Promise.all(pageIdxs.map(getPage))
487 518 }
488 519
@@ -490,12 +521,14 @@ async function getWithMirrors(resourcePath, hexMirrors) {
490 521 if (hexMirrors.length === 0) {
491 522 throw new Error(`Could not fetch ${resourcePath} from any hex.pm mirror`)
492 523 }
524 +
493 525 const [hexMirror, ...hexMirrorsT] = hexMirrors
494 526 try {
495 527 return await get(`${hexMirror}${resourcePath}`, [null])
496 528 } catch (err) {
497 529 core.info(`get failed for URL ${hexMirror}${resourcePath}`)
498 530 }
531 +
499 532 return getWithMirrors(resourcePath, hexMirrorsT)
500 533 }
501 534
@@ -503,11 +536,35 @@ function maybePrependWithV(v) {
503 536 if (isVersion(v)) {
504 537 return `v${v.replace('v', '')}`
505 538 }
539 +
506 540 return v
507 541 }
508 542
543 +function maybeRemoveVPrefix(ver) {
544 + let ret = ver
545 + if (isVersion(ver)) {
546 + ret = ver.replace('v', '')
547 + }
548 +
549 + return ret
550 +}
551 +
552 +function xyzAbcVersion(pref, suf) {
553 + // This accounts for stuff like 6.0.2.0.1.0, as proposed by Erlang's
554 + // https://www.erlang.org/doc/system_principles/versions.html
555 + const dd = '\\.?(\\d+)?'
556 + return new RegExp(
557 + `${pref}v?(\\d+)${dd}${dd}${dd}${dd}${dd}(?:-rc\\.?\\d+)?(?:-otp-\\d+)?${suf}`,
558 + )
559 +}
560 +
561 +function versionAbc(ver) {
562 + // For a version like 6.0.2.0.1.0, return 0.1.0
563 + return ver.match(/\d+(?:\.[^.]+)?(?:\.[^.]+)?(?:\.)?(.*)/)[1]
564 +}
565 +
509 566 function isVersion(v) {
510 − return /^v?\d+/.test(v)
567 + return v.match(xyzAbcVersion('^', '$')) !== null
511 568 }
512 569
513 570 function getInput(inputName, required, alternativeName, alternatives) {
@@ -525,6 +582,7 @@ alongside ${alternativeName}=${alternativeValue} \
525 582 } else if (!input) {
526 583 input = alternativeValue
527 584 }
585 +
528 586 return input
529 587 }
530 588
@@ -538,6 +596,7 @@ function parseVersionFile(versionFilePath0) {
538 596 `The specified version file, ${versionFilePath0}, does not exist`,
539 597 )
540 598 }
599 +
541 600 core.startGroup(`Parsing version file at ${versionFilePath0}`)
542 601 const appVersions = new Map()
543 602 const versions = fs.readFileSync(versionFilePath, 'utf8')
@@ -571,6 +630,7 @@ function jsonParseAsList(maybeJson) {
571 630 if (!Array.isArray(obj)) {
572 631 throw new Error('expected a list!')
573 632 }
633 +
574 634 return obj
575 635 } catch (exc) {
576 636 throw new Error(
modified test/setup-beam.test.js
+52 −2
@@ -104,9 +104,18 @@ async function testOTPVersions() {
104 104 let expected
105 105 let spec
106 106 let osVersion
107 + let before
107 108 const hexMirrors = ['https://repo.hex.pm', 'https://cdn.jsdelivr.net/hex']
108 109
109 110 if (process.platform === 'linux') {
111 + before = simulateInput('version-type', 'strict')
112 + spec = '25.3.2.1'
113 + osVersion = 'ubuntu-20.04'
114 + expected = 'OTP-25.3.2.1'
115 + got = await setupBeam.getOTPVersion(spec, osVersion, hexMirrors)
116 + assert.deepStrictEqual(got, expected)
117 + simulateInput('version-type', before)
118 +
110 119 spec = '19.3.x'
111 120 osVersion = 'ubuntu-16.04'
112 121 expected = 'OTP-19.3.6.13'
@@ -131,6 +140,12 @@ async function testOTPVersions() {
131 140 got = await setupBeam.getOTPVersion(spec, osVersion, hexMirrors)
132 141 assert.deepStrictEqual(got, expected)
133 142
143 + spec = '20.3.8.26'
144 + osVersion = 'ubuntu-20.04'
145 + expected = 'OTP-20.3.8.26'
146 + got = await setupBeam.getOTPVersion(spec, osVersion, hexMirrors)
147 + assert.deepStrictEqual(got, expected)
148 +
134 149 spec = '20.x'
135 150 osVersion = 'ubuntu-20.04'
136 151 expected = 'OTP-20.3.8.26'
@@ -291,7 +306,7 @@ async function testGetVersionFromSpec() {
291 306 let expected
292 307 let spec
293 308 let before
294 − const versions = [
309 + const versions0 = [
295 310 '3.2.30.5',
296 311 '3.2.3.5',
297 312 '1',
@@ -317,10 +332,20 @@ async function testGetVersionFromSpec() {
317 332 '22.3.4.9.1',
318 333 '22.3.4.12.1',
319 334 '22.3.4.10.1',
335 + '22.3.4.2',
320 336 'main',
321 337 'v11.11.0-rc.0-otp-23',
322 − '22.3.4.2',
338 + '22.3.4.2.1.0',
339 + '12.1.2.2',
340 + '12.1.2.4',
341 + '12.1.2.0',
342 + '12.1.2.3',
343 + '12.1.2.3.0',
323 344 ]
345 + const versions = {}
346 + versions0.forEach((version) => {
347 + versions[version] = version
348 + })
324 349
325 350 spec = '1'
326 351 expected = '1.1.0'
@@ -417,6 +442,31 @@ async function testGetVersionFromSpec() {
417 442 assert.deepStrictEqual(got, expected)
418 443 simulateInput('version-type', before)
419 444
445 + spec = '22.3.4.2'
446 + expected = '22.3.4.2.1.0'
447 + got = setupBeam.getVersionFromSpec(spec, versions)
448 + assert.deepStrictEqual(got, expected)
449 +
450 + spec = '22.3.4.2.1'
451 + expected = '22.3.4.2.1.0'
452 + got = setupBeam.getVersionFromSpec(spec, versions)
453 + assert.deepStrictEqual(got, expected)
454 +
455 + spec = '22.3.4.2.1.0'
456 + expected = '22.3.4.2.1.0'
457 + got = setupBeam.getVersionFromSpec(spec, versions)
458 + assert.deepStrictEqual(got, expected)
459 +
460 + spec = '12.1.2.3'
461 + expected = '12.1.2.3.0'
462 + got = setupBeam.getVersionFromSpec(spec, versions)
463 + assert.deepStrictEqual(got, expected)
464 +
465 + spec = '22.3.4.2.1.0.1'
466 + expected = null
467 + got = setupBeam.getVersionFromSpec(spec, versions)
468 + assert.deepStrictEqual(got, expected)
469 +
420 470 before = simulateInput('version-type', 'strict')
421 471 spec = '22.3.4.3'
422 472 expected = null

Parents: efc884a