Move away from set-output (while updating all deps) (#148)

713cc2f · Paulo F. Oliveira · 2022-10-19 20:51

10 files +1330 -1110
Message
{commit_body(@commit)}

Files changed

modified .github/workflows/action.yml
+6 −6
@@ -14,8 +14,8 @@ jobs:
14 14 name: Expected local npm actions
15 15 runs-on: ubuntu-latest
16 16 steps:
17 − - uses: actions/checkout@v2
18 − - uses: actions/setup-node@v1
17 + - uses: actions/checkout@v3
18 + - uses: actions/setup-node@v3
19 19 with:
20 20 node-version: '14'
21 21 - run: npm install -g npm
@@ -34,8 +34,8 @@ jobs:
34 34 name: Unit tests (Ubuntu)
35 35 runs-on: ubuntu-latest
36 36 steps:
37 − - uses: actions/checkout@v2
38 − - uses: actions/setup-node@v1
37 + - uses: actions/checkout@v3
38 + - uses: actions/setup-node@v3
39 39 with:
40 40 node-version: '14'
41 41 - run: npm ci
@@ -45,8 +45,8 @@ jobs:
45 45 name: Unit tests (Windows)
46 46 runs-on: windows-latest
47 47 steps:
48 − - uses: actions/checkout@v2
49 − - uses: actions/setup-node@v1
48 + - uses: actions/checkout@v3
49 + - uses: actions/setup-node@v3
50 50 with:
51 51 node-version: '14'
52 52 - run: npm install --production
modified .github/workflows/ubuntu.yml
+12 −17
@@ -52,20 +52,10 @@ jobs:
52 52 - otp-version: '24'
53 53 rebar3-version: 'nightly'
54 54 os: 'ubuntu-latest'
55 − - elixir-version: 'v1.0'
56 − otp-version: '17'
57 − os: 'ubuntu-18.04'
58 − - elixir-version: 'v1.1'
59 − otp-version: '18'
60 − os: 'ubuntu-18.04'
61 − - elixir-version: 'v1.2'
62 − otp-version: '19'
63 − rebar3-version: '3.10'
64 − os: 'ubuntu-18.04'
65 55 - elixir-version: 'v1.4'
66 56 otp-version: '20'
67 57 rebar3-version: '3.6.0'
68 − os: 'ubuntu-18.04'
58 + os: 'ubuntu-20.04'
69 59 - elixir-version: 'v1.4'
70 60 otp-version: '20'
71 61 rebar3-version: '3.11'
@@ -73,7 +63,7 @@ jobs:
73 63 - elixir-version: 'v1.6'
74 64 otp-version: '21'
75 65 rebar3-version: '3.12'
76 − os: 'ubuntu-18.04'
66 + os: 'ubuntu-20.04'
77 67 - elixir-version: 'v1.6'
78 68 otp-version: '21'
79 69 rebar3-version: '3.12'
@@ -81,7 +71,7 @@ jobs:
81 71 - elixir-version: 'v1.7'
82 72 otp-version: '22'
83 73 rebar3-version: '3.13'
84 − os: 'ubuntu-18.04'
74 + os: 'ubuntu-20.04'
85 75 - elixir-version: 'v1.7'
86 76 otp-version: '22'
87 77 rebar3-version: '3.13'
@@ -89,11 +79,11 @@ jobs:
89 79 - elixir-version: 'v1.10'
90 80 otp-version: '23'
91 81 rebar3-version: '3.14'
92 − os: 'ubuntu-18.04'
82 + os: 'ubuntu-20.04'
93 83 - elixir-version: 'v1.13.4'
94 84 otp-version: '25.0.2'
95 85 rebar3-version: '3.19'
96 − os: 'ubuntu-18.04'
86 + os: 'ubuntu-20.04'
97 87 - elixir-version: 'v1.10'
98 88 otp-version: '23'
99 89 rebar3-version: '3.14'
@@ -127,20 +117,25 @@ jobs:
127 117 - gleam-version: 'nightly'
128 118 otp-version: '24'
129 119 os: 'ubuntu-latest'
120 + disable_problem_matchers: true
130 121 - gleam-version: '0.23'
131 122 otp-version: '24'
132 123 os: 'ubuntu-latest'
124 + disable_problem_matchers: true
133 125 - gleam-version: '0.23.0-rc1'
134 126 otp-version: '24'
135 127 os: 'ubuntu-latest'
128 + disable_problem_matchers: true
136 129 - gleam-version: '0.23.0-rc1'
137 130 otp-version: false
138 131 os: 'ubuntu-latest'
132 + disable_problem_matchers: true
139 133 - gleam-version: '0.22.0' # Version with Gleam's old archive naming convention
140 134 otp-version: '24'
141 135 os: 'ubuntu-latest'
136 + disable_problem_matchers: true
142 137 steps:
143 − - uses: actions/checkout@v2
138 + - uses: actions/checkout@v3
144 139 - name: Use erlef/setup-beam
145 140 id: setup-beam
146 141 uses: ./
@@ -202,7 +197,7 @@ jobs:
202 197 rebar3-version: 'nightly'
203 198 os: 'ubuntu-latest'
204 199 steps:
205 − - uses: actions/checkout@v2
200 + - uses: actions/checkout@v3
206 201 - name: Use erlef/setup-beam
207 202 id: setup-beam
208 203 uses: ./
modified .github/workflows/update_3rd_party_licenses.yml
+2 −2
@@ -11,8 +11,8 @@ jobs:
11 11 name: Update 3rd party licenses
12 12 runs-on: ubuntu-latest
13 13 steps:
14 − - uses: actions/checkout@v2
15 − - uses: actions/setup-node@v1
14 + - uses: actions/checkout@v3
15 + - uses: actions/setup-node@v3
16 16 with:
17 17 node-version: '14'
18 18 - run:
modified .github/workflows/windows.yml
+3 −3
@@ -37,7 +37,7 @@ jobs:
37 37 otp-version: '23'
38 38 rebar3-version: '3.14'
39 39 os: 'windows-latest'
40 − - elixir-version: 'v1.11'
40 + - elixir-version: 'v1.13'
41 41 otp-version: '24'
42 42 rebar3-version: '3.15'
43 43 os: 'windows-latest'
@@ -46,7 +46,7 @@ jobs:
46 46 rebar3-version: '3.16'
47 47 os: 'windows-latest'
48 48 steps:
49 − - uses: actions/checkout@v2
49 + - uses: actions/checkout@v3
50 50 - name: Use erlef/setup-beam
51 51 id: setup-beam
52 52 uses: ./
@@ -95,7 +95,7 @@ jobs:
95 95 rebar3-version: 'nightly'
96 96 os: 'windows-latest'
97 97 steps:
98 − - uses: actions/checkout@v2
98 + - uses: actions/checkout@v3
99 99 - name: Use erlef/setup-beam
100 100 id: setup-beam
101 101 uses: ./
modified dist/index.js
+825 −802
@@ -140,7 +140,6 @@ const file_command_1 = __nccwpck_require__(717);
140 140 const utils_1 = __nccwpck_require__(5278);
141 141 const os = __importStar(__nccwpck_require__(2037));
142 142 const path = __importStar(__nccwpck_require__(1017));
143 −const uuid_1 = __nccwpck_require__(5840);
144 143 const oidc_utils_1 = __nccwpck_require__(8041);
145 144 /**
146 145 * The code to exit an action
@@ -170,20 +169,9 @@ function exportVariable(name, val) {
170 169 process.env[name] = convertedVal;
171 170 const filePath = process.env['GITHUB_ENV'] || '';
172 171 if (filePath) {
173 − const delimiter = `ghadelimiter_${uuid_1.v4()}`;
174 − // These should realistically never happen, but just in case someone finds a way to exploit uuid generation let's not allow keys or values that contain the delimiter.
175 − if (name.includes(delimiter)) {
176 − throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
177 − }
178 − if (convertedVal.includes(delimiter)) {
179 − throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
180 − }
181 − const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;
182 − file_command_1.issueCommand('ENV', commandValue);
183 − }
184 − else {
185 − command_1.issueCommand('set-env', { name }, convertedVal);
172 + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));
186 173 }
174 + command_1.issueCommand('set-env', { name }, convertedVal);
187 175 }
188 176 exports.exportVariable = exportVariable;
189 177 /**
@@ -201,7 +189,7 @@ exports.setSecret = setSecret;
201 189 function addPath(inputPath) {
202 190 const filePath = process.env['GITHUB_PATH'] || '';
203 191 if (filePath) {
204 − file_command_1.issueCommand('PATH', inputPath);
192 + file_command_1.issueFileCommand('PATH', inputPath);
205 193 }
206 194 else {
207 195 command_1.issueCommand('add-path', {}, inputPath);
@@ -241,7 +229,10 @@ function getMultilineInput(name, options) {
241 229 const inputs = getInput(name, options)
242 230 .split('\n')
243 231 .filter(x => x !== '');
244 − return inputs;
232 + if (options && options.trimWhitespace === false) {
233 + return inputs;
234 + }
235 + return inputs.map(input => input.trim());
245 236 }
246 237 exports.getMultilineInput = getMultilineInput;
247 238 /**
@@ -274,8 +265,12 @@ exports.getBooleanInput = getBooleanInput;
274 265 */
275 266 // eslint-disable-next-line @typescript-eslint/no-explicit-any
276 267 function setOutput(name, value) {
268 + const filePath = process.env['GITHUB_OUTPUT'] || '';
269 + if (filePath) {
270 + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));
271 + }
277 272 process.stdout.write(os.EOL);
278 − command_1.issueCommand('set-output', { name }, value);
273 + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));
279 274 }
280 275 exports.setOutput = setOutput;
281 276 /**
@@ -404,7 +399,11 @@ exports.group = group;
404 399 */
405 400 // eslint-disable-next-line @typescript-eslint/no-explicit-any
406 401 function saveState(name, value) {
407 − command_1.issueCommand('save-state', { name }, value);
402 + const filePath = process.env['GITHUB_STATE'] || '';
403 + if (filePath) {
404 + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));
405 + }
406 + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));
408 407 }
409 408 exports.saveState = saveState;
410 409 /**
@@ -470,13 +469,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
470 469 return result;
471 470 };
472 471 Object.defineProperty(exports, "__esModule", ({ value: true }));
473 −exports.issueCommand = void 0;
472 +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
474 473 // We use any as a valid input type
475 474 /* eslint-disable @typescript-eslint/no-explicit-any */
476 475 const fs = __importStar(__nccwpck_require__(7147));
477 476 const os = __importStar(__nccwpck_require__(2037));
477 +const uuid_1 = __nccwpck_require__(5840);
478 478 const utils_1 = __nccwpck_require__(5278);
479 −function issueCommand(command, message) {
479 +function issueFileCommand(command, message) {
480 480 const filePath = process.env[`GITHUB_${command}`];
481 481 if (!filePath) {
482 482 throw new Error(`Unable to find environment variable for file command ${command}`);
@@ -488,7 +488,22 @@ function issueCommand(command, message) {
488 488 encoding: 'utf8'
489 489 });
490 490 }
491 −exports.issueCommand = issueCommand;
491 +exports.issueFileCommand = issueFileCommand;
492 +function prepareKeyValueMessage(key, value) {
493 + const delimiter = `ghadelimiter_${uuid_1.v4()}`;
494 + const convertedValue = utils_1.toCommandValue(value);
495 + // These should realistically never happen, but just in case someone finds a
496 + // way to exploit uuid generation let's not allow keys or values that contain
497 + // the delimiter.
498 + if (key.includes(delimiter)) {
499 + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
500 + }
501 + if (convertedValue.includes(delimiter)) {
502 + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
503 + }
504 + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
505 +}
506 +exports.prepareKeyValueMessage = prepareKeyValueMessage;
492 507 //# sourceMappingURL=file-command.js.map
493 508
494 509 /***/ }),
@@ -3015,828 +3030,340 @@ function copyFile(srcFile, destFile, force) {
3015 3030 /***/ }),
3016 3031
3017 3032 /***/ 7129:
3018 −/***/ ((module) => {
3033 +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
3019 3034
3020 −const perf = typeof performance === 'object' && performance &&
3021 − typeof performance.now === 'function' ? performance : Date
3035 +"use strict";
3022 3036
3023 −const hasAbortController = typeof AbortController !== 'undefined'
3024 3037
3025 −// minimal backwards-compatibility polyfill
3026 −const AC = hasAbortController ? AbortController : Object.assign(
3027 − class AbortController {
3028 − constructor () { this.signal = new AC.AbortSignal }
3029 − abort () { this.signal.aborted = true }
3030 − },
3031 − { AbortSignal: class AbortSignal { constructor () { this.aborted = false }}}
3032 −)
3038 +// A linked list to keep track of recently-used-ness
3039 +const Yallist = __nccwpck_require__(665)
3033 3040
3034 −const warned = new Set()
3035 −const deprecatedOption = (opt, instead) => {
3036 − const code = `LRU_CACHE_OPTION_${opt}`
3037 − if (shouldWarn(code)) {
3038 − warn(code, `${opt} option`, `options.${instead}`, LRUCache)
3039 − }
3040 −}
3041 −const deprecatedMethod = (method, instead) => {
3042 − const code = `LRU_CACHE_METHOD_${method}`
3043 − if (shouldWarn(code)) {
3044 − const { prototype } = LRUCache
3045 − const { get } = Object.getOwnPropertyDescriptor(prototype, method)
3046 − warn(code, `${method} method`, `cache.${instead}()`, get)
3047 − }
3048 −}
3049 −const deprecatedProperty = (field, instead) => {
3050 − const code = `LRU_CACHE_PROPERTY_${field}`
3051 − if (shouldWarn(code)) {
3052 − const { prototype } = LRUCache
3053 − const { get } = Object.getOwnPropertyDescriptor(prototype, field)
3054 − warn(code, `${field} property`, `cache.${instead}`, get)
3055 − }
3056 −}
3041 +const MAX = Symbol('max')
3042 +const LENGTH = Symbol('length')
3043 +const LENGTH_CALCULATOR = Symbol('lengthCalculator')
3044 +const ALLOW_STALE = Symbol('allowStale')
3045 +const MAX_AGE = Symbol('maxAge')
3046 +const DISPOSE = Symbol('dispose')
3047 +const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')
3048 +const LRU_LIST = Symbol('lruList')
3049 +const CACHE = Symbol('cache')
3050 +const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')
3057 3051
3058 −const emitWarning = (...a) => {
3059 − typeof process === 'object' &&
3060 − process &&
3061 − typeof process.emitWarning === 'function'
3062 − ? process.emitWarning(...a)
3063 − : console.error(...a)
3064 −}
3065 −
3066 −const shouldWarn = code => !warned.has(code)
3052 +const naiveLength = () => 1
3067 3053
3068 −const warn = (code, what, instead, fn) => {
3069 − warned.add(code)
3070 − const msg = `The ${what} is deprecated. Please use ${instead} instead.`
3071 − emitWarning(msg, 'DeprecationWarning', code, fn)
3072 −}
3054 +// lruList is a yallist where the head is the youngest
3055 +// item, and the tail is the oldest. the list contains the Hit
3056 +// objects as the entries.
3057 +// Each Hit object has a reference to its Yallist.Node. This
3058 +// never changes.
3059 +//
3060 +// cache is a Map (or PseudoMap) that matches the keys to
3061 +// the Yallist.Node object.
3062 +class LRUCache {
3063 + constructor (options) {
3064 + if (typeof options === 'number')
3065 + options = { max: options }
3073 3066
3074 −const isPosInt = n => n && n === Math.floor(n) && n > 0 && isFinite(n)
3067 + if (!options)
3068 + options = {}
3075 3069
3076 −/* istanbul ignore next - This is a little bit ridiculous, tbh.
3077 − * The maximum array length is 2^32-1 or thereabouts on most JS impls.
3078 − * And well before that point, you're caching the entire world, I mean,
3079 − * that's ~32GB of just integers for the next/prev links, plus whatever
3080 − * else to hold that many keys and values. Just filling the memory with
3081 − * zeroes at init time is brutal when you get that big.
3082 − * But why not be complete?
3083 − * Maybe in the future, these limits will have expanded. */
3084 −const getUintArray = max => !isPosInt(max) ? null
3085 −: max <= Math.pow(2, 8) ? Uint8Array
3086 −: max <= Math.pow(2, 16) ? Uint16Array
3087 −: max <= Math.pow(2, 32) ? Uint32Array
3088 −: max <= Number.MAX_SAFE_INTEGER ? ZeroArray
3089 −: null
3070 + if (options.max && (typeof options.max !== 'number' || options.max < 0))
3071 + throw new TypeError('max must be a non-negative number')
3072 + // Kind of weird to have a default max of Infinity, but oh well.
3073 + const max = this[MAX] = options.max || Infinity
3090 3074
3091 −class ZeroArray extends Array {
3092 − constructor (size) {
3093 − super(size)
3094 − this.fill(0)
3075 + const lc = options.length || naiveLength
3076 + this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc
3077 + this[ALLOW_STALE] = options.stale || false
3078 + if (options.maxAge && typeof options.maxAge !== 'number')
3079 + throw new TypeError('maxAge must be a number')
3080 + this[MAX_AGE] = options.maxAge || 0
3081 + this[DISPOSE] = options.dispose
3082 + this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false
3083 + this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false
3084 + this.reset()
3095 3085 }
3096 −}
3097 3086
3098 −class Stack {
3099 − constructor (max) {
3100 − if (max === 0) {
3101 − return []
3102 − }
3103 − const UintArray = getUintArray(max)
3104 − this.heap = new UintArray(max)
3105 − this.length = 0
3106 − }
3107 − push (n) {
3108 − this.heap[this.length++] = n
3087 + // resize the cache when the max changes.
3088 + set max (mL) {
3089 + if (typeof mL !== 'number' || mL < 0)
3090 + throw new TypeError('max must be a non-negative number')
3091 +
3092 + this[MAX] = mL || Infinity
3093 + trim(this)
3109 3094 }
3110 − pop () {
3111 − return this.heap[--this.length]
3095 + get max () {
3096 + return this[MAX]
3112 3097 }
3113 −}
3114 −
3115 −class LRUCache {
3116 − constructor (options = {}) {
3117 − const {
3118 − max = 0,
3119 − ttl,
3120 − ttlResolution = 1,
3121 − ttlAutopurge,
3122 − updateAgeOnGet,
3123 − updateAgeOnHas,
3124 − allowStale,
3125 − dispose,
3126 − disposeAfter,
3127 − noDisposeOnSet,
3128 − noUpdateTTL,
3129 − maxSize = 0,
3130 − sizeCalculation,
3131 − fetchMethod,
3132 − } = options
3133 −
3134 − // deprecated options, don't trigger a warning for getting them if
3135 − // the thing being passed in is another LRUCache we're copying.
3136 − const {
3137 − length,
3138 − maxAge,
3139 − stale,
3140 − } = options instanceof LRUCache ? {} : options
3141 −
3142 − if (max !== 0 && !isPosInt(max)) {
3143 − throw new TypeError('max option must be a nonnegative integer')
3144 − }
3145 −
3146 − const UintArray = max ? getUintArray(max) : Array
3147 − if (!UintArray) {
3148 − throw new Error('invalid max value: ' + max)
3149 − }
3150 −
3151 − this.max = max
3152 − this.maxSize = maxSize
3153 − this.sizeCalculation = sizeCalculation || length
3154 − if (this.sizeCalculation) {
3155 − if (!this.maxSize) {
3156 − throw new TypeError('cannot set sizeCalculation without setting maxSize')
3157 − }
3158 − if (typeof this.sizeCalculation !== 'function') {
3159 − throw new TypeError('sizeCalculation set to non-function')
3160 − }
3161 − }
3162 −
3163 − this.fetchMethod = fetchMethod || null
3164 − if (this.fetchMethod && typeof this.fetchMethod !== 'function') {
3165 − throw new TypeError('fetchMethod must be a function if specified')
3166 − }
3167 −
3168 − this.keyMap = new Map()
3169 − this.keyList = new Array(max).fill(null)
3170 − this.valList = new Array(max).fill(null)
3171 − this.next = new UintArray(max)
3172 − this.prev = new UintArray(max)
3173 − this.head = 0
3174 − this.tail = 0
3175 − this.free = new Stack(max)
3176 − this.initialFill = 1
3177 − this.size = 0
3178 −
3179 − if (typeof dispose === 'function') {
3180 − this.dispose = dispose
3181 − }
3182 − if (typeof disposeAfter === 'function') {
3183 − this.disposeAfter = disposeAfter
3184 − this.disposed = []
3185 − } else {
3186 − this.disposeAfter = null
3187 − this.disposed = null
3188 − }
3189 − this.noDisposeOnSet = !!noDisposeOnSet
3190 − this.noUpdateTTL = !!noUpdateTTL
3191 −
3192 − if (this.maxSize !== 0) {
3193 − if (!isPosInt(this.maxSize)) {
3194 − throw new TypeError('maxSize must be a positive integer if specified')
3195 − }
3196 − this.initializeSizeTracking()
3197 − }
3198 −
3199 − this.allowStale = !!allowStale || !!stale
3200 − this.updateAgeOnGet = !!updateAgeOnGet
3201 − this.updateAgeOnHas = !!updateAgeOnHas
3202 − this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0
3203 − ? ttlResolution : 1
3204 − this.ttlAutopurge = !!ttlAutopurge
3205 − this.ttl = ttl || maxAge || 0
3206 − if (this.ttl) {
3207 − if (!isPosInt(this.ttl)) {
3208 − throw new TypeError('ttl must be a positive integer if specified')
3209 − }
3210 − this.initializeTTLTracking()
3211 − }
3212 3098
3213 − // do not allow completely unbounded caches
3214 − if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) {
3215 − throw new TypeError('At least one of max, maxSize, or ttl is required')
3216 − }
3217 − if (!this.ttlAutopurge && !this.max && !this.maxSize) {
3218 − const code = 'LRU_CACHE_UNBOUNDED'
3219 − if (shouldWarn(code)) {
3220 − warned.add(code)
3221 − const msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' +
3222 − 'result in unbounded memory consumption.'
3223 − emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)
3224 − }
3225 − }
3226 −
3227 − if (stale) {
3228 − deprecatedOption('stale', 'allowStale')
3229 − }
3230 − if (maxAge) {
3231 − deprecatedOption('maxAge', 'ttl')
3232 − }
3233 − if (length) {
3234 − deprecatedOption('length', 'sizeCalculation')
3235 − }
3099 + set allowStale (allowStale) {
3100 + this[ALLOW_STALE] = !!allowStale
3236 3101 }
3237 −
3238 − getRemainingTTL (key) {
3239 − return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0
3102 + get allowStale () {
3103 + return this[ALLOW_STALE]
3240 3104 }
3241 3105
3242 − initializeTTLTracking () {
3243 − this.ttls = new ZeroArray(this.max)
3244 − this.starts = new ZeroArray(this.max)
3245 −
3246 − this.setItemTTL = (index, ttl) => {
3247 − this.starts[index] = ttl !== 0 ? perf.now() : 0
3248 − this.ttls[index] = ttl
3249 − if (ttl !== 0 && this.ttlAutopurge) {
3250 − const t = setTimeout(() => {
3251 − if (this.isStale(index)) {
3252 − this.delete(this.keyList[index])
3253 − }
3254 − }, ttl + 1)
3255 − /* istanbul ignore else - unref() not supported on all platforms */
3256 − if (t.unref) {
3257 − t.unref()
3258 − }
3259 − }
3260 − }
3261 −
3262 − this.updateItemAge = (index) => {
3263 − this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0
3264 − }
3106 + set maxAge (mA) {
3107 + if (typeof mA !== 'number')
3108 + throw new TypeError('maxAge must be a non-negative number')
3265 3109
3266 − // debounce calls to perf.now() to 1s so we're not hitting
3267 − // that costly call repeatedly.
3268 − let cachedNow = 0
3269 − const getNow = () => {
3270 − const n = perf.now()
3271 − if (this.ttlResolution > 0) {
3272 − cachedNow = n
3273 − const t = setTimeout(() => cachedNow = 0, this.ttlResolution)
3274 − /* istanbul ignore else - not available on all platforms */
3275 − if (t.unref) {
3276 − t.unref()
3277 − }
3278 − }
3279 − return n
3280 − }
3110 + this[MAX_AGE] = mA
3111 + trim(this)
3112 + }
3113 + get maxAge () {
3114 + return this[MAX_AGE]
3115 + }
3281 3116
3282 − this.getRemainingTTL = (key) => {
3283 − const index = this.keyMap.get(key)
3284 − if (index === undefined) {
3285 − return 0
3286 − }
3287 − return this.ttls[index] === 0 || this.starts[index] === 0 ? Infinity
3288 − : ((this.starts[index] + this.ttls[index]) - (cachedNow || getNow()))
3289 − }
3117 + // resize the cache when the lengthCalculator changes.
3118 + set lengthCalculator (lC) {
3119 + if (typeof lC !== 'function')
3120 + lC = naiveLength
3290 3121
3291 − this.isStale = (index) => {
3292 − return this.ttls[index] !== 0 && this.starts[index] !== 0 &&
3293 − ((cachedNow || getNow()) - this.starts[index] > this.ttls[index])
3122 + if (lC !== this[LENGTH_CALCULATOR]) {
3123 + this[LENGTH_CALCULATOR] = lC
3124 + this[LENGTH] = 0
3125 + this[LRU_LIST].forEach(hit => {
3126 + hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)
3127 + this[LENGTH] += hit.length
3128 + })
3294 3129 }
3130 + trim(this)
3295 3131 }
3296 − updateItemAge (index) {}
3297 − setItemTTL (index, ttl) {}
3298 − isStale (index) { return false }
3132 + get lengthCalculator () { return this[LENGTH_CALCULATOR] }
3299 3133
3300 − initializeSizeTracking () {
3301 − this.calculatedSize = 0
3302 − this.sizes = new ZeroArray(this.max)
3303 − this.removeItemSize = index => this.calculatedSize -= this.sizes[index]
3304 − this.requireSize = (k, v, size, sizeCalculation) => {
3305 − if (!isPosInt(size)) {
3306 − if (sizeCalculation) {
3307 − if (typeof sizeCalculation !== 'function') {
3308 − throw new TypeError('sizeCalculation must be a function')
3309 − }
3310 − size = sizeCalculation(v, k)
3311 − if (!isPosInt(size)) {
3312 − throw new TypeError('sizeCalculation return invalid (expect positive integer)')
3313 − }
3314 − } else {
3315 − throw new TypeError('invalid size value (must be positive integer)')
3316 − }
3317 − }
3318 − return size
3319 − }
3320 − this.addItemSize = (index, v, k, size) => {
3321 − this.sizes[index] = size
3322 − const maxSize = this.maxSize - this.sizes[index]
3323 − while (this.calculatedSize > maxSize) {
3324 − this.evict(true)
3325 − }
3326 − this.calculatedSize += this.sizes[index]
3327 − }
3328 − this.delete = k => {
3329 − if (this.size !== 0) {
3330 − const index = this.keyMap.get(k)
3331 − if (index !== undefined) {
3332 − this.calculatedSize -= this.sizes[index]
3333 − }
3334 − }
3335 − return LRUCache.prototype.delete.call(this, k)
3336 − }
3337 − }
3338 − removeItemSize (index) {}
3339 − addItemSize (index, v, k, size) {}
3340 − requireSize (k, v, size, sizeCalculation) {
3341 − if (size || sizeCalculation) {
3342 − throw new TypeError('cannot set size without setting maxSize on cache')
3343 − }
3344 − }
3134 + get length () { return this[LENGTH] }
3135 + get itemCount () { return this[LRU_LIST].length }
3345 3136
3346 − *indexes ({ allowStale = this.allowStale } = {}) {
3347 − if (this.size) {
3348 − for (let i = this.tail; true; ) {
3349 − if (!this.isValidIndex(i)) {
3350 − break
3351 − }
3352 − if (allowStale || !this.isStale(i)) {
3353 − yield i
3354 − }
3355 − if (i === this.head) {
3356 − break
3357 − } else {
3358 − i = this.prev[i]
3359 − }
3360 − }
3137 + rforEach (fn, thisp) {
3138 + thisp = thisp || this
3139 + for (let walker = this[LRU_LIST].tail; walker !== null;) {
3140 + const prev = walker.prev
3141 + forEachStep(this, fn, walker, thisp)
3142 + walker = prev
3361 3143 }
3362 3144 }
3363 3145
3364 − *rindexes ({ allowStale = this.allowStale } = {}) {
3365 − if (this.size) {
3366 − for (let i = this.head; true; ) {
3367 − if (!this.isValidIndex(i)) {
3368 − break
3369 − }
3370 − if (allowStale || !this.isStale(i)) {
3371 − yield i
3372 − }
3373 − if (i === this.tail) {
3374 − break
3375 − } else {
3376 − i = this.next[i]
3377 − }
3378 − }
3146 + forEach (fn, thisp) {
3147 + thisp = thisp || this
3148 + for (let walker = this[LRU_LIST].head; walker !== null;) {
3149 + const next = walker.next
3150 + forEachStep(this, fn, walker, thisp)
3151 + walker = next
3379 3152 }
3380 3153 }
3381 3154
3382 − isValidIndex (index) {
3383 − return this.keyMap.get(this.keyList[index]) === index
3155 + keys () {
3156 + return this[LRU_LIST].toArray().map(k => k.key)
3384 3157 }
3385 3158
3386 − *entries () {
3387 − for (const i of this.indexes()) {
3388 − yield [this.keyList[i], this.valList[i]]
3389 − }
3390 − }
3391 − *rentries () {
3392 − for (const i of this.rindexes()) {
3393 − yield [this.keyList[i], this.valList[i]]
3394 − }
3159 + values () {
3160 + return this[LRU_LIST].toArray().map(k => k.value)
3395 3161 }
3396 3162
3397 − *keys () {
3398 − for (const i of this.indexes()) {
3399 − yield this.keyList[i]
3163 + reset () {
3164 + if (this[DISPOSE] &&
3165 + this[LRU_LIST] &&
3166 + this[LRU_LIST].length) {
3167 + this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))
3400 3168 }
3401 − }
3402 − *rkeys () {
3403 − for (const i of this.rindexes()) {
3404 − yield this.keyList[i]
3405 − }
3406 − }
3407 3169
3408 − *values () {
3409 − for (const i of this.indexes()) {
3410 − yield this.valList[i]
3411 − }
3412 − }
3413 − *rvalues () {
3414 − for (const i of this.rindexes()) {
3415 − yield this.valList[i]
3416 − }
3170 + this[CACHE] = new Map() // hash of items by key
3171 + this[LRU_LIST] = new Yallist() // list of items in order of use recency
3172 + this[LENGTH] = 0 // length of items in the list
3417 3173 }
3418 3174
3419 − [Symbol.iterator] () {
3420 − return this.entries()
3175 + dump () {
3176 + return this[LRU_LIST].map(hit =>
3177 + isStale(this, hit) ? false : {
3178 + k: hit.key,
3179 + v: hit.value,
3180 + e: hit.now + (hit.maxAge || 0)
3181 + }).toArray().filter(h => h)
3421 3182 }
3422 3183
3423 − find (fn, getOptions = {}) {
3424 − for (const i of this.indexes()) {
3425 − if (fn(this.valList[i], this.keyList[i], this)) {
3426 − return this.get(this.keyList[i], getOptions)
3427 − }
3428 − }
3184 + dumpLru () {
3185 + return this[LRU_LIST]
3429 3186 }
3430 3187
3431 − forEach (fn, thisp = this) {
3432 − for (const i of this.indexes()) {
3433 − fn.call(thisp, this.valList[i], this.keyList[i], this)
3434 − }
3435 − }
3188 + set (key, value, maxAge) {
3189 + maxAge = maxAge || this[MAX_AGE]
3436 3190
3437 − rforEach (fn, thisp = this) {
3438 − for (const i of this.rindexes()) {
3439 − fn.call(thisp, this.valList[i], this.keyList[i], this)
3440 − }
3441 − }
3191 + if (maxAge && typeof maxAge !== 'number')
3192 + throw new TypeError('maxAge must be a number')
3442 3193
3443 − get prune () {
3444 − deprecatedMethod('prune', 'purgeStale')
3445 − return this.purgeStale
3446 − }
3194 + const now = maxAge ? Date.now() : 0
3195 + const len = this[LENGTH_CALCULATOR](value, key)
3447 3196
3448 − purgeStale () {
3449 − let deleted = false
3450 − for (const i of this.rindexes({ allowStale: true })) {
3451 − if (this.isStale(i)) {
3452 − this.delete(this.keyList[i])
3453 − deleted = true
3197 + if (this[CACHE].has(key)) {
3198 + if (len > this[MAX]) {
3199 + del(this, this[CACHE].get(key))
3200 + return false
3454 3201 }
3455 − }
3456 − return deleted
3457 − }
3458 3202
3459 − dump () {
3460 − const arr = []
3461 − for (const i of this.indexes()) {
3462 − const key = this.keyList[i]
3463 − const value = this.valList[i]
3464 − const entry = { value }
3465 − if (this.ttls) {
3466 − entry.ttl = this.ttls[i]
3467 − }
3468 − if (this.sizes) {
3469 − entry.size = this.sizes[i]
3470 − }
3471 − arr.unshift([key, entry])
3472 − }
3473 − return arr
3474 − }
3203 + const node = this[CACHE].get(key)
3204 + const item = node.value
3475 3205
3476 − load (arr) {
3477 − this.clear()
3478 − for (const [key, entry] of arr) {
3479 − this.set(key, entry.value, entry)
3480 − }
3481 − }
3482 −
3483 − dispose (v, k, reason) {}
3484 −
3485 − set (k, v, {
3486 − ttl = this.ttl,
3487 − noDisposeOnSet = this.noDisposeOnSet,
3488 − size = 0,
3489 − sizeCalculation = this.sizeCalculation,
3490 − noUpdateTTL = this.noUpdateTTL,
3491 − } = {}) {
3492 − size = this.requireSize(k, v, size, sizeCalculation)
3493 − let index = this.size === 0 ? undefined : this.keyMap.get(k)
3494 − if (index === undefined) {
3495 − // addition
3496 − index = this.newIndex()
3497 − this.keyList[index] = k
3498 − this.valList[index] = v
3499 − this.keyMap.set(k, index)
3500 − this.next[this.tail] = index
3501 − this.prev[index] = this.tail
3502 − this.tail = index
3503 − this.size ++
3504 − this.addItemSize(index, v, k, size)
3505 − noUpdateTTL = false
3506 − } else {
3507 − // update
3508 − const oldVal = this.valList[index]
3509 − if (v !== oldVal) {
3510 − if (this.isBackgroundFetch(oldVal)) {
3511 − oldVal.__abortController.abort()
3512 − } else {
3513 − if (!noDisposeOnSet) {
3514 − this.dispose(oldVal, k, 'set')
3515 − if (this.disposeAfter) {
3516 − this.disposed.push([oldVal, k, 'set'])
3517 − }
3518 − }
3519 − }
3520 − this.removeItemSize(index)
3521 − this.valList[index] = v
3522 − this.addItemSize(index, v, k, size)
3523 − }
3524 − this.moveToTail(index)
3525 − }
3526 − if (ttl !== 0 && this.ttl === 0 && !this.ttls) {
3527 − this.initializeTTLTracking()
3528 − }
3529 − if (!noUpdateTTL) {
3530 − this.setItemTTL(index, ttl)
3531 − }
3532 − if (this.disposeAfter) {
3533 − while (this.disposed.length) {
3534 − this.disposeAfter(...this.disposed.shift())
3206 + // dispose of the old one before overwriting
3207 + // split out into 2 ifs for better coverage tracking
3208 + if (this[DISPOSE]) {
3209 + if (!this[NO_DISPOSE_ON_SET])
3210 + this[DISPOSE](key, item.value)
3535 3211 }
3536 − }
3537 − return this
3538 − }
3539 3212
3540 − newIndex () {
3541 − if (this.size === 0) {
3542 − return this.tail
3543 − }
3544 − if (this.size === this.max && this.max !== 0) {
3545 − return this.evict(false)
3546 − }
3547 − if (this.free.length !== 0) {
3548 − return this.free.pop()
3213 + item.now = now
3214 + item.maxAge = maxAge
3215 + item.value = value
3216 + this[LENGTH] += len - item.length
3217 + item.length = len
3218 + this.get(key)
3219 + trim(this)
3220 + return true
3549 3221 }
3550 − // initial fill, just keep writing down the list
3551 − return this.initialFill++
3552 − }
3553 3222
3554 − pop () {
3555 − if (this.size) {
3556 − const val = this.valList[this.head]
3557 − this.evict(true)
3558 − return val
3559 − }
3560 − }
3223 + const hit = new Entry(key, value, len, now, maxAge)
3561 3224
3562 − evict (free) {
3563 − const head = this.head
3564 − const k = this.keyList[head]
3565 − const v = this.valList[head]
3566 − if (this.isBackgroundFetch(v)) {
3567 − v.__abortController.abort()
3568 − } else {
3569 − this.dispose(v, k, 'evict')
3570 − if (this.disposeAfter) {
3571 − this.disposed.push([v, k, 'evict'])
3572 − }
3573 − }
3574 − this.removeItemSize(head)
3575 − // if we aren't about to use the index, then null these out
3576 − if (free) {
3577 − this.keyList[head] = null
3578 − this.valList[head] = null
3579 − this.free.push(head)
3580 − }
3581 − this.head = this.next[head]
3582 − this.keyMap.delete(k)
3583 − this.size --
3584 − return head
3585 − }
3586 −
3587 − has (k, { updateAgeOnHas = this.updateAgeOnHas } = {}) {
3588 − const index = this.keyMap.get(k)
3589 − if (index !== undefined) {
3590 − if (!this.isStale(index)) {
3591 − if (updateAgeOnHas) {
3592 − this.updateItemAge(index)
3593 − }
3594 − return true
3595 − }
3596 − }
3597 − return false
3598 − }
3225 + // oversized objects fall out of cache automatically.
3226 + if (hit.length > this[MAX]) {
3227 + if (this[DISPOSE])
3228 + this[DISPOSE](key, value)
3599 3229
3600 − // like get(), but without any LRU updating or TTL expiration
3601 − peek (k, { allowStale = this.allowStale } = {}) {
3602 − const index = this.keyMap.get(k)
3603 − if (index !== undefined && (allowStale || !this.isStale(index))) {
3604 − return this.valList[index]
3230 + return false
3605 3231 }
3232 +
3233 + this[LENGTH] += hit.length
3234 + this[LRU_LIST].unshift(hit)
3235 + this[CACHE].set(key, this[LRU_LIST].head)
3236 + trim(this)
3237 + return true
3606 3238 }
3607 3239
3608 − backgroundFetch (k, index, options) {
3609 − const v = index === undefined ? undefined : this.valList[index]
3610 − if (this.isBackgroundFetch(v)) {
3611 − return v
3612 − }
3613 − const ac = new AC()
3614 − const fetchOpts = {
3615 − signal: ac.signal,
3616 − options,
3617 − }
3618 − const p = Promise.resolve(this.fetchMethod(k, v, fetchOpts)).then(v => {
3619 − if (!ac.signal.aborted) {
3620 − this.set(k, v, fetchOpts.options)
3621 − }
3622 − return v
3623 − })
3624 − p.__abortController = ac
3625 − p.__staleWhileFetching = v
3626 − if (index === undefined) {
3627 − this.set(k, p, fetchOpts.options)
3628 − index = this.keyMap.get(k)
3629 − } else {
3630 − this.valList[index] = p
3631 − }
3632 − return p
3240 + has (key) {
3241 + if (!this[CACHE].has(key)) return false
3242 + const hit = this[CACHE].get(key).value
3243 + return !isStale(this, hit)
3633 3244 }
3634 3245
3635 − isBackgroundFetch (p) {
3636 − return p && typeof p === 'object' && typeof p.then === 'function' &&
3637 − Object.prototype.hasOwnProperty.call(p, '__staleWhileFetching')
3246 + get (key) {
3247 + return get(this, key, true)
3638 3248 }
3639 3249
3640 − // this takes the union of get() and set() opts, because it does both
3641 − async fetch (k, {
3642 − allowStale = this.allowStale,
3643 − updateAgeOnGet = this.updateAgeOnGet,
3644 − ttl = this.ttl,
3645 − noDisposeOnSet = this.noDisposeOnSet,
3646 − size = 0,
3647 − sizeCalculation = this.sizeCalculation,
3648 − noUpdateTTL = this.noUpdateTTL,
3649 − } = {}) {
3650 − if (!this.fetchMethod) {
3651 − return this.get(k, {allowStale, updateAgeOnGet})
3652 − }
3250 + peek (key) {
3251 + return get(this, key, false)
3252 + }
3653 3253
3654 − const options = {
3655 − allowStale,
3656 − updateAgeOnGet,
3657 − ttl,
3658 − noDisposeOnSet,
3659 − size,
3660 − sizeCalculation,
3661 − noUpdateTTL,
3662 − }
3254 + pop () {
3255 + const node = this[LRU_LIST].tail
3256 + if (!node)
3257 + return null
3663 3258
3664 − let index = this.keyMap.get(k)
3665 − if (index === undefined) {
3666 − return this.backgroundFetch(k, index, options)
3667 − } else {
3668 − // in cache, maybe already fetching
3669 − const v = this.valList[index]
3670 − if (this.isBackgroundFetch(v)) {
3671 − return allowStale && v.__staleWhileFetching !== undefined
3672 − ? v.__staleWhileFetching : v
3673 − }
3259 + del(this, node)
3260 + return node.value
3261 + }
3674 3262
3675 − if (!this.isStale(index)) {
3676 − this.moveToTail(index)
3677 − if (updateAgeOnGet) {
3678 − this.updateItemAge(index)
3679 − }
3680 − return v
3681 − }
3263 + del (key) {
3264 + del(this, this[CACHE].get(key))
3265 + }
3682 3266
3683 − // ok, it is stale, and not already fetching
3684 − // refresh the cache.
3685 − const p = this.backgroundFetch(k, index, options)
3686 − return allowStale && p.__staleWhileFetching !== undefined
3687 − ? p.__staleWhileFetching : p
3688 − }
3689 − }
3690 −
3691 − get (k, {
3692 − allowStale = this.allowStale,
3693 − updateAgeOnGet = this.updateAgeOnGet,
3694 − } = {}) {
3695 − const index = this.keyMap.get(k)
3696 − if (index !== undefined) {
3697 − const value = this.valList[index]
3698 − const fetching = this.isBackgroundFetch(value)
3699 − if (this.isStale(index)) {
3700 − // delete only if not an in-flight background fetch
3701 − if (!fetching) {
3702 − this.delete(k)
3703 − return allowStale ? value : undefined
3704 − } else {
3705 − return allowStale ? value.__staleWhileFetching : undefined
3706 − }
3707 − } else {
3708 − // if we're currently fetching it, we don't actually have it yet
3709 − // it's not stale, which means this isn't a staleWhileRefetching,
3710 − // so we just return undefined
3711 − if (fetching) {
3712 − return undefined
3713 − }
3714 − this.moveToTail(index)
3715 − if (updateAgeOnGet) {
3716 − this.updateItemAge(index)
3267 + load (arr) {
3268 + // reset the cache
3269 + this.reset()
3270 +
3271 + const now = Date.now()
3272 + // A previous serialized cache has the most recent items first
3273 + for (let l = arr.length - 1; l >= 0; l--) {
3274 + const hit = arr[l]
3275 + const expiresAt = hit.e || 0
3276 + if (expiresAt === 0)
3277 + // the item was created without expiration in a non aged cache
3278 + this.set(hit.k, hit.v)
3279 + else {
3280 + const maxAge = expiresAt - now
3281 + // dont add already expired items
3282 + if (maxAge > 0) {
3283 + this.set(hit.k, hit.v, maxAge)
3717 3284 }
3718 − return value
3719 3285 }
3720 3286 }
3721 3287 }
3722 3288
3723 − connect (p, n) {
3724 − this.prev[n] = p
3725 − this.next[p] = n
3289 + prune () {
3290 + this[CACHE].forEach((value, key) => get(this, key, false))
3726 3291 }
3292 +}
3727 3293
3728 − moveToTail (index) {
3729 − // if tail already, nothing to do
3730 − // if head, move head to next[index]
3731 − // else
3732 − // move next[prev[index]] to next[index] (head has no prev)
3733 − // move prev[next[index]] to prev[index]
3734 − // prev[index] = tail
3735 − // next[tail] = index
3736 − // tail = index
3737 − if (index !== this.tail) {
3738 − if (index === this.head) {
3739 − this.head = this.next[index]
3740 − } else {
3741 − this.connect(this.prev[index], this.next[index])
3294 +const get = (self, key, doUse) => {
3295 + const node = self[CACHE].get(key)
3296 + if (node) {
3297 + const hit = node.value
3298 + if (isStale(self, hit)) {
3299 + del(self, node)
3300 + if (!self[ALLOW_STALE])
3301 + return undefined
3302 + } else {
3303 + if (doUse) {
3304 + if (self[UPDATE_AGE_ON_GET])
3305 + node.value.now = Date.now()
3306 + self[LRU_LIST].unshiftNode(node)
3742 3307 }
3743 − this.connect(this.tail, index)
3744 − this.tail = index
3745 3308 }
3309 + return hit.value
3746 3310 }
3311 +}
3747 3312
3748 − get del () {
3749 − deprecatedMethod('del', 'delete')
3750 − return this.delete
3751 − }
3752 − delete (k) {
3753 − let deleted = false
3754 − if (this.size !== 0) {
3755 − const index = this.keyMap.get(k)
3756 − if (index !== undefined) {
3757 − deleted = true
3758 − if (this.size === 1) {
3759 − this.clear()
3760 − } else {
3761 − this.removeItemSize(index)
3762 − const v = this.valList[index]
3763 − if (this.isBackgroundFetch(v)) {
3764 − v.__abortController.abort()
3765 − } else {
3766 − this.dispose(v, k, 'delete')
3767 − if (this.disposeAfter) {
3768 − this.disposed.push([v, k, 'delete'])
3769 − }
3770 − }
3771 − this.keyMap.delete(k)
3772 − this.keyList[index] = null
3773 − this.valList[index] = null
3774 − if (index === this.tail) {
3775 − this.tail = this.prev[index]
3776 − } else if (index === this.head) {
3777 − this.head = this.next[index]
3778 − } else {
3779 − this.next[this.prev[index]] = this.next[index]
3780 − this.prev[this.next[index]] = this.prev[index]
3781 − }
3782 − this.size --
3783 − this.free.push(index)
3784 − }
3785 − }
3786 − }
3787 − if (this.disposed) {
3788 − while (this.disposed.length) {
3789 − this.disposeAfter(...this.disposed.shift())
3790 − }
3313 +const isStale = (self, hit) => {
3314 + if (!hit || (!hit.maxAge && !self[MAX_AGE]))
3315 + return false
3316 +
3317 + const diff = Date.now() - hit.now
3318 + return hit.maxAge ? diff > hit.maxAge
3319 + : self[MAX_AGE] && (diff > self[MAX_AGE])
3320 +}
3321 +
3322 +const trim = self => {
3323 + if (self[LENGTH] > self[MAX]) {
3324 + for (let walker = self[LRU_LIST].tail;
3325 + self[LENGTH] > self[MAX] && walker !== null;) {
3326 + // We know that we're about to delete this one, and also
3327 + // what the next least recently used key will be, so just
3328 + // go ahead and set it now.
3329 + const prev = walker.prev
3330 + del(self, walker)
3331 + walker = prev
3791 3332 }
3792 − return deleted
3793 3333 }
3334 +}
3794 3335
3795 − clear () {
3796 − for (const index of this.rindexes({ allowStale: true })) {
3797 − const v = this.valList[index]
3798 − if (this.isBackgroundFetch(v)) {
3799 − v.__abortController.abort()
3800 − } else {
3801 − const k = this.keyList[index]
3802 − this.dispose(v, k, 'delete')
3803 − if (this.disposeAfter) {
3804 − this.disposed.push([v, k, 'delete'])
3805 − }
3806 − }
3807 − }
3336 +const del = (self, node) => {
3337 + if (node) {
3338 + const hit = node.value
3339 + if (self[DISPOSE])
3340 + self[DISPOSE](hit.key, hit.value)
3808 3341
3809 − this.keyMap.clear()
3810 − this.valList.fill(null)
3811 − this.keyList.fill(null)
3812 − if (this.ttls) {
3813 − this.ttls.fill(0)
3814 − this.starts.fill(0)
3815 − }
3816 − if (this.sizes) {
3817 − this.sizes.fill(0)
3818 − }
3819 − this.head = 0
3820 − this.tail = 0
3821 − this.initialFill = 1
3822 − this.free.length = 0
3823 − this.calculatedSize = 0
3824 − this.size = 0
3825 − if (this.disposed) {
3826 − while (this.disposed.length) {
3827 − this.disposeAfter(...this.disposed.shift())
3828 − }
3829 − }
3342 + self[LENGTH] -= hit.length
3343 + self[CACHE].delete(hit.key)
3344 + self[LRU_LIST].removeNode(node)
3830 3345 }
3831 − get reset () {
3832 − deprecatedMethod('reset', 'clear')
3833 − return this.clear
3346 +}
3347 +
3348 +class Entry {
3349 + constructor (key, value, length, now, maxAge) {
3350 + this.key = key
3351 + this.value = value
3352 + this.length = length
3353 + this.now = now
3354 + this.maxAge = maxAge || 0
3834 3355 }
3356 +}
3835 3357
3836 − get length () {
3837 − deprecatedProperty('length', 'size')
3838 − return this.size
3358 +const forEachStep = (self, fn, node, thisp) => {
3359 + let hit = node.value
3360 + if (isStale(self, hit)) {
3361 + del(self, node)
3362 + if (!self[ALLOW_STALE])
3363 + hit = undefined
3839 3364 }
3365 + if (hit)
3366 + fn.call(thisp, hit.value, hit.key, self)
3840 3367 }
3841 3368
3842 3369 module.exports = LRUCache
@@ -4244,6 +3771,7 @@ const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
4244 3771 // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
4245 3772 // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
4246 3773 // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
3774 +// ~0.0.1 --> >=0.0.1 <0.1.0-0
4247 3775 const replaceTildes = (comp, options) =>
4248 3776 comp.trim().split(/\s+/).map((c) => {
4249 3777 return replaceTilde(c, options)
@@ -4283,6 +3811,8 @@ const replaceTilde = (comp, options) => {
4283 3811 // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
4284 3812 // ^1.2.3 --> >=1.2.3 <2.0.0-0
4285 3813 // ^1.2.0 --> >=1.2.0 <2.0.0-0
3814 +// ^0.0.1 --> >=0.0.1 <0.0.2-0
3815 +// ^0.1.0 --> >=0.1.0 <0.2.0-0
4286 3816 const replaceCarets = (comp, options) =>
4287 3817 comp.trim().split(/\s+/).map((c) => {
4288 3818 return replaceCaret(c, options)
@@ -4783,7 +4313,7 @@ class SemVer {
4783 4313 if (identifier) {
4784 4314 // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
4785 4315 // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
4786 − if (this.prerelease[0] === identifier) {
4316 + if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
4787 4317 if (isNaN(this.prerelease[1])) {
4788 4318 this.prerelease = [identifier, 0]
4789 4319 }
@@ -5046,7 +4576,10 @@ const inc = (version, release, options, identifier) => {
5046 4576 }
5047 4577
5048 4578 try {
5049 − return new SemVer(version, options).inc(release, identifier).version
4579 + return new SemVer(
4580 + version instanceof SemVer ? version.version : version,
4581 + options
4582 + ).inc(release, identifier).version
5050 4583 } catch (er) {
5051 4584 return null
5052 4585 }
@@ -5234,51 +4767,91 @@ module.exports = valid
5234 4767
5235 4768 // just pre-load all the stuff that index.js lazily exports
5236 4769 const internalRe = __nccwpck_require__(9523)
4770 +const constants = __nccwpck_require__(2293)
4771 +const SemVer = __nccwpck_require__(8088)
4772 +const identifiers = __nccwpck_require__(2463)
4773 +const parse = __nccwpck_require__(5925)
4774 +const valid = __nccwpck_require__(9601)
4775 +const clean = __nccwpck_require__(8848)
4776 +const inc = __nccwpck_require__(900)
4777 +const diff = __nccwpck_require__(4297)
4778 +const major = __nccwpck_require__(6688)
4779 +const minor = __nccwpck_require__(8447)
4780 +const patch = __nccwpck_require__(2866)
4781 +const prerelease = __nccwpck_require__(4016)
4782 +const compare = __nccwpck_require__(4309)
4783 +const rcompare = __nccwpck_require__(6417)
4784 +const compareLoose = __nccwpck_require__(2804)
4785 +const compareBuild = __nccwpck_require__(2156)
4786 +const sort = __nccwpck_require__(1426)
4787 +const rsort = __nccwpck_require__(8701)
4788 +const gt = __nccwpck_require__(4123)
4789 +const lt = __nccwpck_require__(194)
4790 +const eq = __nccwpck_require__(1898)
4791 +const neq = __nccwpck_require__(6017)
4792 +const gte = __nccwpck_require__(5522)
4793 +const lte = __nccwpck_require__(7520)
4794 +const cmp = __nccwpck_require__(5098)
4795 +const coerce = __nccwpck_require__(3466)
4796 +const Comparator = __nccwpck_require__(1532)
4797 +const Range = __nccwpck_require__(9828)
4798 +const satisfies = __nccwpck_require__(6055)
4799 +const toComparators = __nccwpck_require__(2706)
4800 +const maxSatisfying = __nccwpck_require__(579)
4801 +const minSatisfying = __nccwpck_require__(832)
4802 +const minVersion = __nccwpck_require__(4179)
4803 +const validRange = __nccwpck_require__(2098)
4804 +const outside = __nccwpck_require__(420)
4805 +const gtr = __nccwpck_require__(9380)
4806 +const ltr = __nccwpck_require__(3323)
4807 +const intersects = __nccwpck_require__(7008)
4808 +const simplifyRange = __nccwpck_require__(5297)
4809 +const subset = __nccwpck_require__(7863)
5237 4810 module.exports = {
4811 + parse,
4812 + valid,
4813 + clean,
4814 + inc,
4815 + diff,
4816 + major,
4817 + minor,
4818 + patch,
4819 + prerelease,
4820 + compare,
4821 + rcompare,
4822 + compareLoose,
4823 + compareBuild,
4824 + sort,
4825 + rsort,
4826 + gt,
4827 + lt,
4828 + eq,
4829 + neq,
4830 + gte,
4831 + lte,
4832 + cmp,
4833 + coerce,
4834 + Comparator,
4835 + Range,
4836 + satisfies,
4837 + toComparators,
4838 + maxSatisfying,
4839 + minSatisfying,
4840 + minVersion,
4841 + validRange,
4842 + outside,
4843 + gtr,
4844 + ltr,
4845 + intersects,
4846 + simplifyRange,
4847 + subset,
4848 + SemVer,
5238 4849 re: internalRe.re,
5239 4850 src: internalRe.src,
5240 4851 tokens: internalRe.t,
5241 − SEMVER_SPEC_VERSION: (__nccwpck_require__(2293).SEMVER_SPEC_VERSION),
5242 − SemVer: __nccwpck_require__(8088),
5243 − compareIdentifiers: (__nccwpck_require__(2463).compareIdentifiers),
5244 − rcompareIdentifiers: (__nccwpck_require__(2463).rcompareIdentifiers),
5245 − parse: __nccwpck_require__(5925),
5246 − valid: __nccwpck_require__(9601),
5247 − clean: __nccwpck_require__(8848),
5248 − inc: __nccwpck_require__(900),
5249 − diff: __nccwpck_require__(4297),
5250 − major: __nccwpck_require__(6688),
5251 − minor: __nccwpck_require__(8447),
5252 − patch: __nccwpck_require__(2866),
5253 − prerelease: __nccwpck_require__(4016),
5254 − compare: __nccwpck_require__(4309),
5255 − rcompare: __nccwpck_require__(6417),
5256 − compareLoose: __nccwpck_require__(2804),
5257 − compareBuild: __nccwpck_require__(2156),
5258 − sort: __nccwpck_require__(1426),
5259 − rsort: __nccwpck_require__(8701),
5260 − gt: __nccwpck_require__(4123),
5261 − lt: __nccwpck_require__(194),
5262 − eq: __nccwpck_require__(1898),
5263 − neq: __nccwpck_require__(6017),
5264 − gte: __nccwpck_require__(5522),
5265 − lte: __nccwpck_require__(7520),
5266 − cmp: __nccwpck_require__(5098),
5267 − coerce: __nccwpck_require__(3466),
5268 − Comparator: __nccwpck_require__(1532),
5269 − Range: __nccwpck_require__(9828),
5270 − satisfies: __nccwpck_require__(6055),
5271 − toComparators: __nccwpck_require__(2706),
5272 − maxSatisfying: __nccwpck_require__(579),
5273 − minSatisfying: __nccwpck_require__(832),
5274 − minVersion: __nccwpck_require__(4179),
5275 − validRange: __nccwpck_require__(2098),
5276 − outside: __nccwpck_require__(420),
5277 − gtr: __nccwpck_require__(9380),
5278 − ltr: __nccwpck_require__(3323),
5279 − intersects: __nccwpck_require__(7008),
5280 − simplifyRange: __nccwpck_require__(5297),
5281 − subset: __nccwpck_require__(7863),
4852 + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
4853 + compareIdentifiers: identifiers.compareIdentifiers,
4854 + rcompareIdentifiers: identifiers.rcompareIdentifiers,
5282 4855 }
5283 4856
5284 4857
@@ -7077,6 +6650,456 @@ function version(uuid) {
7077 6650 var _default = version;
7078 6651 exports["default"] = _default;
7079 6652
6653 +/***/ }),
6654 +
6655 +/***/ 4091:
6656 +/***/ ((module) => {
6657 +
6658 +"use strict";
6659 +
6660 +module.exports = function (Yallist) {
6661 + Yallist.prototype[Symbol.iterator] = function* () {
6662 + for (let walker = this.head; walker; walker = walker.next) {
6663 + yield walker.value
6664 + }
6665 + }
6666 +}
6667 +
6668 +
6669 +/***/ }),
6670 +
6671 +/***/ 665:
6672 +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
6673 +
6674 +"use strict";
6675 +
6676 +module.exports = Yallist
6677 +
6678 +Yallist.Node = Node
6679 +Yallist.create = Yallist
6680 +
6681 +function Yallist (list) {
6682 + var self = this
6683 + if (!(self instanceof Yallist)) {
6684 + self = new Yallist()
6685 + }
6686 +
6687 + self.tail = null
6688 + self.head = null
6689 + self.length = 0
6690 +
6691 + if (list && typeof list.forEach === 'function') {
6692 + list.forEach(function (item) {
6693 + self.push(item)
6694 + })
6695 + } else if (arguments.length > 0) {
6696 + for (var i = 0, l = arguments.length; i < l; i++) {
6697 + self.push(arguments[i])
6698 + }
6699 + }
6700 +
6701 + return self
6702 +}
6703 +
6704 +Yallist.prototype.removeNode = function (node) {
6705 + if (node.list !== this) {
6706 + throw new Error('removing node which does not belong to this list')
6707 + }
6708 +
6709 + var next = node.next
6710 + var prev = node.prev
6711 +
6712 + if (next) {
6713 + next.prev = prev
6714 + }
6715 +
6716 + if (prev) {
6717 + prev.next = next
6718 + }
6719 +
6720 + if (node === this.head) {
6721 + this.head = next
6722 + }
6723 + if (node === this.tail) {
6724 + this.tail = prev
6725 + }
6726 +
6727 + node.list.length--
6728 + node.next = null
6729 + node.prev = null
6730 + node.list = null
6731 +
6732 + return next
6733 +}
6734 +
6735 +Yallist.prototype.unshiftNode = function (node) {
6736 + if (node === this.head) {
6737 + return
6738 + }
6739 +
6740 + if (node.list) {
6741 + node.list.removeNode(node)
6742 + }
6743 +
6744 + var head = this.head
6745 + node.list = this
6746 + node.next = head
6747 + if (head) {
6748 + head.prev = node
6749 + }
6750 +
6751 + this.head = node
6752 + if (!this.tail) {
6753 + this.tail = node
6754 + }
6755 + this.length++
6756 +}
6757 +
6758 +Yallist.prototype.pushNode = function (node) {
6759 + if (node === this.tail) {
6760 + return
6761 + }
6762 +
6763 + if (node.list) {
6764 + node.list.removeNode(node)
6765 + }
6766 +
6767 + var tail = this.tail
6768 + node.list = this
6769 + node.prev = tail
6770 + if (tail) {
6771 + tail.next = node
6772 + }
6773 +
6774 + this.tail = node
6775 + if (!this.head) {
6776 + this.head = node
6777 + }
6778 + this.length++
6779 +}
6780 +
6781 +Yallist.prototype.push = function () {
6782 + for (var i = 0, l = arguments.length; i < l; i++) {
6783 + push(this, arguments[i])
6784 + }
6785 + return this.length
6786 +}
6787 +
6788 +Yallist.prototype.unshift = function () {
6789 + for (var i = 0, l = arguments.length; i < l; i++) {
6790 + unshift(this, arguments[i])
6791 + }
6792 + return this.length
6793 +}
6794 +
6795 +Yallist.prototype.pop = function () {
6796 + if (!this.tail) {
6797 + return undefined
6798 + }
6799 +
6800 + var res = this.tail.value
6801 + this.tail = this.tail.prev
6802 + if (this.tail) {
6803 + this.tail.next = null
6804 + } else {
6805 + this.head = null
6806 + }
6807 + this.length--
6808 + return res
6809 +}
6810 +
6811 +Yallist.prototype.shift = function () {
6812 + if (!this.head) {
6813 + return undefined
6814 + }
6815 +
6816 + var res = this.head.value
6817 + this.head = this.head.next
6818 + if (this.head) {
6819 + this.head.prev = null
6820 + } else {
6821 + this.tail = null
6822 + }
6823 + this.length--
6824 + return res
6825 +}
6826 +
6827 +Yallist.prototype.forEach = function (fn, thisp) {
6828 + thisp = thisp || this
6829 + for (var walker = this.head, i = 0; walker !== null; i++) {
6830 + fn.call(thisp, walker.value, i, this)
6831 + walker = walker.next
6832 + }
6833 +}
6834 +
6835 +Yallist.prototype.forEachReverse = function (fn, thisp) {
6836 + thisp = thisp || this
6837 + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
6838 + fn.call(thisp, walker.value, i, this)
6839 + walker = walker.prev
6840 + }
6841 +}
6842 +
6843 +Yallist.prototype.get = function (n) {
6844 + for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
6845 + // abort out of the list early if we hit a cycle
6846 + walker = walker.next
6847 + }
6848 + if (i === n && walker !== null) {
6849 + return walker.value
6850 + }
6851 +}
6852 +
6853 +Yallist.prototype.getReverse = function (n) {
6854 + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
6855 + // abort out of the list early if we hit a cycle
6856 + walker = walker.prev
6857 + }
6858 + if (i === n && walker !== null) {
6859 + return walker.value
6860 + }
6861 +}
6862 +
6863 +Yallist.prototype.map = function (fn, thisp) {
6864 + thisp = thisp || this
6865 + var res = new Yallist()
6866 + for (var walker = this.head; walker !== null;) {
6867 + res.push(fn.call(thisp, walker.value, this))
6868 + walker = walker.next
6869 + }
6870 + return res
6871 +}
6872 +
6873 +Yallist.prototype.mapReverse = function (fn, thisp) {
6874 + thisp = thisp || this
6875 + var res = new Yallist()
6876 + for (var walker = this.tail; walker !== null;) {
6877 + res.push(fn.call(thisp, walker.value, this))
6878 + walker = walker.prev
6879 + }
6880 + return res
6881 +}
6882 +
6883 +Yallist.prototype.reduce = function (fn, initial) {
6884 + var acc
6885 + var walker = this.head
6886 + if (arguments.length > 1) {
6887 + acc = initial
6888 + } else if (this.head) {
6889 + walker = this.head.next
6890 + acc = this.head.value
6891 + } else {
6892 + throw new TypeError('Reduce of empty list with no initial value')
6893 + }
6894 +
6895 + for (var i = 0; walker !== null; i++) {
6896 + acc = fn(acc, walker.value, i)
6897 + walker = walker.next
6898 + }
6899 +
6900 + return acc
6901 +}
6902 +
6903 +Yallist.prototype.reduceReverse = function (fn, initial) {
6904 + var acc
6905 + var walker = this.tail
6906 + if (arguments.length > 1) {
6907 + acc = initial
6908 + } else if (this.tail) {
6909 + walker = this.tail.prev
6910 + acc = this.tail.value
6911 + } else {
6912 + throw new TypeError('Reduce of empty list with no initial value')
6913 + }
6914 +
6915 + for (var i = this.length - 1; walker !== null; i--) {
6916 + acc = fn(acc, walker.value, i)
6917 + walker = walker.prev
6918 + }
6919 +
6920 + return acc
6921 +}
6922 +
6923 +Yallist.prototype.toArray = function () {
6924 + var arr = new Array(this.length)
6925 + for (var i = 0, walker = this.head; walker !== null; i++) {
6926 + arr[i] = walker.value
6927 + walker = walker.next
6928 + }
6929 + return arr
6930 +}
6931 +
6932 +Yallist.prototype.toArrayReverse = function () {
6933 + var arr = new Array(this.length)
6934 + for (var i = 0, walker = this.tail; walker !== null; i++) {
6935 + arr[i] = walker.value
6936 + walker = walker.prev
6937 + }
6938 + return arr
6939 +}
6940 +
6941 +Yallist.prototype.slice = function (from, to) {
6942 + to = to || this.length
6943 + if (to < 0) {
6944 + to += this.length
6945 + }
6946 + from = from || 0
6947 + if (from < 0) {
6948 + from += this.length
6949 + }
6950 + var ret = new Yallist()
6951 + if (to < from || to < 0) {
6952 + return ret
6953 + }
6954 + if (from < 0) {
6955 + from = 0
6956 + }
6957 + if (to > this.length) {
6958 + to = this.length
6959 + }
6960 + for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
6961 + walker = walker.next
6962 + }
6963 + for (; walker !== null && i < to; i++, walker = walker.next) {
6964 + ret.push(walker.value)
6965 + }
6966 + return ret
6967 +}
6968 +
6969 +Yallist.prototype.sliceReverse = function (from, to) {
6970 + to = to || this.length
6971 + if (to < 0) {
6972 + to += this.length
6973 + }
6974 + from = from || 0
6975 + if (from < 0) {
6976 + from += this.length
6977 + }
6978 + var ret = new Yallist()
6979 + if (to < from || to < 0) {
6980 + return ret
6981 + }
6982 + if (from < 0) {
6983 + from = 0
6984 + }
6985 + if (to > this.length) {
6986 + to = this.length
6987 + }
6988 + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
6989 + walker = walker.prev
6990 + }
6991 + for (; walker !== null && i > from; i--, walker = walker.prev) {
6992 + ret.push(walker.value)
6993 + }
6994 + return ret
6995 +}
6996 +
6997 +Yallist.prototype.splice = function (start, deleteCount, ...nodes) {
6998 + if (start > this.length) {
6999 + start = this.length - 1
7000 + }
7001 + if (start < 0) {
7002 + start = this.length + start;
7003 + }
7004 +
7005 + for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
7006 + walker = walker.next
7007 + }
7008 +
7009 + var ret = []
7010 + for (var i = 0; walker && i < deleteCount; i++) {
7011 + ret.push(walker.value)
7012 + walker = this.removeNode(walker)
7013 + }
7014 + if (walker === null) {
7015 + walker = this.tail
7016 + }
7017 +
7018 + if (walker !== this.head && walker !== this.tail) {
7019 + walker = walker.prev
7020 + }
7021 +
7022 + for (var i = 0; i < nodes.length; i++) {
7023 + walker = insert(this, walker, nodes[i])
7024 + }
7025 + return ret;
7026 +}
7027 +
7028 +Yallist.prototype.reverse = function () {
7029 + var head = this.head
7030 + var tail = this.tail
7031 + for (var walker = head; walker !== null; walker = walker.prev) {
7032 + var p = walker.prev
7033 + walker.prev = walker.next
7034 + walker.next = p
7035 + }
7036 + this.head = tail
7037 + this.tail = head
7038 + return this
7039 +}
7040 +
7041 +function insert (self, node, value) {
7042 + var inserted = node === self.head ?
7043 + new Node(value, null, node, self) :
7044 + new Node(value, node, node.next, self)
7045 +
7046 + if (inserted.next === null) {
7047 + self.tail = inserted
7048 + }
7049 + if (inserted.prev === null) {
7050 + self.head = inserted
7051 + }
7052 +
7053 + self.length++
7054 +
7055 + return inserted
7056 +}
7057 +
7058 +function push (self, item) {
7059 + self.tail = new Node(item, self.tail, null, self)
7060 + if (!self.head) {
7061 + self.head = self.tail
7062 + }
7063 + self.length++
7064 +}
7065 +
7066 +function unshift (self, item) {
7067 + self.head = new Node(item, null, self.head, self)
7068 + if (!self.tail) {
7069 + self.tail = self.head
7070 + }
7071 + self.length++
7072 +}
7073 +
7074 +function Node (value, prev, next, list) {
7075 + if (!(this instanceof Node)) {
7076 + return new Node(value, prev, next, list)
7077 + }
7078 +
7079 + this.list = list
7080 + this.value = value
7081 +
7082 + if (prev) {
7083 + prev.next = this
7084 + this.prev = prev
7085 + } else {
7086 + this.prev = null
7087 + }
7088 +
7089 + if (next) {
7090 + next.prev = this
7091 + this.next = next
7092 + } else {
7093 + this.next = null
7094 + }
7095 +}
7096 +
7097 +try {
7098 + // add if support for Symbol.iterator is present
7099 + __nccwpck_require__(4091)(Yallist)
7100 +} catch (er) {}
7101 +
7102 +
7080 7103 /***/ }),
7081 7104
7082 7105 /***/ 2127:
modified package-lock.json
+471 −269
@@ -7,32 +7,32 @@
7 7 "name": "setup-beam",
8 8 "license": "MIT",
9 9 "dependencies": {
10 − "@actions/core": "1.9.1",
10 + "@actions/core": "1.10.0",
11 11 "@actions/exec": "1.1.1",
12 − "semver": "7.3.6"
12 + "semver": "7.3.8"
13 13 },
14 14 "devDependencies": {
15 − "@vercel/ncc": "0.33.4",
16 − "eslint": "8.14.0",
15 + "@vercel/ncc": "0.34.0",
16 + "eslint": "8.25.0",
17 17 "eslint-config-airbnb": "19.0.4",
18 18 "eslint-plugin-import": "2.26.0",
19 − "eslint-plugin-jsx-a11y": "6.5.1",
20 − "eslint-plugin-react": "7.29.0",
21 − "husky": "7.0.4",
22 − "markdownlint": "0.25.1",
23 − "prettier": "2.6.2",
19 + "eslint-plugin-jsx-a11y": "6.6.1",
20 + "eslint-plugin-react": "7.31.10",
21 + "husky": "8.0.1",
22 + "markdownlint": "0.26.2",
23 + "prettier": "2.7.1",
24 24 "shellcheck": "1.1.0",
25 − "yaml-lint": "1.3.0",
26 − "yarn": "1.22.18"
25 + "yaml-lint": "1.7.0",
26 + "yarn": "1.22.19"
27 27 },
28 28 "engines": {
29 29 "node": ">=16"
30 30 }
31 31 },
32 32 "node_modules/@actions/core": {
33 − "version": "1.9.1",
34 − "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz",
35 − "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==",
33 + "version": "1.10.0",
34 + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
35 + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
36 36 "dependencies": {
37 37 "@actions/http-client": "^2.0.1",
38 38 "uuid": "^8.3.2"
@@ -60,9 +60,9 @@
60 60 "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw=="
61 61 },
62 62 "node_modules/@babel/runtime": {
63 − "version": "7.17.9",
64 − "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
65 − "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
63 + "version": "7.19.4",
64 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
65 + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
66 66 "dev": true,
67 67 "dependencies": {
68 68 "regenerator-runtime": "^0.13.4"
@@ -85,29 +85,32 @@
85 85 }
86 86 },
87 87 "node_modules/@eslint/eslintrc": {
88 − "version": "1.2.2",
89 − "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz",
90 − "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==",
88 + "version": "1.3.3",
89 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
90 + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
91 91 "dev": true,
92 92 "dependencies": {
93 93 "ajv": "^6.12.4",
94 94 "debug": "^4.3.2",
95 − "espree": "^9.3.1",
96 − "globals": "^13.9.0",
95 + "espree": "^9.4.0",
96 + "globals": "^13.15.0",
97 97 "ignore": "^5.2.0",
98 98 "import-fresh": "^3.2.1",
99 99 "js-yaml": "^4.1.0",
100 − "minimatch": "^3.0.4",
100 + "minimatch": "^3.1.2",
101 101 "strip-json-comments": "^3.1.1"
102 102 },
103 103 "engines": {
104 104 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
105 + },
106 + "funding": {
107 + "url": "https://opencollective.com/eslint"
105 108 }
106 109 },
107 110 "node_modules/@humanwhocodes/config-array": {
108 − "version": "0.9.5",
109 − "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
110 − "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
111 + "version": "0.10.7",
112 + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
113 + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
111 114 "dev": true,
112 115 "dependencies": {
113 116 "@humanwhocodes/object-schema": "^1.2.1",
@@ -118,6 +121,19 @@
118 121 "node": ">=10.10.0"
119 122 }
120 123 },
124 + "node_modules/@humanwhocodes/module-importer": {
125 + "version": "1.0.1",
126 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
127 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
128 + "dev": true,
129 + "engines": {
130 + "node": ">=12.22"
131 + },
132 + "funding": {
133 + "type": "github",
134 + "url": "https://github.com/sponsors/nzakas"
135 + }
136 + },
121 137 "node_modules/@humanwhocodes/object-schema": {
122 138 "version": "1.2.1",
123 139 "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
@@ -166,18 +182,18 @@
166 182 "dev": true
167 183 },
168 184 "node_modules/@vercel/ncc": {
169 − "version": "0.33.4",
170 − "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz",
171 − "integrity": "sha512-ln18hs7dMffelP47tpkaR+V5Tj6coykNyxJrlcmCormPqRQjB/Gv4cu2FfBG+PMzIfdZp2CLDsrrB1NPU22Qhg==",
185 + "version": "0.34.0",
186 + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz",
187 + "integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==",
172 188 "dev": true,
173 189 "bin": {
174 190 "ncc": "dist/ncc/cli.js"
175 191 }
176 192 },
177 193 "node_modules/acorn": {
178 − "version": "8.7.0",
179 − "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
180 − "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
194 + "version": "8.8.0",
195 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
196 + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
181 197 "dev": true,
182 198 "bin": {
183 199 "acorn": "bin/acorn"
@@ -255,14 +271,14 @@
255 271 }
256 272 },
257 273 "node_modules/array-includes": {
258 − "version": "3.1.4",
259 − "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
260 − "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
274 + "version": "3.1.5",
275 + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
276 + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
261 277 "dev": true,
262 278 "dependencies": {
263 279 "call-bind": "^1.0.2",
264 − "define-properties": "^1.1.3",
265 − "es-abstract": "^1.19.1",
280 + "define-properties": "^1.1.4",
281 + "es-abstract": "^1.19.5",
266 282 "get-intrinsic": "^1.1.1",
267 283 "is-string": "^1.0.7"
268 284 },
@@ -331,9 +347,9 @@
331 347 "dev": true
332 348 },
333 349 "node_modules/axe-core": {
334 − "version": "4.4.1",
335 − "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz",
336 − "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==",
350 + "version": "4.4.3",
351 + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz",
352 + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==",
337 353 "dev": true,
338 354 "engines": {
339 355 "node": ">=4"
@@ -571,10 +587,13 @@
571 587 "dev": true
572 588 },
573 589 "node_modules/entities": {
574 − "version": "2.1.0",
575 − "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
576 − "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
590 + "version": "3.0.1",
591 + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
592 + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
577 593 "dev": true,
594 + "engines": {
595 + "node": ">=0.12"
596 + },
578 597 "funding": {
579 598 "url": "https://github.com/fb55/entities?sponsor=1"
580 599 }
@@ -667,13 +686,14 @@
667 686 }
668 687 },
669 688 "node_modules/eslint": {
670 − "version": "8.14.0",
671 − "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz",
672 − "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==",
689 + "version": "8.25.0",
690 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz",
691 + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",
673 692 "dev": true,
674 693 "dependencies": {
675 − "@eslint/eslintrc": "^1.2.2",
676 − "@humanwhocodes/config-array": "^0.9.2",
694 + "@eslint/eslintrc": "^1.3.3",
695 + "@humanwhocodes/config-array": "^0.10.5",
696 + "@humanwhocodes/module-importer": "^1.0.1",
677 697 "ajv": "^6.10.0",
678 698 "chalk": "^4.0.0",
679 699 "cross-spawn": "^7.0.2",
@@ -683,30 +703,32 @@
683 703 "eslint-scope": "^7.1.1",
684 704 "eslint-utils": "^3.0.0",
685 705 "eslint-visitor-keys": "^3.3.0",
686 − "espree": "^9.3.1",
706 + "espree": "^9.4.0",
687 707 "esquery": "^1.4.0",
688 708 "esutils": "^2.0.2",
689 709 "fast-deep-equal": "^3.1.3",
690 710 "file-entry-cache": "^6.0.1",
691 − "functional-red-black-tree": "^1.0.1",
711 + "find-up": "^5.0.0",
692 712 "glob-parent": "^6.0.1",
693 − "globals": "^13.6.0",
713 + "globals": "^13.15.0",
714 + "globby": "^11.1.0",
715 + "grapheme-splitter": "^1.0.4",
694 716 "ignore": "^5.2.0",
695 717 "import-fresh": "^3.0.0",
696 718 "imurmurhash": "^0.1.4",
697 719 "is-glob": "^4.0.0",
720 + "js-sdsl": "^4.1.4",
698 721 "js-yaml": "^4.1.0",
699 722 "json-stable-stringify-without-jsonify": "^1.0.1",
700 723 "levn": "^0.4.1",
701 724 "lodash.merge": "^4.6.2",
702 − "minimatch": "^3.0.4",
725 + "minimatch": "^3.1.2",
703 726 "natural-compare": "^1.4.0",
704 727 "optionator": "^0.9.1",
705 728 "regexpp": "^3.2.0",
706 729 "strip-ansi": "^6.0.1",
707 730 "strip-json-comments": "^3.1.0",
708 − "text-table": "^0.2.0",
709 − "v8-compile-cache": "^2.0.3"
731 + "text-table": "^0.2.0"
710 732 },
711 733 "bin": {
712 734 "eslint": "bin/eslint.js"
@@ -863,23 +885,24 @@
863 885 "dev": true
864 886 },
865 887 "node_modules/eslint-plugin-jsx-a11y": {
866 − "version": "6.5.1",
867 − "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz",
868 − "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==",
888 + "version": "6.6.1",
889 + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz",
890 + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==",
869 891 "dev": true,
870 892 "dependencies": {
871 − "@babel/runtime": "^7.16.3",
893 + "@babel/runtime": "^7.18.9",
872 894 "aria-query": "^4.2.2",
873 − "array-includes": "^3.1.4",
895 + "array-includes": "^3.1.5",
874 896 "ast-types-flow": "^0.0.7",
875 − "axe-core": "^4.3.5",
897 + "axe-core": "^4.4.3",
876 898 "axobject-query": "^2.2.0",
877 − "damerau-levenshtein": "^1.0.7",
899 + "damerau-levenshtein": "^1.0.8",
878 900 "emoji-regex": "^9.2.2",
879 901 "has": "^1.0.3",
880 − "jsx-ast-utils": "^3.2.1",
902 + "jsx-ast-utils": "^3.3.2",
881 903 "language-tags": "^1.0.5",
882 − "minimatch": "^3.0.4"
904 + "minimatch": "^3.1.2",
905 + "semver": "^6.3.0"
883 906 },
884 907 "engines": {
885 908 "node": ">=4.0"
@@ -888,26 +911,35 @@
888 911 "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
889 912 }
890 913 },
914 + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
915 + "version": "6.3.0",
916 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
917 + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
918 + "dev": true,
919 + "bin": {
920 + "semver": "bin/semver.js"
921 + }
922 + },
891 923 "node_modules/eslint-plugin-react": {
892 − "version": "7.29.0",
893 − "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.0.tgz",
894 − "integrity": "sha512-lwbGCO4cEotwl+Wo0zkkjzbhxEzFcG6lv4mpWXfxKzXNZMF5wDEQqykPetB4mi3uTLGVSXxmgVlBMzHTHue6cA==",
924 + "version": "7.31.10",
925 + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz",
926 + "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==",
895 927 "dev": true,
896 928 "dependencies": {
897 − "array-includes": "^3.1.4",
898 − "array.prototype.flatmap": "^1.2.5",
929 + "array-includes": "^3.1.5",
930 + "array.prototype.flatmap": "^1.3.0",
899 931 "doctrine": "^2.1.0",
900 932 "estraverse": "^5.3.0",
901 933 "jsx-ast-utils": "^2.4.1 || ^3.0.0",
902 934 "minimatch": "^3.1.2",
903 935 "object.entries": "^1.1.5",
904 936 "object.fromentries": "^2.0.5",
905 − "object.hasown": "^1.1.0",
937 + "object.hasown": "^1.1.1",
906 938 "object.values": "^1.1.5",
907 939 "prop-types": "^15.8.1",
908 940 "resolve": "^2.0.0-next.3",
909 941 "semver": "^6.3.0",
910 − "string.prototype.matchall": "^4.0.6"
942 + "string.prototype.matchall": "^4.0.7"
911 943 },
912 944 "engines": {
913 945 "node": ">=4"
@@ -1012,18 +1044,91 @@
1012 1044 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1013 1045 }
1014 1046 },
1047 + "node_modules/eslint/node_modules/find-up": {
1048 + "version": "5.0.0",
1049 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1050 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1051 + "dev": true,
1052 + "dependencies": {
1053 + "locate-path": "^6.0.0",
1054 + "path-exists": "^4.0.0"
1055 + },
1056 + "engines": {
1057 + "node": ">=10"
1058 + },
1059 + "funding": {
1060 + "url": "https://github.com/sponsors/sindresorhus"
1061 + }
1062 + },
1063 + "node_modules/eslint/node_modules/locate-path": {
1064 + "version": "6.0.0",
1065 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1066 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1067 + "dev": true,
1068 + "dependencies": {
1069 + "p-locate": "^5.0.0"
1070 + },
1071 + "engines": {
1072 + "node": ">=10"
1073 + },
1074 + "funding": {
1075 + "url": "https://github.com/sponsors/sindresorhus"
1076 + }
1077 + },
1078 + "node_modules/eslint/node_modules/p-limit": {
1079 + "version": "3.1.0",
1080 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
1081 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
1082 + "dev": true,
1083 + "dependencies": {
1084 + "yocto-queue": "^0.1.0"
1085 + },
1086 + "engines": {
1087 + "node": ">=10"
1088 + },
1089 + "funding": {
1090 + "url": "https://github.com/sponsors/sindresorhus"
1091 + }
1092 + },
1093 + "node_modules/eslint/node_modules/p-locate": {
1094 + "version": "5.0.0",
1095 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1096 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1097 + "dev": true,
1098 + "dependencies": {
1099 + "p-limit": "^3.0.2"
1100 + },
1101 + "engines": {
1102 + "node": ">=10"
1103 + },
1104 + "funding": {
1105 + "url": "https://github.com/sponsors/sindresorhus"
1106 + }
1107 + },
1108 + "node_modules/eslint/node_modules/path-exists": {
1109 + "version": "4.0.0",
1110 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1111 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1112 + "dev": true,
1113 + "engines": {
1114 + "node": ">=8"
1115 + }
1116 + },
1015 1117 "node_modules/espree": {
1016 − "version": "9.3.1",
1017 − "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
1018 − "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
1118 + "version": "9.4.0",
1119 + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
1120 + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
1019 1121 "dev": true,
1020 1122 "dependencies": {
1021 − "acorn": "^8.7.0",
1022 − "acorn-jsx": "^5.3.1",
1123 + "acorn": "^8.8.0",
1124 + "acorn-jsx": "^5.3.2",
1023 1125 "eslint-visitor-keys": "^3.3.0"
1024 1126 },
1025 1127 "engines": {
1026 1128 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1129 + },
1130 + "funding": {
1131 + "url": "https://opencollective.com/eslint"
1027 1132 }
1028 1133 },
1029 1134 "node_modules/esquery": {
@@ -1190,12 +1295,6 @@
1190 1295 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1191 1296 "dev": true
1192 1297 },
1193 − "node_modules/functional-red-black-tree": {
1194 − "version": "1.0.1",
1195 − "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
1196 − "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
1197 − "dev": true
1198 − },
1199 1298 "node_modules/functions-have-names": {
1200 1299 "version": "1.2.3",
1201 1300 "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
@@ -1294,9 +1393,9 @@
1294 1393 }
1295 1394 },
1296 1395 "node_modules/globals": {
1297 − "version": "13.13.0",
1298 − "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
1299 − "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
1396 + "version": "13.17.0",
1397 + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
1398 + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
1300 1399 "dev": true,
1301 1400 "dependencies": {
1302 1401 "type-fest": "^0.20.2"
@@ -1343,6 +1442,12 @@
1343 1442 "url": "https://github.com/sponsors/sindresorhus"
1344 1443 }
1345 1444 },
1445 + "node_modules/grapheme-splitter": {
1446 + "version": "1.0.4",
1447 + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
1448 + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
1449 + "dev": true
1450 + },
1346 1451 "node_modules/has": {
1347 1452 "version": "1.0.3",
1348 1453 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -1413,15 +1518,15 @@
1413 1518 }
1414 1519 },
1415 1520 "node_modules/husky": {
1416 − "version": "7.0.4",
1417 − "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz",
1418 − "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==",
1521 + "version": "8.0.1",
1522 + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz",
1523 + "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==",
1419 1524 "dev": true,
1420 1525 "bin": {
1421 1526 "husky": "lib/bin.js"
1422 1527 },
1423 1528 "engines": {
1424 − "node": ">=12"
1529 + "node": ">=14"
1425 1530 },
1426 1531 "funding": {
1427 1532 "url": "https://github.com/sponsors/typicode"
@@ -1709,6 +1814,12 @@
1709 1814 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1710 1815 "dev": true
1711 1816 },
1817 + "node_modules/js-sdsl": {
1818 + "version": "4.1.5",
1819 + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
1820 + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
1821 + "dev": true
1822 + },
1712 1823 "node_modules/js-tokens": {
1713 1824 "version": "4.0.0",
1714 1825 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -1758,13 +1869,13 @@
1758 1869 }
1759 1870 },
1760 1871 "node_modules/jsx-ast-utils": {
1761 − "version": "3.2.2",
1762 − "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz",
1763 − "integrity": "sha512-HDAyJ4MNQBboGpUnHAVUNJs6X0lh058s6FuixsFGP7MgJYpD6Vasd6nzSG5iIfXu1zAYlHJ/zsOKNlrenTUBnw==",
1872 + "version": "3.3.3",
1873 + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
1874 + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
1764 1875 "dev": true,
1765 1876 "dependencies": {
1766 − "array-includes": "^3.1.4",
1767 − "object.assign": "^4.1.2"
1877 + "array-includes": "^3.1.5",
1878 + "object.assign": "^4.1.3"
1768 1879 },
1769 1880 "engines": {
1770 1881 "node": ">=4.0"
@@ -1799,9 +1910,9 @@
1799 1910 }
1800 1911 },
1801 1912 "node_modules/linkify-it": {
1802 − "version": "3.0.3",
1803 − "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
1804 − "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
1913 + "version": "4.0.1",
1914 + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz",
1915 + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==",
1805 1916 "dev": true,
1806 1917 "dependencies": {
1807 1918 "uc.micro": "^1.0.1"
@@ -1839,22 +1950,25 @@
1839 1950 }
1840 1951 },
1841 1952 "node_modules/lru-cache": {
1842 − "version": "7.8.1",
1843 − "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz",
1844 − "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==",
1953 + "version": "6.0.0",
1954 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1955 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1956 + "dependencies": {
1957 + "yallist": "^4.0.0"
1958 + },
1845 1959 "engines": {
1846 − "node": ">=12"
1960 + "node": ">=10"
1847 1961 }
1848 1962 },
1849 1963 "node_modules/markdown-it": {
1850 − "version": "12.3.2",
1851 − "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
1852 − "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
1964 + "version": "13.0.1",
1965 + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
1966 + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==",
1853 1967 "dev": true,
1854 1968 "dependencies": {
1855 1969 "argparse": "^2.0.1",
1856 − "entities": "~2.1.0",
1857 − "linkify-it": "^3.0.1",
1970 + "entities": "~3.0.1",
1971 + "linkify-it": "^4.0.1",
1858 1972 "mdurl": "^1.0.1",
1859 1973 "uc.micro": "^1.0.5"
1860 1974 },
@@ -1863,15 +1977,15 @@
1863 1977 }
1864 1978 },
1865 1979 "node_modules/markdownlint": {
1866 − "version": "0.25.1",
1867 − "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz",
1868 − "integrity": "sha512-AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==",
1980 + "version": "0.26.2",
1981 + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz",
1982 + "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==",
1869 1983 "dev": true,
1870 1984 "dependencies": {
1871 − "markdown-it": "12.3.2"
1985 + "markdown-it": "13.0.1"
1872 1986 },
1873 1987 "engines": {
1874 − "node": ">=12"
1988 + "node": ">=14"
1875 1989 }
1876 1990 },
1877 1991 "node_modules/matcher": {
@@ -1889,7 +2003,7 @@
1889 2003 "node_modules/mdurl": {
1890 2004 "version": "1.0.1",
1891 2005 "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
1892 − "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
2006 + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
1893 2007 "dev": true
1894 2008 },
1895 2009 "node_modules/merge2": {
@@ -1987,14 +2101,14 @@
1987 2101 }
1988 2102 },
1989 2103 "node_modules/object.assign": {
1990 − "version": "4.1.2",
1991 − "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
1992 − "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
2104 + "version": "4.1.4",
2105 + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
2106 + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
1993 2107 "dev": true,
1994 2108 "dependencies": {
1995 − "call-bind": "^1.0.0",
1996 − "define-properties": "^1.1.3",
1997 − "has-symbols": "^1.0.1",
2109 + "call-bind": "^1.0.2",
2110 + "define-properties": "^1.1.4",
2111 + "has-symbols": "^1.0.3",
1998 2112 "object-keys": "^1.1.1"
1999 2113 },
2000 2114 "engines": {
@@ -2036,13 +2150,13 @@
2036 2150 }
2037 2151 },
2038 2152 "node_modules/object.hasown": {
2039 − "version": "1.1.0",
2040 − "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz",
2041 − "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==",
2153 + "version": "1.1.1",
2154 + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz",
2155 + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==",
2042 2156 "dev": true,
2043 2157 "dependencies": {
2044 − "define-properties": "^1.1.3",
2045 − "es-abstract": "^1.19.1"
2158 + "define-properties": "^1.1.4",
2159 + "es-abstract": "^1.19.5"
2046 2160 },
2047 2161 "funding": {
2048 2162 "url": "https://github.com/sponsors/ljharb"
@@ -2200,9 +2314,9 @@
2200 2314 }
2201 2315 },
2202 2316 "node_modules/prettier": {
2203 − "version": "2.6.2",
2204 − "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
2205 − "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
2317 + "version": "2.7.1",
2318 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
2319 + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
2206 2320 "dev": true,
2207 2321 "bin": {
2208 2322 "prettier": "bin-prettier.js"
@@ -2402,17 +2516,17 @@
2402 2516 "dev": true
2403 2517 },
2404 2518 "node_modules/semver": {
2405 − "version": "7.3.6",
2406 − "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz",
2407 − "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==",
2519 + "version": "7.3.8",
2520 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
2521 + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
2408 2522 "dependencies": {
2409 − "lru-cache": "^7.4.0"
2523 + "lru-cache": "^6.0.0"
2410 2524 },
2411 2525 "bin": {
2412 2526 "semver": "bin/semver.js"
2413 2527 },
2414 2528 "engines": {
2415 − "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0"
2529 + "node": ">=10"
2416 2530 }
2417 2531 },
2418 2532 "node_modules/semver-compare": {
@@ -2733,12 +2847,6 @@
2733 2847 "uuid": "dist/bin/uuid"
2734 2848 }
2735 2849 },
2736 − "node_modules/v8-compile-cache": {
2737 − "version": "2.3.0",
2738 − "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
2739 − "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
2740 − "dev": true
2741 − },
2742 2850 "node_modules/which": {
2743 2851 "version": "2.0.2",
2744 2852 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -2811,10 +2919,15 @@
2811 2919 "node": ">=10"
2812 2920 }
2813 2921 },
2922 + "node_modules/yallist": {
2923 + "version": "4.0.0",
2924 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2925 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
2926 + },
2814 2927 "node_modules/yaml-lint": {
2815 − "version": "1.3.0",
2816 − "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.3.0.tgz",
2817 − "integrity": "sha512-pBdYBPkswR8fcacMQOVyXiqEg3OaNLZFeqitWKmMtdR/04lqGBpUrtWkjh3VgITYzev8LTDuwDtaOYxD5F8ffA==",
2928 + "version": "1.7.0",
2929 + "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.7.0.tgz",
2930 + "integrity": "sha512-zeBC/kskKQo4zuoGQ+IYjw6C9a/YILr2SXoEZA9jM0COrSwvwVbfTiFegT8qYBSBgOwLMWGL8sY137tOmFXGnQ==",
2818 2931 "dev": true,
2819 2932 "dependencies": {
2820 2933 "consola": "^2.15.3",
@@ -2854,9 +2967,9 @@
2854 2967 }
2855 2968 },
2856 2969 "node_modules/yarn": {
2857 − "version": "1.22.18",
2858 − "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.18.tgz",
2859 − "integrity": "sha512-oFffv6Jp2+BTUBItzx1Z0dpikTX+raRdqupfqzeMKnoh7WD6RuPAxcqDkMUy9vafJkrB0YaV708znpuMhEBKGQ==",
2970 + "version": "1.22.19",
2971 + "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.19.tgz",
2972 + "integrity": "sha512-/0V5q0WbslqnwP91tirOvldvYISzaqhClxzyUKXYxs07yUILIs5jx/k6CFe8bvKSkds5w+eiOqta39Wk3WxdcQ==",
2860 2973 "dev": true,
2861 2974 "hasInstallScript": true,
2862 2975 "bin": {
@@ -2866,13 +2979,25 @@
2866 2979 "engines": {
2867 2980 "node": ">=4.0.0"
2868 2981 }
2982 + },
2983 + "node_modules/yocto-queue": {
2984 + "version": "0.1.0",
2985 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
2986 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
2987 + "dev": true,
2988 + "engines": {
2989 + "node": ">=10"
2990 + },
2991 + "funding": {
2992 + "url": "https://github.com/sponsors/sindresorhus"
2993 + }
2869 2994 }
2870 2995 },
2871 2996 "dependencies": {
2872 2997 "@actions/core": {
2873 − "version": "1.9.1",
2874 − "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz",
2875 − "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==",
2998 + "version": "1.10.0",
2999 + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
3000 + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
2876 3001 "requires": {
2877 3002 "@actions/http-client": "^2.0.1",
2878 3003 "uuid": "^8.3.2"
@@ -2900,9 +3025,9 @@
2900 3025 "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw=="
2901 3026 },
2902 3027 "@babel/runtime": {
2903 − "version": "7.17.9",
2904 − "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
2905 − "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
3028 + "version": "7.19.4",
3029 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
3030 + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
2906 3031 "dev": true,
2907 3032 "requires": {
2908 3033 "regenerator-runtime": "^0.13.4"
@@ -2919,26 +3044,26 @@
2919 3044 }
2920 3045 },
2921 3046 "@eslint/eslintrc": {
2922 − "version": "1.2.2",
2923 − "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz",
2924 − "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==",
3047 + "version": "1.3.3",
3048 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
3049 + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
2925 3050 "dev": true,
2926 3051 "requires": {
2927 3052 "ajv": "^6.12.4",
2928 3053 "debug": "^4.3.2",
2929 − "espree": "^9.3.1",
2930 − "globals": "^13.9.0",
3054 + "espree": "^9.4.0",
3055 + "globals": "^13.15.0",
2931 3056 "ignore": "^5.2.0",
2932 3057 "import-fresh": "^3.2.1",
2933 3058 "js-yaml": "^4.1.0",
2934 − "minimatch": "^3.0.4",
3059 + "minimatch": "^3.1.2",
2935 3060 "strip-json-comments": "^3.1.1"
2936 3061 }
2937 3062 },
2938 3063 "@humanwhocodes/config-array": {
2939 − "version": "0.9.5",
2940 − "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
2941 − "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
3064 + "version": "0.10.7",
3065 + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
3066 + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
2942 3067 "dev": true,
2943 3068 "requires": {
2944 3069 "@humanwhocodes/object-schema": "^1.2.1",
@@ -2946,6 +3071,12 @@
2946 3071 "minimatch": "^3.0.4"
2947 3072 }
2948 3073 },
3074 + "@humanwhocodes/module-importer": {
3075 + "version": "1.0.1",
3076 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
3077 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
3078 + "dev": true
3079 + },
2949 3080 "@humanwhocodes/object-schema": {
2950 3081 "version": "1.2.1",
2951 3082 "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
@@ -2985,15 +3116,15 @@
2985 3116 "dev": true
2986 3117 },
2987 3118 "@vercel/ncc": {
2988 − "version": "0.33.4",
2989 − "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz",
2990 − "integrity": "sha512-ln18hs7dMffelP47tpkaR+V5Tj6coykNyxJrlcmCormPqRQjB/Gv4cu2FfBG+PMzIfdZp2CLDsrrB1NPU22Qhg==",
3119 + "version": "0.34.0",
3120 + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz",
3121 + "integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==",
2991 3122 "dev": true
2992 3123 },
2993 3124 "acorn": {
2994 − "version": "8.7.0",
2995 − "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
2996 − "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
3125 + "version": "8.8.0",
3126 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
3127 + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
2997 3128 "dev": true
2998 3129 },
2999 3130 "acorn-jsx": {
@@ -3047,14 +3178,14 @@
3047 3178 }
3048 3179 },
3049 3180 "array-includes": {
3050 − "version": "3.1.4",
3051 − "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
3052 − "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
3181 + "version": "3.1.5",
3182 + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
3183 + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
3053 3184 "dev": true,
3054 3185 "requires": {
3055 3186 "call-bind": "^1.0.2",
3056 − "define-properties": "^1.1.3",
3057 − "es-abstract": "^1.19.1",
3187 + "define-properties": "^1.1.4",
3188 + "es-abstract": "^1.19.5",
3058 3189 "get-intrinsic": "^1.1.1",
3059 3190 "is-string": "^1.0.7"
3060 3191 }
@@ -3102,9 +3233,9 @@
3102 3233 "dev": true
3103 3234 },
3104 3235 "axe-core": {
3105 − "version": "4.4.1",
3106 − "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz",
3107 − "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==",
3236 + "version": "4.4.3",
3237 + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz",
3238 + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==",
3108 3239 "dev": true
3109 3240 },
3110 3241 "axobject-query": {
@@ -3293,9 +3424,9 @@
3293 3424 "dev": true
3294 3425 },
3295 3426 "entities": {
3296 − "version": "2.1.0",
3297 − "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
3298 − "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
3427 + "version": "3.0.1",
3428 + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
3429 + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
3299 3430 "dev": true
3300 3431 },
3301 3432 "es-abstract": {
@@ -3365,13 +3496,14 @@
3365 3496 "dev": true
3366 3497 },
3367 3498 "eslint": {
3368 − "version": "8.14.0",
3369 − "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz",
3370 − "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==",
3499 + "version": "8.25.0",
3500 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz",
3501 + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",
3371 3502 "dev": true,
3372 3503 "requires": {
3373 − "@eslint/eslintrc": "^1.2.2",
3374 − "@humanwhocodes/config-array": "^0.9.2",
3504 + "@eslint/eslintrc": "^1.3.3",
3505 + "@humanwhocodes/config-array": "^0.10.5",
3506 + "@humanwhocodes/module-importer": "^1.0.1",
3375 3507 "ajv": "^6.10.0",
3376 3508 "chalk": "^4.0.0",
3377 3509 "cross-spawn": "^7.0.2",
@@ -3381,30 +3513,77 @@
3381 3513 "eslint-scope": "^7.1.1",
3382 3514 "eslint-utils": "^3.0.0",
3383 3515 "eslint-visitor-keys": "^3.3.0",
3384 − "espree": "^9.3.1",
3516 + "espree": "^9.4.0",
3385 3517 "esquery": "^1.4.0",
3386 3518 "esutils": "^2.0.2",
3387 3519 "fast-deep-equal": "^3.1.3",
3388 3520 "file-entry-cache": "^6.0.1",
3389 − "functional-red-black-tree": "^1.0.1",
3521 + "find-up": "^5.0.0",
3390 3522 "glob-parent": "^6.0.1",
3391 − "globals": "^13.6.0",
3523 + "globals": "^13.15.0",
3524 + "globby": "^11.1.0",
3525 + "grapheme-splitter": "^1.0.4",
3392 3526 "ignore": "^5.2.0",
3393 3527 "import-fresh": "^3.0.0",
3394 3528 "imurmurhash": "^0.1.4",
3395 3529 "is-glob": "^4.0.0",
3530 + "js-sdsl": "^4.1.4",
3396 3531 "js-yaml": "^4.1.0",
3397 3532 "json-stable-stringify-without-jsonify": "^1.0.1",
3398 3533 "levn": "^0.4.1",
3399 3534 "lodash.merge": "^4.6.2",
3400 − "minimatch": "^3.0.4",
3535 + "minimatch": "^3.1.2",
3401 3536 "natural-compare": "^1.4.0",
3402 3537 "optionator": "^0.9.1",
3403 3538 "regexpp": "^3.2.0",
3404 3539 "strip-ansi": "^6.0.1",
3405 3540 "strip-json-comments": "^3.1.0",
3406 − "text-table": "^0.2.0",
3407 − "v8-compile-cache": "^2.0.3"
3541 + "text-table": "^0.2.0"
3542 + },
3543 + "dependencies": {
3544 + "find-up": {
3545 + "version": "5.0.0",
3546 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
3547 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
3548 + "dev": true,
3549 + "requires": {
3550 + "locate-path": "^6.0.0",
3551 + "path-exists": "^4.0.0"
3552 + }
3553 + },
3554 + "locate-path": {
3555 + "version": "6.0.0",
3556 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
3557 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
3558 + "dev": true,
3559 + "requires": {
3560 + "p-locate": "^5.0.0"
3561 + }
3562 + },
3563 + "p-limit": {
3564 + "version": "3.1.0",
3565 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
3566 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
3567 + "dev": true,
3568 + "requires": {
3569 + "yocto-queue": "^0.1.0"
3570 + }
3571 + },
3572 + "p-locate": {
3573 + "version": "5.0.0",
3574 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
3575 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
3576 + "dev": true,
3577 + "requires": {
3578 + "p-limit": "^3.0.2"
3579 + }
3580 + },
3581 + "path-exists": {
3582 + "version": "4.0.0",
3583 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
3584 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
3585 + "dev": true
3586 + }
3408 3587 }
3409 3588 },
3410 3589 "eslint-config-airbnb": {
@@ -3528,45 +3707,54 @@
3528 3707 }
3529 3708 },
3530 3709 "eslint-plugin-jsx-a11y": {
3531 − "version": "6.5.1",
3532 − "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz",
3533 − "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==",
3710 + "version": "6.6.1",
3711 + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz",
3712 + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==",
3534 3713 "dev": true,
3535 3714 "requires": {
3536 − "@babel/runtime": "^7.16.3",
3715 + "@babel/runtime": "^7.18.9",
3537 3716 "aria-query": "^4.2.2",
3538 − "array-includes": "^3.1.4",
3717 + "array-includes": "^3.1.5",
3539 3718 "ast-types-flow": "^0.0.7",
3540 − "axe-core": "^4.3.5",
3719 + "axe-core": "^4.4.3",
3541 3720 "axobject-query": "^2.2.0",
3542 − "damerau-levenshtein": "^1.0.7",
3721 + "damerau-levenshtein": "^1.0.8",
3543 3722 "emoji-regex": "^9.2.2",
3544 3723 "has": "^1.0.3",
3545 − "jsx-ast-utils": "^3.2.1",
3724 + "jsx-ast-utils": "^3.3.2",
3546 3725 "language-tags": "^1.0.5",
3547 − "minimatch": "^3.0.4"
3726 + "minimatch": "^3.1.2",
3727 + "semver": "^6.3.0"
3728 + },
3729 + "dependencies": {
3730 + "semver": {
3731 + "version": "6.3.0",
3732 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
3733 + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
3734 + "dev": true
3735 + }
3548 3736 }
3549 3737 },
3550 3738 "eslint-plugin-react": {
3551 − "version": "7.29.0",
3552 − "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.0.tgz",
3553 − "integrity": "sha512-lwbGCO4cEotwl+Wo0zkkjzbhxEzFcG6lv4mpWXfxKzXNZMF5wDEQqykPetB4mi3uTLGVSXxmgVlBMzHTHue6cA==",
3739 + "version": "7.31.10",
3740 + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz",
3741 + "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==",
3554 3742 "dev": true,
3555 3743 "requires": {
3556 − "array-includes": "^3.1.4",
3557 − "array.prototype.flatmap": "^1.2.5",
3744 + "array-includes": "^3.1.5",
3745 + "array.prototype.flatmap": "^1.3.0",
3558 3746 "doctrine": "^2.1.0",
3559 3747 "estraverse": "^5.3.0",
3560 3748 "jsx-ast-utils": "^2.4.1 || ^3.0.0",
3561 3749 "minimatch": "^3.1.2",
3562 3750 "object.entries": "^1.1.5",
3563 3751 "object.fromentries": "^2.0.5",
3564 − "object.hasown": "^1.1.0",
3752 + "object.hasown": "^1.1.1",
3565 3753 "object.values": "^1.1.5",
3566 3754 "prop-types": "^15.8.1",
3567 3755 "resolve": "^2.0.0-next.3",
3568 3756 "semver": "^6.3.0",
3569 − "string.prototype.matchall": "^4.0.6"
3757 + "string.prototype.matchall": "^4.0.7"
3570 3758 },
3571 3759 "dependencies": {
3572 3760 "doctrine": {
@@ -3638,13 +3826,13 @@
3638 3826 "dev": true
3639 3827 },
3640 3828 "espree": {
3641 − "version": "9.3.1",
3642 − "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz",
3643 − "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==",
3829 + "version": "9.4.0",
3830 + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
3831 + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
3644 3832 "dev": true,
3645 3833 "requires": {
3646 − "acorn": "^8.7.0",
3647 − "acorn-jsx": "^5.3.1",
3834 + "acorn": "^8.8.0",
3835 + "acorn-jsx": "^5.3.2",
3648 3836 "eslint-visitor-keys": "^3.3.0"
3649 3837 }
3650 3838 },
@@ -3784,12 +3972,6 @@
3784 3972 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
3785 3973 "dev": true
3786 3974 },
3787 − "functional-red-black-tree": {
3788 − "version": "1.0.1",
3789 − "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
3790 − "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
3791 − "dev": true
3792 − },
3793 3975 "functions-have-names": {
3794 3976 "version": "1.2.3",
3795 3977 "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
@@ -3861,9 +4043,9 @@
3861 4043 }
3862 4044 },
3863 4045 "globals": {
3864 − "version": "13.13.0",
3865 − "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
3866 − "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
4046 + "version": "13.17.0",
4047 + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
4048 + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
3867 4049 "dev": true,
3868 4050 "requires": {
3869 4051 "type-fest": "^0.20.2"
@@ -3892,6 +4074,12 @@
3892 4074 "slash": "^3.0.0"
3893 4075 }
3894 4076 },
4077 + "grapheme-splitter": {
4078 + "version": "1.0.4",
4079 + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
4080 + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
4081 + "dev": true
4082 + },
3895 4083 "has": {
3896 4084 "version": "1.0.3",
3897 4085 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -3938,9 +4126,9 @@
3938 4126 }
3939 4127 },
3940 4128 "husky": {
3941 − "version": "7.0.4",
3942 − "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz",
3943 − "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==",
4129 + "version": "8.0.1",
4130 + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz",
4131 + "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==",
3944 4132 "dev": true
3945 4133 },
3946 4134 "ignore": {
@@ -4135,6 +4323,12 @@
4135 4323 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
4136 4324 "dev": true
4137 4325 },
4326 + "js-sdsl": {
4327 + "version": "4.1.5",
4328 + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
4329 + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
4330 + "dev": true
4331 + },
4138 4332 "js-tokens": {
4139 4333 "version": "4.0.0",
4140 4334 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -4178,13 +4372,13 @@
4178 4372 }
4179 4373 },
4180 4374 "jsx-ast-utils": {
4181 − "version": "3.2.2",
4182 − "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz",
4183 − "integrity": "sha512-HDAyJ4MNQBboGpUnHAVUNJs6X0lh058s6FuixsFGP7MgJYpD6Vasd6nzSG5iIfXu1zAYlHJ/zsOKNlrenTUBnw==",
4375 + "version": "3.3.3",
4376 + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
4377 + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
4184 4378 "dev": true,
4185 4379 "requires": {
4186 − "array-includes": "^3.1.4",
4187 − "object.assign": "^4.1.2"
4380 + "array-includes": "^3.1.5",
4381 + "object.assign": "^4.1.3"
4188 4382 }
4189 4383 },
4190 4384 "language-subtag-registry": {
@@ -4213,9 +4407,9 @@
4213 4407 }
4214 4408 },
4215 4409 "linkify-it": {
4216 − "version": "3.0.3",
4217 − "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
4218 − "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
4410 + "version": "4.0.1",
4411 + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz",
4412 + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==",
4219 4413 "dev": true,
4220 4414 "requires": {
4221 4415 "uc.micro": "^1.0.1"
@@ -4247,30 +4441,33 @@
4247 4441 }
4248 4442 },
4249 4443 "lru-cache": {
4250 − "version": "7.8.1",
4251 − "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz",
4252 − "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg=="
4444 + "version": "6.0.0",
4445 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
4446 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
4447 + "requires": {
4448 + "yallist": "^4.0.0"
4449 + }
4253 4450 },
4254 4451 "markdown-it": {
4255 − "version": "12.3.2",
4256 − "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
4257 − "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
4452 + "version": "13.0.1",
4453 + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
4454 + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==",
4258 4455 "dev": true,
4259 4456 "requires": {
4260 4457 "argparse": "^2.0.1",
4261 − "entities": "~2.1.0",
4262 − "linkify-it": "^3.0.1",
4458 + "entities": "~3.0.1",
4459 + "linkify-it": "^4.0.1",
4263 4460 "mdurl": "^1.0.1",
4264 4461 "uc.micro": "^1.0.5"
4265 4462 }
4266 4463 },
4267 4464 "markdownlint": {
4268 − "version": "0.25.1",
4269 − "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz",
4270 − "integrity": "sha512-AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==",
4465 + "version": "0.26.2",
4466 + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz",
4467 + "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==",
4271 4468 "dev": true,
4272 4469 "requires": {
4273 − "markdown-it": "12.3.2"
4470 + "markdown-it": "13.0.1"
4274 4471 }
4275 4472 },
4276 4473 "matcher": {
@@ -4285,7 +4482,7 @@
4285 4482 "mdurl": {
4286 4483 "version": "1.0.1",
4287 4484 "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
4288 − "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
4485 + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
4289 4486 "dev": true
4290 4487 },
4291 4488 "merge2": {
@@ -4362,14 +4559,14 @@
4362 4559 "dev": true
4363 4560 },
4364 4561 "object.assign": {
4365 − "version": "4.1.2",
4366 − "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
4367 − "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
4562 + "version": "4.1.4",
4563 + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
4564 + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
4368 4565 "dev": true,
4369 4566 "requires": {
4370 − "call-bind": "^1.0.0",
4371 − "define-properties": "^1.1.3",
4372 − "has-symbols": "^1.0.1",
4567 + "call-bind": "^1.0.2",
4568 + "define-properties": "^1.1.4",
4569 + "has-symbols": "^1.0.3",
4373 4570 "object-keys": "^1.1.1"
4374 4571 }
4375 4572 },
@@ -4396,13 +4593,13 @@
4396 4593 }
4397 4594 },
4398 4595 "object.hasown": {
4399 − "version": "1.1.0",
4400 − "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz",
4401 − "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==",
4596 + "version": "1.1.1",
4597 + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz",
4598 + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==",
4402 4599 "dev": true,
4403 4600 "requires": {
4404 − "define-properties": "^1.1.3",
4405 − "es-abstract": "^1.19.1"
4601 + "define-properties": "^1.1.4",
4602 + "es-abstract": "^1.19.5"
4406 4603 }
4407 4604 },
4408 4605 "object.values": {
@@ -4515,9 +4712,9 @@
4515 4712 "dev": true
4516 4713 },
4517 4714 "prettier": {
4518 − "version": "2.6.2",
4519 − "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
4520 − "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
4715 + "version": "2.7.1",
4716 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
4717 + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
4521 4718 "dev": true
4522 4719 },
4523 4720 "prop-types": {
@@ -4640,11 +4837,11 @@
4640 4837 "dev": true
4641 4838 },
4642 4839 "semver": {
4643 − "version": "7.3.6",
4644 − "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz",
4645 − "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==",
4840 + "version": "7.3.8",
4841 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
4842 + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
4646 4843 "requires": {
4647 − "lru-cache": "^7.4.0"
4844 + "lru-cache": "^6.0.0"
4648 4845 }
4649 4846 },
4650 4847 "semver-compare": {
@@ -4887,12 +5084,6 @@
4887 5084 "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
4888 5085 "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
4889 5086 },
4890 − "v8-compile-cache": {
4891 − "version": "2.3.0",
4892 − "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
4893 − "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
4894 − "dev": true
4895 − },
4896 5087 "which": {
4897 5088 "version": "2.0.2",
4898 5089 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -4944,10 +5135,15 @@
4944 5135 "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
4945 5136 "dev": true
4946 5137 },
5138 + "yallist": {
5139 + "version": "4.0.0",
5140 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
5141 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
5142 + },
4947 5143 "yaml-lint": {
4948 − "version": "1.3.0",
4949 − "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.3.0.tgz",
4950 − "integrity": "sha512-pBdYBPkswR8fcacMQOVyXiqEg3OaNLZFeqitWKmMtdR/04lqGBpUrtWkjh3VgITYzev8LTDuwDtaOYxD5F8ffA==",
5144 + "version": "1.7.0",
5145 + "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.7.0.tgz",
5146 + "integrity": "sha512-zeBC/kskKQo4zuoGQ+IYjw6C9a/YILr2SXoEZA9jM0COrSwvwVbfTiFegT8qYBSBgOwLMWGL8sY137tOmFXGnQ==",
4951 5147 "dev": true,
4952 5148 "requires": {
4953 5149 "consola": "^2.15.3",
@@ -4978,9 +5174,15 @@
4978 5174 "dev": true
4979 5175 },
4980 5176 "yarn": {
4981 − "version": "1.22.18",
4982 − "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.18.tgz",
4983 − "integrity": "sha512-oFffv6Jp2+BTUBItzx1Z0dpikTX+raRdqupfqzeMKnoh7WD6RuPAxcqDkMUy9vafJkrB0YaV708znpuMhEBKGQ==",
5177 + "version": "1.22.19",
5178 + "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.19.tgz",
5179 + "integrity": "sha512-/0V5q0WbslqnwP91tirOvldvYISzaqhClxzyUKXYxs07yUILIs5jx/k6CFe8bvKSkds5w+eiOqta39Wk3WxdcQ==",
5180 + "dev": true
5181 + },
5182 + "yocto-queue": {
5183 + "version": "0.1.0",
5184 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
5185 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
4984 5186 "dev": true
4985 5187 }
4986 5188 }
modified package.json
+11 −11
@@ -19,23 +19,23 @@
19 19 }
20 20 },
21 21 "dependencies": {
22 − "@actions/core": "1.9.1",
22 + "@actions/core": "1.10.0",
23 23 "@actions/exec": "1.1.1",
24 − "semver": "7.3.6"
24 + "semver": "7.3.8"
25 25 },
26 26 "devDependencies": {
27 − "@vercel/ncc": "0.33.4",
28 − "eslint": "8.14.0",
27 + "@vercel/ncc": "0.34.0",
28 + "eslint": "8.25.0",
29 29 "eslint-config-airbnb": "19.0.4",
30 30 "eslint-plugin-import": "2.26.0",
31 − "eslint-plugin-jsx-a11y": "6.5.1",
32 − "eslint-plugin-react": "7.29.0",
33 − "husky": "7.0.4",
34 − "markdownlint": "0.25.1",
35 − "prettier": "2.6.2",
31 + "eslint-plugin-jsx-a11y": "6.6.1",
32 + "eslint-plugin-react": "7.31.10",
33 + "husky": "8.0.1",
34 + "markdownlint": "0.26.2",
35 + "prettier": "2.7.1",
36 36 "shellcheck": "1.1.0",
37 − "yaml-lint": "1.3.0",
38 − "yarn": "1.22.18"
37 + "yaml-lint": "1.7.0",
38 + "yarn": "1.22.19"
39 39 },
40 40 "engines": {
41 41 "node": ">=16"

Parents: 8d31e4d