├── .eslintrc.js
├── .github
├── FUNDING.yml
└── workflows
│ ├── coveralls.yml
│ └── verify.yml
├── .gitignore
├── .npmignore
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── docs
├── favicon.png
├── favicon.svg
├── index.html
├── main.js
├── pages
│ └── example.md
└── style.css
├── examples
├── simple-counter
│ ├── .gitignore
│ ├── .wrangler
│ │ └── state
│ │ │ └── v3
│ │ │ └── do
│ │ │ └── itty-durable-simple-counter-Counter
│ │ │ └── d40e9dba971cfb1783256627c4159679eb852b950de2f31e6323d02d8e9434d6.sqlite
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── Counter.js
│ │ └── index.js
│ └── yarn.lock
└── websocket
│ ├── Room.ts
│ └── index.ts
├── jest.config.js
├── package.json
├── src
├── index.js
├── itty-durable.js
├── itty-durable.spec.js
├── proxy-durable.js
├── proxy-durable.spec.js
└── with-durables.js
├── tsconfig.json
├── vitest.config.ts
└── yarn.lock
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'env': {
3 | 'browser': true,
4 | 'commonjs': true,
5 | 'es2020': true,
6 | 'jest/globals': true
7 | },
8 | 'parserOptions': {
9 | 'ecmaVersion': 11,
10 | 'sourceType': 'module',
11 | },
12 | 'plugins': ['jest'],
13 | 'rules': {
14 | 'accessor-pairs': 'error',
15 | 'array-bracket-newline': 'error',
16 | 'array-bracket-spacing': 'off',
17 | 'array-callback-return': 'error',
18 | 'array-element-newline': 'off',
19 | 'arrow-body-style': 'error',
20 | 'arrow-spacing': [
21 | 'error',
22 | {
23 | 'after': true,
24 | 'before': true
25 | }
26 | ],
27 | 'block-scoped-var': 'error',
28 | 'block-spacing': 'error',
29 | 'callback-return': 'error',
30 | 'camelcase': 'error',
31 | 'comma-spacing': [
32 | 'error',
33 | {
34 | 'after': true,
35 | 'before': false
36 | }
37 | ],
38 | 'comma-style': [
39 | 'error',
40 | 'last'
41 | ],
42 | 'complexity': 'error',
43 | 'computed-property-spacing': [
44 | 'error',
45 | 'never'
46 | ],
47 | 'consistent-return': 'off',
48 | 'consistent-this': 'error',
49 | 'curly': 'off',
50 | 'default-case': 'error',
51 | 'default-case-last': 'error',
52 | 'default-param-last': 'off',
53 | 'dot-location': [
54 | 'error',
55 | 'property'
56 | ],
57 | 'dot-notation': 'error',
58 | 'eol-last': [
59 | 'error',
60 | 'always'
61 | ],
62 | 'eqeqeq': 'error',
63 | 'func-call-spacing': 'error',
64 | 'func-name-matching': 'error',
65 | 'func-names': 'error',
66 | 'func-style': [
67 | 'error',
68 | 'expression'
69 | ],
70 | 'function-paren-newline': 'off',
71 | 'generator-star-spacing': 'error',
72 | 'global-require': 'off',
73 | 'grouped-accessor-pairs': 'error',
74 | 'guard-for-in': 'off',
75 | 'handle-callback-err': 'error',
76 | 'id-blacklist': 'error',
77 | 'id-match': 'error',
78 | 'implicit-arrow-linebreak': 'off',
79 | 'indent': 'off',
80 | 'indent-legacy': 'off',
81 | 'init-declarations': 'off',
82 | 'jsx-quotes': 'error',
83 | 'key-spacing': 'error',
84 | 'keyword-spacing': [
85 | 'error',
86 | {
87 | 'after': true,
88 | 'before': true
89 | }
90 | ],
91 | 'linebreak-style': [
92 | 'error',
93 | 'unix'
94 | ],
95 | 'lines-around-comment': 'error',
96 | 'lines-around-directive': 'error',
97 | 'lines-between-class-members': 'error',
98 | 'max-depth': 'error',
99 | 'max-len': 'off',
100 | 'max-nested-callbacks': 'error',
101 | 'multiline-ternary': 'error',
102 | 'new-parens': 'error',
103 | 'newline-before-return': 'error',
104 | 'newline-per-chained-call': 'error',
105 | 'no-alert': 'error',
106 | 'no-array-constructor': 'error',
107 | 'no-await-in-loop': 'off',
108 | 'no-bitwise': 'off',
109 | 'no-buffer-constructor': 'error',
110 | 'no-caller': 'error',
111 | 'no-catch-shadow': 'error',
112 | 'no-confusing-arrow': 'off',
113 | 'no-console': 'off',
114 | 'no-continue': 'error',
115 | 'no-div-regex': 'error',
116 | 'no-duplicate-imports': 'error',
117 | 'no-else-return': 'error',
118 | 'no-eq-null': 'error',
119 | 'no-eval': 'error',
120 | 'no-extend-native': 'error',
121 | 'no-extra-bind': 'error',
122 | 'no-extra-label': 'error',
123 | 'no-extra-parens': 'off',
124 | 'no-floating-decimal': 'error',
125 | 'no-implicit-coercion': 'error',
126 | 'no-implicit-globals': 'off',
127 | 'no-implied-eval': 'error',
128 | 'no-invalid-this': 'error',
129 | 'no-iterator': 'error',
130 | 'no-label-var': 'error',
131 | 'no-labels': 'error',
132 | 'no-lone-blocks': 'error',
133 | 'no-lonely-if': 'error',
134 | 'no-loop-func': 'error',
135 | 'no-loss-of-precision': 'error',
136 | 'no-mixed-operators': 'off',
137 | 'no-mixed-requires': 'error',
138 | 'no-multi-assign': 'off',
139 | 'no-multi-spaces': 'error',
140 | 'no-multi-str': 'error',
141 | 'no-multiple-empty-lines': 'error',
142 | 'no-native-reassign': 'error',
143 | 'no-negated-condition': 'error',
144 | 'no-negated-in-lhs': 'error',
145 | 'no-nested-ternary': 'off',
146 | 'no-new': 'error',
147 | 'no-new-func': 'error',
148 | 'no-new-object': 'error',
149 | 'no-new-require': 'error',
150 | 'no-new-wrappers': 'error',
151 | 'no-octal-escape': 'error',
152 | 'no-param-reassign': 'off',
153 | 'no-path-concat': 'error',
154 | 'no-plusplus': 'off',
155 | 'no-process-env': 'error',
156 | 'no-process-exit': 'error',
157 | 'no-proto': 'error',
158 | 'no-restricted-exports': 'error',
159 | 'no-restricted-globals': 'error',
160 | 'no-restricted-imports': 'error',
161 | 'no-restricted-modules': 'error',
162 | 'no-restricted-properties': 'error',
163 | 'no-restricted-syntax': 'error',
164 | 'no-return-assign': [
165 | 'error',
166 | 'except-parens'
167 | ],
168 | 'no-return-await': 'error',
169 | 'no-script-url': 'error',
170 | 'no-self-compare': 'error',
171 | 'no-sequences': 'error',
172 | 'no-spaced-func': 'error',
173 | 'no-sync': 'error',
174 | 'no-tabs': 'error',
175 | 'no-template-curly-in-string': 'error',
176 | 'no-ternary': 'off',
177 | 'no-throw-literal': 'error',
178 | 'no-trailing-spaces': 'error',
179 | 'no-underscore-dangle': 'error',
180 | 'no-unmodified-loop-condition': 'error',
181 | 'no-unneeded-ternary': 'error',
182 | 'no-unused-expressions': 'error',
183 | 'no-use-before-define': 'off',
184 | 'no-useless-backreference': 'error',
185 | 'no-useless-call': 'error',
186 | 'no-useless-computed-key': 'error',
187 | 'no-useless-concat': 'error',
188 | 'no-useless-constructor': 'error',
189 | 'no-useless-rename': 'error',
190 | 'no-useless-return': 'error',
191 | 'no-var': 'error',
192 | 'no-void': 'error',
193 | 'no-warning-comments': 'error',
194 | 'no-whitespace-before-property': 'error',
195 | 'nonblock-statement-body-position': 'error',
196 | 'object-curly-newline': 'error',
197 | 'object-curly-spacing': [
198 | 'error',
199 | 'always'
200 | ],
201 | 'object-shorthand': 'error',
202 | 'one-var-declaration-per-line': 'error',
203 | 'operator-assignment': 'error',
204 | 'operator-linebreak': 'error',
205 | 'padded-blocks': 'off',
206 | 'padding-line-between-statements': 'error',
207 | 'prefer-arrow-callback': 'error',
208 | 'prefer-const': 'off',
209 | 'prefer-destructuring': 'error',
210 | 'prefer-exponentiation-operator': 'error',
211 | 'prefer-named-capture-group': 'off',
212 | 'prefer-numeric-literals': 'error',
213 | 'prefer-object-spread': 'error',
214 | 'prefer-promise-reject-errors': 'error',
215 | 'prefer-reflect': 'error',
216 | 'prefer-regex-literals': 'error',
217 | 'prefer-rest-params': 'error',
218 | 'prefer-spread': 'error',
219 | 'prefer-template': 'error',
220 | 'quote-props': 'off',
221 | 'quotes': [
222 | 'error',
223 | 'single',
224 | { "allowTemplateLiterals": true }
225 | ],
226 | 'radix': 'error',
227 | 'require-atomic-updates': 'off',
228 | 'require-await': 'off',
229 | 'require-jsdoc': 'error',
230 | 'require-unicode-regexp': 'off',
231 | 'rest-spread-spacing': [
232 | 'error',
233 | 'never'
234 | ],
235 | 'semi': ['error', 'never'],
236 | 'semi-spacing': 'error',
237 | 'semi-style': 'error',
238 | 'sort-vars': 'off',
239 | 'space-before-blocks': 'error',
240 | 'space-before-function-paren': 'off',
241 | 'space-in-parens': [
242 | 'error',
243 | 'never'
244 | ],
245 | 'space-infix-ops': 'off',
246 | 'space-unary-ops': 'error',
247 | 'spaced-comment': 'error',
248 | 'strict': 'off',
249 | 'switch-colon-spacing': 'error',
250 | 'symbol-description': 'error',
251 | 'template-curly-spacing': [
252 | 'error',
253 | 'never'
254 | ],
255 | 'template-tag-spacing': 'error',
256 | 'unicode-bom': [
257 | 'error',
258 | 'never'
259 | ],
260 | 'valid-jsdoc': 'error',
261 | 'wrap-iife': 'error',
262 | 'wrap-regex': 'error',
263 | 'yield-star-spacing': 'error',
264 | 'yoda': [
265 | 'error',
266 | 'never'
267 | ]
268 | }
269 | }
270 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: # kwhitley
2 | patreon: # Replace with a single Patreon username
3 | open_collective: # kevinrwhitley
4 | ko_fi: # Replace with a single Ko-fi username
5 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
6 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
7 | liberapay: # Replace with a single Liberapay username
8 | issuehunt: # Replace with a single IssueHunt username
9 | otechie: # Replace with a single Otechie username
10 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
11 |
--------------------------------------------------------------------------------
/.github/workflows/coveralls.yml:
--------------------------------------------------------------------------------
1 | on: ['push', 'pull_request']
2 |
3 | name: Coveralls
4 |
5 | jobs:
6 | build:
7 | name: Build
8 | runs-on: ubuntu-latest
9 | steps:
10 | - uses: actions/checkout@v1
11 |
12 | - name: Use Node.js 16.x
13 | uses: actions/setup-node@v3
14 | with:
15 | node-version: 16.x
16 |
17 | - name: npm install, npm run coverage
18 | run: |
19 | npm install
20 | npm run coverage
21 |
22 | - name: Coveralls
23 | uses: coverallsapp/github-action@v2
24 |
--------------------------------------------------------------------------------
/.github/workflows/verify.yml:
--------------------------------------------------------------------------------
1 | name: build
2 |
3 | on:
4 | push:
5 | branches: [ v2.x ]
6 | pull_request:
7 | branches: [ v2.x ]
8 |
9 | jobs:
10 | build:
11 |
12 | runs-on: ubuntu-latest
13 |
14 | steps:
15 | - uses: actions/checkout@v2
16 | - name: Use Node.js
17 | uses: actions/setup-node@v1
18 | with:
19 | node-version: '16.x'
20 | - name: Install dependencies
21 | run: yarn
22 | - run: yarn test
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS ignores
2 | .DS_Store
3 |
4 | # Logs
5 | logs
6 | *.log
7 | npm-debug.log*
8 | yarn-debug.log*
9 | yarn-error.log*
10 | lerna-debug.log*
11 |
12 | # Diagnostic reports (https://nodejs.org/api/report.html)
13 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
14 |
15 | # Runtime data
16 | pids
17 | *.pid
18 | *.seed
19 | *.pid.lock
20 |
21 | # Directory for instrumented libs generated by jscoverage/JSCover
22 | lib-cov
23 |
24 | # Coverage directory used by tools like istanbul
25 | coverage
26 | *.lcov
27 |
28 | # nyc test coverage
29 | .nyc_output
30 |
31 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
32 | .grunt
33 |
34 | # Bower dependency directory (https://bower.io/)
35 | bower_components
36 |
37 | # node-waf configuration
38 | .lock-wscript
39 |
40 | # Compiled binary addons (https://nodejs.org/api/addons.html)
41 | build/Release
42 |
43 | # Dependency directories
44 | node_modules/
45 | jspm_packages/
46 |
47 | # TypeScript v1 declaration files
48 | typings/
49 |
50 | # TypeScript cache
51 | *.tsbuildinfo
52 |
53 | # Optional npm cache directory
54 | .npm
55 |
56 | # Optional eslint cache
57 | .eslintcache
58 |
59 | # Microbundle cache
60 | .rpt2_cache/
61 | .rts2_cache_cjs/
62 | .rts2_cache_es/
63 | .rts2_cache_umd/
64 |
65 | # Optional REPL history
66 | .node_repl_history
67 |
68 | # Output of 'npm pack'
69 | *.tgz
70 |
71 | # Yarn Integrity file
72 | .yarn-integrity
73 |
74 | # dotenv environment variables file
75 | .env
76 | .env.test
77 |
78 | # parcel-bundler cache (https://parceljs.org/)
79 | .cache
80 |
81 | # Next.js build output
82 | .next
83 |
84 | # Nuxt.js build / generate output
85 | .nuxt
86 | dist
87 |
88 | # Gatsby files
89 | .cache/
90 | # Comment in the public line in if your project uses Gatsby and *not* Next.js
91 | # https://nextjs.org/blog/next-9-1#public-directory-support
92 | # public
93 |
94 | # vuepress build output
95 | .vuepress/dist
96 |
97 | # Serverless directories
98 | .serverless/
99 |
100 | # FuseBox cache
101 | .fusebox/
102 |
103 | # DynamoDB Local files
104 | .dynamodb/
105 |
106 | # TernJS port file
107 | .tern-port
108 |
109 | # Docs ignores
110 | docs/dist
111 | docs/dist-ssr
112 | docs/*.local
113 | docs/pages/README.md
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .travis.yml
2 | prebuild.js
3 | src
4 | coverage
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - stable
4 | install:
5 | - npm install
6 | script:
7 | - npm run build
8 | - npm run test
9 | after_script:
10 | - COVERALLS_REPO_TOKEN=$COVERALLS_REPO_TOKEN npm run coveralls
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## Changelog
2 | Until this library makes it to a production release of v1.x, **minor versions may contain breaking changes to the API**. After v1.x, semantic versioning will be honored, and breaking changes will only occur under the umbrella of a major version bump.
3 |
4 |
5 | - **v2.4.1** - FIX: some users may have experiences peer dep issue with the new itty-router v5
6 | - **v2.4.0** - Added: this.id (getter), mapping to this.state.idFromName || this.state.id (original DO id)
7 | - **v2.3.0** - Added: this.deleteAlarm() to complete CF alarm API
8 | - **v2.0.0** - Updates to itty-router v4.x, and adds websocket support.
9 | - **v1.7.0** - adds websocket support by modifying internals. Non-breaking change.
10 | - **v0.2.0** - added export { proxyDurable(binding, class?) } to create a proxied durable stub from a binding (e.g. env.COUNTER), used internally in { withDurables() } middleware
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Kevin R. Whitley
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 
2 |
3 | [![npm package][npm-image]][npm-url]
4 | 
5 | [![Open Issues][issues-image]][issues-url]
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Simplifies usage of [Cloudflare Durable Objects](https://blog.cloudflare.com/introducing-workers-durable-objects/), allowing **lightweight object definitions** and **direct access** to object methods from within Workers (no need for request building/handling).
14 |
15 | ## Features
16 | - Removes nearly all boilerplate from writing **and** using Durable Objects.
17 | - Optional automatic non-blocking persistance layer
18 | - Optionally return contents from methods without explicit return (convenience feature)
19 | - Control how contents of object looks to outside requests
20 | - Control exactly what, if anything, is persisted
21 | - Already being used in production on high-availability/throughput apps like the [Retheme](http://retheme.org/) browser extension!
22 |
23 | ## Installation
24 | ```
25 | npm install itty-router itty-durable
26 | ```
27 |
28 | ## Example
29 | ##### Counter.js (your Durable Object class)
30 | ```js
31 | import { createDurable } from 'itty-durable'
32 |
33 | export class Counter extends createDurable({ autoReturn: true }) {
34 | constructor(state, env) {
35 | super(state, env)
36 |
37 | // anything defined here is only used for initialization (if not loaded from storage)
38 | this.counter = 0
39 | }
40 |
41 | // Because this function does not return anything, it will return the entire contents
42 | // Example: { counter: 1 }
43 | increment() {
44 | this.counter++
45 | }
46 |
47 | // Any explicit return will honored, despite the autoReturn flag.
48 | // Note that any serializable params can passed through from the Worker without issue.
49 | add(a, b) {
50 | return a + b
51 | }
52 | }
53 | ```
54 |
55 | ##### Worker.js (your CF Worker function)
56 | ```js
57 | import { ThrowableRouter, missing, withParams } from 'itty-router-extras'
58 | import { withDurables } from 'itty-durable'
59 |
60 | // export the durable class, per spec
61 | export { Counter } from './Counter'
62 |
63 | const router = ThrowableRouter({ base: '/counter' })
64 |
65 | router
66 | // add upstream middleware, allowing Durable access off the request
67 | .all('*', withDurables())
68 |
69 | // get the durable itself... returns json response, so no need to wrap
70 | .get('/', ({ Counter }) => Counter.get('test').toJSON())
71 |
72 | // By using { autoReturn: true } in createDurable(), this method returns the contents
73 | .get('/increment', ({ Counter }) => Counter.get('test').increment())
74 |
75 | // you can pass any serializable params to a method... (e.g. /counter/add/3/4 => 7)
76 | .get('/add/:a?/:b?', withParams,
77 | ({ Counter, a, b }) => Counter.get('test').add(Number(a), Number(b))
78 | )
79 |
80 | // reset the durable
81 | .get('/reset', ({ Counter }) => Counter.get('test').reset())
82 |
83 | // 404 for everything else
84 | .all('*', () => missing('Are you sure about that?'))
85 |
86 | // with itty, and using ES6 module syntax (required for DO), this is all you need
87 | export default {
88 | fetch: router.handle
89 | }
90 |
91 | /*
92 | Example Interactions:
93 |
94 | GET /counter => { counter: 0 }
95 | GET /counter/increment => { counter: 1 }
96 | GET /counter/increment => { counter: 2 }
97 | GET /counter/increment => { counter: 3 }
98 | GET /counter/reset => { counter: 0 }
99 | GET /counter/add/20/3 => 23
100 | */
101 | ```
102 |
103 | ## How it Works
104 | This library works via a two part process:
105 |
106 | 1. First of all, we create a base class for your Durable Objects to extend (through `createDurable()`). This embeds the persistance layer, a few convenience functions, and most importantly, a tiny internal [itty-router](https://www.npmjs.com/package/itty-router) to handle fetch requests. Using this removes the boilerplate from your objects themselves, allowing them to be **only** business logic.
107 |
108 | 2. Next, we expose the `withDurables()` middleware for use within your Workers (it is designed for drop-in use with [itty-router](https://www.npmjs.com/package/itty-router), but should work with virtually any typical Worker router). This embeds proxied stubs (translation: "magic stubs") into the Request. Using these stubs, you can call methods on the Durable Object directly, rather than manually creating fetch requests to do so (that's all handled internally, communicating with the embedded router within the Durable Objects themselves).
109 |
110 | ## Installation
111 |
112 | ```
113 | npm install itty-durable
114 | ```
115 |
116 | # API
117 |
118 | ### `createDurable(options?: object): class`
119 | Factory function to create the IttyDurable class (with options) for your Durable Object to extend.
120 |
121 | | Option | Type(s) | Default | Description |
122 | | --- | --- | --- | --- |
123 | | **autoPersist** | `boolean` | false | By default, all contents are stored in-memory only, and are cleared when the DO evacuates from memory (unless explicitly asked to persist). By setting this to `true`, each request to the DO through the stub will persist the contents automatically.
124 | | **autoReturn** | `boolean` | false | If set to `true`, methods without an explicit return will return the contents of the object itself (as controlled through the `toJSON()` method). This method is overridable for custom payload shaping.
125 |
126 | ### `withDurables(options?: object): function`
127 | Highly-recommended middleware to embed itty-durable stubs into the request. Using these stubs allows you to skip manually creating/sending requests or handling response parsing.
128 |
129 | | Option | Type(s) | Default | Description |
130 | | --- | --- | --- | --- |
131 | | **parse** | `boolean` | false | By default, the stub methods return a Promise to the Response from the Durable Object itself. This is great if you're just passing the response along and don't want to modify it. To take more control, setting this to `true` will instead return a Promise to the parsed JSON contents instead. To then respond to requests, you would have to handle building of a JSON Response yourself (e.g. `json()` within itty-router-extras).
132 |
133 | ---
134 |
135 | [twitter-image]:https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fitty-durable
136 | [logo-image]:https://user-images.githubusercontent.com/865416/114285361-2bd3e180-9a1c-11eb-8386-a2e9f4383d43.png
137 | [gzip-image]:https://img.shields.io/bundlephobia/minzip/itty-durable
138 | [gzip-url]:https://bundlephobia.com/result?p=itty-durable
139 | [issues-image]:https://img.shields.io/github/issues/kwhitley/itty-durable
140 | [issues-url]:https://github.com/kwhitley/itty-durable/issues
141 | [npm-image]:https://img.shields.io/npm/v/itty-durable.svg
142 | [npm-url]:http://npmjs.org/package/itty-durable
143 | [travis-image]:https://travis-ci.org/kwhitley/itty-durable.svg?branch=v0.x
144 | [travis-url]:https://travis-ci.org/kwhitley/itty-durable
145 | [david-image]:https://david-dm.org/kwhitley/itty-durable/status.svg
146 | [david-url]:https://david-dm.org/kwhitley/itty-durable
147 | [coveralls-image]:https://coveralls.io/repos/github/kwhitley/itty-durable/badge.svg?branch=v0.x
148 | [coveralls-url]:https://coveralls.io/github/kwhitley/itty-durable?branch=v0.x
149 |
150 | ## Special Thanks
151 | Big time thanks to all the fantastic developers on the Cloudflare Workers discord group, for their putting up with my constant questions, code snippets, and guiding me off the dangerous[ly flawed] path of async setters ;)
152 |
153 | ## Contributors
154 | Let's face it, in open source, these are the real heroes... improving the quality of libraries out there for everyone!
155 | - **README tweaks, fixes, improvements**: [@tomByrer](https://github.com/tomByrer)
156 |
--------------------------------------------------------------------------------
/docs/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kwhitley/itty-durable/ae1d126f3813e05cb48cb444c7a5de715e09d009/docs/favicon.png
--------------------------------------------------------------------------------
/docs/favicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
18 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Itty Router | tiny, zero-dependency router
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/docs/main.js:
--------------------------------------------------------------------------------
1 | import "./style.css";
2 |
3 | const logo = `
4 |
20 |
21 | `
22 |
23 | new Docute({
24 | target: "#app",
25 | detectSystemDarkTheme: true,
26 | darkThemeToggler: true,
27 | highlight: ["javascript", "json"],
28 | logo:
29 | `${logo} Itty Router`,
30 | nav: [
31 | {
32 | title: "Home",
33 | link: "/",
34 | },
35 | {
36 | title: "GitHub",
37 | link: "https://github.com/kwhitley/itty-router",
38 | },
39 | ],
40 | sidebar: [
41 | {
42 | title: "Getting Started",
43 | link: "/",
44 | },
45 | ],
46 | footer: `© ${new Date().getFullYear()}
47 | Kevin Whitley . Released under MIT license.`,
48 | cssVariables: (theme) => {
49 | const light = {
50 | pageBackground: "#fafafa",
51 | accentColor: '#e4009b',
52 | inlineCodeBackground: "#dbdbdb",
53 | inlineCodeColor: "#212121",
54 | };
55 |
56 | const dark = {
57 | accentColor: '#ff85d8'
58 | };
59 |
60 | return theme === "default" ? light : dark;
61 | },
62 | });
63 |
--------------------------------------------------------------------------------
/docs/pages/example.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello world!
--------------------------------------------------------------------------------
/docs/style.css:
--------------------------------------------------------------------------------
1 | .itty-logo {
2 | font-size: 1.6rem;
3 | display: flex;
4 | align-items: center;
5 | }
6 |
7 | .itty-logo svg {
8 | width: 24px;
9 | height: 24px;
10 | margin-right: 8px;
11 | }
--------------------------------------------------------------------------------
/examples/simple-counter/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 | /dist
12 |
13 | # misc
14 | .DS_Store
15 | .env
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | # security
22 | wrangler.toml
23 |
24 | npm-debug.log*
25 | yarn-debug.log*
26 | yarn-error.log*
27 | *.zip
28 |
--------------------------------------------------------------------------------
/examples/simple-counter/.wrangler/state/v3/do/itty-durable-simple-counter-Counter/d40e9dba971cfb1783256627c4159679eb852b950de2f31e6323d02d8e9434d6.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kwhitley/itty-durable/ae1d126f3813e05cb48cb444c7a5de715e09d009/examples/simple-counter/.wrangler/state/v3/do/itty-durable-simple-counter-Counter/d40e9dba971cfb1783256627c4159679eb852b950de2f31e6323d02d8e9434d6.sqlite
--------------------------------------------------------------------------------
/examples/simple-counter/README.md:
--------------------------------------------------------------------------------
1 | # itty-durable Example
2 |
3 | This is an example showing general usage of itty-durable (simplification of [Cloudflare Durable Objects](https://developers.cloudflare.com/workers/learning/using-durable-objects)). The only two files to note are [Counter.js](https://github.com/kwhitley/itty-durable-example/blob/master/Counter.js) (the Durable Object) and [index.js](https://github.com/kwhitley/itty-durable-example/blob/master/index.js) (the Worker index). Beyond that, you may notice some slight differences to the `wrangler.toml` file to support ES module builds (required for Durable objects), and a slightly different signature at the bottom of [index.js](https://github.com/kwhitley/itty-durable-example/blob/master/index.js). Hit me up on [Twitter @kevinrwhitley](https://twitter.com/kevinrwhitley) (or the Cloudflare workers discord, #durable-objects channel) with any questions!
4 |
5 | ### Getting started:
6 | 1. clone repo
7 | 2. `npm install`
8 | 3. rename `wrangler.toml.example` to `wrangler.toml` and inject your own endpoints/account/zone
9 | 4. `wrangler publish --new-class Counter` (first time publishing)
10 | 5. `wrangler publish` (subsequent times)
11 |
12 | ### Example endpoint usage (with output):
13 | ```js
14 | // GET https://example.com/counter/reset
15 | {
16 | "created": "2021-04-13T17:33:45.097Z",
17 | "counter": 0,
18 | "modified": "2021-04-13T19:31:15.668Z"
19 | }
20 |
21 | // GET https://example.com/counter/do-stuff
22 | // GET https://example.com/counter/do-stuff
23 | {
24 | "created": "2021-04-13T17:33:45.097Z",
25 | "counter": 6,
26 | "modified": "2021-04-13T19:31:52.770Z"
27 | }
28 |
29 | // GET https://example.com/counter/value
30 | 6
31 |
32 | // https://example.com/counter/parsed
33 | Counter value 6 last changed at 2021-04-13T19:31:52.770Z
34 |
35 | // GET https://example.com/counter/set/foo/bar
36 | {
37 | "counter": 6,
38 | "created": "2021-04-13T17:33:45.097Z",
39 | "modified": "2021-04-13T20:45:58.892Z",
40 | "foo": "bar"
41 | }
42 |
43 | // GET https://example.com/counter/increment
44 | {
45 | "counter": 7,
46 | "created": "2021-04-13T17:33:45.097Z",
47 | "modified": "2021-04-13T20:45:58.892Z",
48 | "foo": "bar"
49 | }
50 |
51 | // GET https://example.com/counter/add/40/2
52 | 42
53 | ```
54 |
--------------------------------------------------------------------------------
/examples/simple-counter/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "name": "itty-durable-example",
4 | "version": "0.1.0",
5 | "description": "Example repo for itty-durable",
6 | "scripts": {},
7 | "author": "Kevin Whitley ",
8 | "license": "MIT",
9 | "dependencies": {
10 | "itty-router": "^5.0.4"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/examples/simple-counter/src/Counter.js:
--------------------------------------------------------------------------------
1 | import { createDurable } from '../../../src' // from 'itty-durable'
2 |
3 | export class Counter extends createDurable({ autoReturn: true, autoPersist: true }) {
4 | constructor(state, env) {
5 | super(state, env)
6 | this.counter = 0
7 | }
8 |
9 | increment() {
10 | this.counter++
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/examples/simple-counter/src/index.js:
--------------------------------------------------------------------------------
1 | import {
2 | error,
3 | json,
4 | StatusError,
5 | text,
6 | AutoRouter,
7 | withParams,
8 | } from 'itty-router'
9 | import { withDurables } from '../../../src' // from 'itty-durable'
10 |
11 | // export durable object class, per spec
12 | export { Counter } from './Counter'
13 |
14 | // create a basic router
15 | const router = AutoRouter({
16 | before: [withDurables()],
17 | })
18 |
19 | router
20 | .get('/counter/:name', ({ Counter, name }) => Counter.get(name).toJSON())
21 | .get('/counter/:name/increment', ({ Counter, name }) => Counter.get(name).increment())
22 |
23 | // CF ES6 module syntax
24 | export default { ...router }
25 |
26 | /*
27 |
28 | Example Usage:
29 |
30 | GET simple-counter/reset --> { counter: 0 }
31 | GET simple-counter/increment --> { counter: 1 }
32 | GET simple-counter/do-stuff --> { counter: 4 }
33 | GET simple-counter/do-stuff --> { counter: 7 }
34 | GET simple-counter/set/foo/bar --> { counter: 7, foo: 'bar' }
35 | GET simple-counter/increment --> { counter: 8, foo: 'bar' }
36 | GET simple-counter/add/40/2 --> 42
37 |
38 | */
39 |
40 |
--------------------------------------------------------------------------------
/examples/simple-counter/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | itty-router@^5.0.4:
6 | version "5.0.4"
7 | resolved "https://registry.yarnpkg.com/itty-router/-/itty-router-5.0.4.tgz#d9e9397b43a1d11f3ea6c5af8abbf44d948fc382"
8 | integrity sha512-5YptFbHqxpnYnKitKPA5pfleq2HufZGcM/xWRSa4arMHdCLfiuJ276vQD3NGOuFPJEFqNlgKtgn9BKIMuImsjQ==
9 |
--------------------------------------------------------------------------------
/examples/websocket/Room.ts:
--------------------------------------------------------------------------------
1 | import { createDurable } from 'itty-durable'
2 |
3 | export class Room extends createDurable({ autoPersist: true }) {
4 | sockets: any[]
5 |
6 | constructor(state, env) {
7 | super(state, env)
8 |
9 | this.sockets = []
10 | }
11 |
12 | // CREATE NEW SOCKET
13 | connect() {
14 | const { sockets } = this
15 | const id = Math.random() // just a random id
16 | const [client, server] = Object.values(new WebSocketPair())
17 |
18 | server.accept() // immediately accept connection
19 |
20 | // if a client closes the connection, close it immediately
21 | server.addEventListener('close', () => {
22 | server.close()
23 | this.sockets = this.sockets.filter(s => s.id !== id)
24 | })
25 |
26 | // add socket.server to list of open sockets
27 | sockets.push({ id, server })
28 |
29 | // send a message to all connected sockets
30 | this.broadcast('A new connection has been established!')
31 |
32 | return new Response(null, { status: 101, webSocket: client })
33 | }
34 |
35 | broadcast(message: string) {
36 | // send a message to all open sockets
37 | for (const socket of this.sockets) {
38 | socket.send(message)
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/examples/websocket/index.ts:
--------------------------------------------------------------------------------
1 | import { Router } from 'itty-router'
2 | import { withDurables } from 'itty-durable'
3 | import { error, json, missing, status, withParams } from 'itty-router-extras'
4 |
5 | // export durable object class, per spec
6 | export * from './Room'
7 |
8 | const router = Router()
9 |
10 | router
11 | .all('*', withDurables())
12 |
13 | // GENERAL CLIENT-WORKER SOCKET EXAMPLE
14 | .get('/connect', (request) => {
15 | const [client, server] = Object.values(new WebSocketPair())
16 |
17 | server.accept()
18 |
19 | // if a client closes the connection, close it immediately
20 | server.addEventListener('close', () => {
21 | server.close()
22 | })
23 |
24 | // test the connection by sending a delayed message after 2 seconds
25 | setTimeout(() => {
26 | server.send('delayed message...')
27 | }, 2000)
28 |
29 | return new Response(null, { status: 101, websocket: client })
30 | })
31 |
32 | // CLIENT-WORKER-DO SOCKET EXAMPLE
33 | .get('/room/:id/connect', withParams,
34 | ({ id, Room }) => Room.get(id).connect()
35 | )
36 |
37 | // CF ES6 module syntax
38 | export default {
39 | fetch: (request, env, context) => router
40 | .handle(request, env, context)
41 | .catch((err) => error(err.status || 500, err.message))
42 | }
43 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'ts-jest',
3 | transform: {
4 | '^.+\\.(j|t)s?$': 'ts-jest',
5 | },
6 | transformIgnorePatterns: ['/node_modules/'],
7 | }
8 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "itty-durable",
3 | "description": "Simplified interface for Cloudflare Durable Objects",
4 | "version": "2.4.1",
5 | "main": "./index.js",
6 | "keywords": [
7 | "cloudflare",
8 | "workers",
9 | "durable objects"
10 | ],
11 | "scripts": {
12 | "lint": "npx eslint src",
13 | "test": "vitest run --coverage --reporter verbose",
14 | "verify": "echo 'verifying module...' && yarn build",
15 | "dev": "yarn lint && vitest src",
16 | "coverage": "vitest run --coverage",
17 | "prerelease": "yarn verify",
18 | "prebuild": "rimraf dist && yarn test",
19 | "build": "rm -fr dist/* && tsc -p tsconfig.json",
20 | "release": "release --tag --patch --push --src=dist"
21 | },
22 | "repository": {
23 | "type": "git",
24 | "url": "git+https://github.com/kwhitley/itty-durable.git"
25 | },
26 | "author": "Kevin R. Whitley ",
27 | "license": "MIT",
28 | "bugs": {
29 | "url": "https://github.com/kwhitley/itty-durable/issues",
30 | "email": "krwhitley@gmail.com"
31 | },
32 | "devDependencies": {
33 | "@cloudflare/workers-types": "^4.20230518.0",
34 | "@types/jest": "^29.5.2",
35 | "@vitest/coverage-c8": "^0.31.4",
36 | "coveralls": "^3.1.1",
37 | "eslint": "^8.41.0",
38 | "eslint-plugin-jest": "^27.2.1",
39 | "isomorphic-fetch": "^3.0.0",
40 | "jsdom": "^22.1.0",
41 | "rimraf": "^5.0.1",
42 | "typescript": "^5.0.4",
43 | "vitest": "^0.31.4",
44 | "yarn-release": "^1.10.5"
45 | },
46 | "peerDependencies": {
47 | "itty-router": "^5.0.4"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | ...require('./itty-durable'),
3 | ...require('./with-durables'),
4 | ...require('./proxy-durable'),
5 | }
6 |
--------------------------------------------------------------------------------
/src/itty-durable.js:
--------------------------------------------------------------------------------
1 | import {
2 | error,
3 | json,
4 | status,
5 | StatusError,
6 | Router,
7 | withParams,
8 | } from 'itty-router'
9 | import { proxyDurable } from './proxy-durable'
10 |
11 | // factory function for IttyDurable with custom options
12 | export const createDurable = (options = {}) => {
13 | const {
14 | autoPersist = false,
15 | autoReturn = false,
16 | onError = err => error(err.status || 500, err.message),
17 | } = options
18 |
19 | return class IttyDurable {
20 | constructor(state = {}, env = {}) {
21 | this.state = state
22 |
23 | Object.assign(this.state, {
24 | defaultState: undefined,
25 | initialized: false,
26 | router: Router(),
27 | env,
28 | ...env
29 | })
30 |
31 | // embed bindings into this.env
32 | for (const [key, binding] of Object.entries(env)) {
33 | this.state[key] = typeof binding.idFromName === 'function'
34 | ? proxyDurable(binding, { name: key, parse: true })
35 | : binding
36 | }
37 |
38 | // creates a proxy of this to return
39 | const proxied = new Proxy(this, {
40 | get: (obj, prop, receiver) => typeof obj[prop] === 'function'
41 | ? obj[prop].bind(receiver)
42 | : obj[prop],
43 |
44 | set: (obj, prop, value) => {
45 | obj[prop] = value
46 |
47 | return true
48 | }
49 | })
50 |
51 | // one router to rule them all
52 | this.state.router
53 | .get('/do/:action/:target', withParams,
54 | async (request, env) => {
55 | const { action, headers, target } = request
56 | const content = JSON.parse(headers.get('do-content') || '[]')
57 |
58 | if (action === 'call') {
59 | if (typeof this[target] !== 'function') {
60 | throw new StatusError(500, `Durable Object does not contain method ${target}()`)
61 | }
62 | const response = await proxied[target](...content)
63 |
64 | // return early if response detected
65 | if (response !== undefined) {
66 | return response instanceof Response
67 | ? response
68 | : json(response)
69 | }
70 | } else if (action === 'set') {
71 | proxied[target] = content
72 | } else if (action === 'get-prop') {
73 | return json(await proxied[target])
74 | }
75 | },
76 | proxied.optionallyReturnThis,
77 | () => status(204)
78 | )
79 |
80 | return proxied
81 | }
82 |
83 | // HELPER to allow DO to see it's own id, as called by the Worker
84 | get id() {
85 | return this.state.idFromName || this.state.id
86 | }
87 |
88 | // purge storage, and optionally reset internal memory state
89 | async destroy(options = {}) {
90 | const { reset = false } = options
91 |
92 | await this.state.storage.deleteAll()
93 |
94 | if (reset) {
95 | this.reset()
96 | }
97 |
98 | const destructionResponse = await this.onDestroy()
99 |
100 | // optionally return if onDestroy returns something
101 | if (destructionResponse) {
102 | return destructionResponse
103 | }
104 | }
105 |
106 | // ALARMS
107 | deleteAlarm() {
108 | return this.state.storage.deleteAlarm()
109 | }
110 | getAlarm() {
111 | return this.state.storage.getAlarm()
112 | }
113 | setAlarm(expiration) {
114 | return this.state.storage.setAlarm(expiration)
115 | }
116 |
117 | // fetch method is the expected interface method of Durable Objects per Cloudflare spec
118 | async fetch(request, ...args) {
119 | const { method, url, headers } = request
120 | const idFromName = request.headers.get('do-name')
121 | this.state.websocketRequest = request.headers.get('upgrade')?.toLowerCase() === 'websocket'
122 | this.state.request = request
123 |
124 | if (idFromName) {
125 | this.state.idFromName = idFromName
126 | }
127 |
128 | // save default state for reset
129 | if (!this.state.initialized) {
130 | this.state.defaultState = JSON.stringify(this.getPersistable())
131 | }
132 |
133 | // load initial state from storage (if found)
134 | await this.loadFromStorage()
135 |
136 | // we pass off the request to the internal router
137 | const response = await this.state.router
138 | .fetch(request, ...args)
139 | .catch(onError)
140 |
141 | // if persistOnChange is true, we persist on every response
142 | if (autoPersist) {
143 | this.persist()
144 | }
145 |
146 | // provide an escape hatch for things like Alarms
147 | if (!response && this.fetchFallback) {
148 | return this.fetchFallback()
149 | }
150 |
151 | // then return the response
152 | return response || error(400, 'Bad request to durable object')
153 | }
154 |
155 | // gets persistable state (defaults to all but itty data)
156 | getPersistable() {
157 | const { state, ...persistable } = this
158 |
159 | return persistable
160 | }
161 |
162 | block(callback) {
163 | return this.state.blockConcurrencyWhile(callback)
164 | }
165 |
166 | async loadFromStorage() {
167 | if (!this.state.initialized) {
168 | const stored = await this.state.storage.get('data') || {}
169 |
170 | Object.assign(this, stored)
171 |
172 | // then run afterInitialization lifecycle function
173 | await this.onLoad()
174 |
175 | this.state.initialized = true
176 | }
177 | }
178 |
179 | async onDestroy() {
180 | // fires after this.destroy() is called
181 | }
182 |
183 | async onLoad() {
184 | // fires after object is loaded from storage
185 | }
186 |
187 | // returns self from methods that fail to return if autoReturn flag is enabled
188 | optionallyReturnThis() {
189 | if (autoReturn) {
190 | return json(this.toJSON
191 | ? this.toJSON()
192 | : this)
193 | }
194 | }
195 |
196 | // persists to storage, override to control
197 | async persist() {
198 | const { state, ...persistable } = this.getPersistable()
199 |
200 | await this.state.storage.put('data', persistable)
201 | }
202 |
203 | // resets object to preserved default state
204 | async reset() {
205 | const { state, ...persistable } = this.getPersistable()
206 |
207 | for (const key in persistable) {
208 | Reflect.deleteProperty(this, key)
209 | }
210 |
211 | // reset to defaults from constructor
212 | Object.assign(this, JSON.parse(this.state.defaultState))
213 | }
214 |
215 | // defaults to returning all content
216 | toJSON() {
217 | const { state, ...other } = this
218 |
219 | return other
220 | }
221 | }
222 | }
223 |
--------------------------------------------------------------------------------
/src/itty-durable.spec.js:
--------------------------------------------------------------------------------
1 | require('isomorphic-fetch')
2 | import { describe, it, expect } from 'vitest'
3 | import { createDurable } from './itty-durable'
4 |
5 | describe('createDurable', () => {
6 | describe('works as base class factory function for Durable Object classes', () => {
7 | class Counter extends createDurable() {
8 | constructor(state, env) {
9 | super(state, env)
10 | this.counter = 0
11 | }
12 | }
13 |
14 | it('embeds this.router', () => {
15 | const counter = new Counter()
16 | expect(typeof counter.state.router.post).toBe('function')
17 | })
18 |
19 | it('instantiates normally (props from constructor)', () => {
20 | const counter = new Counter()
21 | expect(counter.counter).toBe(0)
22 | })
23 |
24 | describe('extends class with methods', () => {
25 | const counter = new Counter()
26 |
27 | const expectedMethods = [
28 | 'destroy',
29 | 'fetch',
30 | 'getPersistable',
31 | 'loadFromStorage',
32 | 'optionallyReturnThis',
33 | 'persist',
34 | 'reset',
35 | 'toJSON',
36 | ]
37 |
38 | for (const method of expectedMethods) {
39 | it(`extends class with method "${method}"`, () => {
40 | expect(typeof counter[method]).toBe('function')
41 | })
42 | }
43 | })
44 |
45 | describe('getPersistable()', () => {
46 | const counter = new Counter()
47 |
48 | it('by default, returns only user-embedded data', () => {
49 | expect(counter.getPersistable()).toEqual({ counter: 0 })
50 | })
51 |
52 | it('will catch new data added', () => {
53 | counter.foo = 'bar'
54 | expect(counter.getPersistable()).toEqual({ counter: 0, foo: 'bar' })
55 | })
56 |
57 | it('is overridable', () => {
58 | class CustomCounter extends createDurable() {
59 | constructor(state, env) {
60 | super(state, env)
61 | this.counter = 1
62 | this.hidden = 'secret'
63 | }
64 |
65 | getPersistable() {
66 | return this.counter
67 | }
68 | }
69 |
70 | const counter = new CustomCounter()
71 |
72 | expect(counter.getPersistable()).toEqual(1)
73 | })
74 | })
75 | })
76 | })
77 |
78 |
--------------------------------------------------------------------------------
/src/proxy-durable.js:
--------------------------------------------------------------------------------
1 | import { StatusError } from 'itty-router'
2 |
3 | const catchErrors = async response => {
4 | if (response.ok || response.status === 101) return response
5 |
6 | let body
7 |
8 | try {
9 | body = await response.json()
10 | } catch (err) {
11 | body = await response.text()
12 | }
13 |
14 | throw new StatusError(response.status, body?.error || body || response.statusText)
15 | }
16 |
17 | // helper function to parse response
18 | const transformResponse = async response => {
19 | const contentType = response.headers.get('content-type')
20 | let body
21 |
22 | try {
23 | if (contentType.includes('json')) {
24 | body = await response.json()
25 | } else if (contentType.includes('text')) {
26 | body = await response.text()
27 | }
28 |
29 | return body
30 | } catch (err) {}
31 |
32 | return response
33 | }
34 |
35 | // takes the durable (e.g. env.Counter) and returns an object with { get(id) } to fetch the proxied stub
36 | export const proxyDurable = (durable, middlewareOptions = {}) => {
37 | if (!durable || !durable.idFromName) {
38 | throw new StatusError(500, `${middlewareOptions.name || 'That'} is not a valid Durable Object binding.`)
39 | }
40 |
41 | return {
42 | get: (id, options = {}) => {
43 | options = { ...middlewareOptions, ...options }
44 |
45 | const headers = options.headers || {}
46 | // const originalHeaders = Object.fromEntries(options.request.headers)
47 |
48 | try {
49 | if (!id) id = durable.newUniqueId()
50 |
51 | if (typeof id === 'string') {
52 | const existingId = /^[0-9a-fA-F]{64}$/
53 | if (existingId.test(id)) {
54 | id = durable.idFromString(id)
55 | } else {
56 | headers['do-name'] = id
57 | id = durable.idFromName(id)
58 | }
59 | }
60 |
61 | const stub = durable.get(id)
62 | const mock = typeof options.class === 'function' && new options.class()
63 | const isValidMethod = prop => prop !== 'fetch' && (!mock || typeof mock[prop] === 'function')
64 |
65 | const buildRequest = (type, prop, content) =>
66 | new Request(`https://itty-durable/do/${type}/${prop}`, {
67 | headers: {
68 | ...headers,
69 | 'do-content': JSON.stringify(content),
70 | },
71 | })
72 |
73 | const stubFetch = (obj, type, prop, content) => {
74 | const theFetch = obj
75 | .fetch(buildRequest(type, prop, content))
76 | .then(catchErrors)
77 |
78 | return options.parse
79 | ? theFetch.then(transformResponse)
80 | : theFetch
81 | }
82 |
83 | return new Proxy(stub, {
84 | get: (obj, prop) => isValidMethod(prop)
85 | ? (...args) => stubFetch(obj, 'call', prop, args)
86 | : stubFetch(obj, 'get-prop', prop),
87 | set: (obj, prop, value) => stubFetch(obj, 'set', prop, value),
88 | })
89 | } catch (err) {
90 | throw new StatusError(500, err.message)
91 | }
92 | }
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/src/proxy-durable.spec.js:
--------------------------------------------------------------------------------
1 | require('isomorphic-fetch')
2 | import { describe, it, expect } from 'vitest'
3 | import { proxyDurable } from './proxy-durable'
4 |
5 | describe('proxyDurable(durable:object, options?:object)', () => {
6 | it('returns an object with .get(id)', () => {
7 | const proxied = proxyDurable({ idFromName: () => {} })
8 | expect(proxied).toHaveProperty('get')
9 | })
10 |
11 | it('throws if passed invalid durable object', () => {
12 | expect(() => { proxyDurable({}) }).toThrow()
13 | })
14 | })
15 |
--------------------------------------------------------------------------------
/src/with-durables.js:
--------------------------------------------------------------------------------
1 | import { StatusError } from 'itty-router'
2 | import { proxyDurable } from './proxy-durable'
3 |
4 | // returns true if binding appears to be a durable binding
5 | const isDurable = (binding) => typeof binding.idFromName === 'function'
6 |
7 | export const withDurables = (options = {}) => (request, env) => {
8 | const {
9 | parse = false,
10 | classes = {},
11 | } = options
12 | request.durables = request.durables || {}
13 |
14 | for (const [key, binding] of Object.entries(env)) {
15 | if (isDurable(binding)) {
16 | const proxied = proxyDurable(binding, {
17 | name: key,
18 | class: classes[key], // pass in class key by default,
19 | headers: Object.fromEntries(request.headers),
20 | env,
21 | parse,
22 | })
23 |
24 | try {
25 | request[key] = request.durables[key] = proxied
26 | } catch (err) {
27 | throw new StatusError(500, `Could not set Durable binding "${key}" on Request`)
28 | }
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowJs": true,
4 | "allowSyntheticDefaultImports": true,
5 | "baseUrl": "src",
6 | "declaration": true,
7 | "sourceMap": true,
8 | "esModuleInterop": true,
9 | "inlineSourceMap": false,
10 | "lib": ["esnext", "dom", "dom.iterable"],
11 | "listEmittedFiles": false,
12 | "listFiles": false,
13 | "moduleResolution": "node",
14 | "noFallthroughCasesInSwitch": true,
15 | "pretty": true,
16 | "resolveJsonModule": true,
17 | "rootDir": "src",
18 | "skipLibCheck": true,
19 | "strict": false,
20 | "traceResolution": false,
21 | "outDir": "dist",
22 | "target": "esnext",
23 | "module": "esnext",
24 | "types": ["@cloudflare/workers-types", "@types/node"]
25 | },
26 | "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/example.ts"],
27 | "include": ["src", "example"]
28 | }
29 |
--------------------------------------------------------------------------------
/vitest.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vitest/config'
2 |
3 | export default defineConfig({
4 | test: {
5 | include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
6 | coverage: {
7 | reporter: ['text', 'lcov'],
8 | },
9 | environment: 'jsdom',
10 | },
11 | })
12 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.2.1":
6 | version "2.2.1"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
8 | integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.3.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.12.13":
14 | version "7.21.4"
15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
16 | integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
17 | dependencies:
18 | "@babel/highlight" "^7.18.6"
19 |
20 | "@babel/helper-validator-identifier@^7.18.6":
21 | version "7.19.1"
22 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
23 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
24 |
25 | "@babel/highlight@^7.18.6":
26 | version "7.18.6"
27 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
28 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
29 | dependencies:
30 | "@babel/helper-validator-identifier" "^7.18.6"
31 | chalk "^2.0.0"
32 | js-tokens "^4.0.0"
33 |
34 | "@bcoe/v8-coverage@^0.2.3":
35 | version "0.2.3"
36 | resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
37 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
38 |
39 | "@cloudflare/workers-types@^4.20230518.0":
40 | version "4.20230518.0"
41 | resolved "https://registry.yarnpkg.com/@cloudflare/workers-types/-/workers-types-4.20230518.0.tgz#de1b0f71d68e2eac1b546542968ea2b837cb967e"
42 | integrity sha512-A0w1V+5SUawGaaPRlhFhSC/SCDT9oQG8TMoWOKFLA4qbqagELqEAFD4KySBIkeVOvCBLT1DZSYBMCxbXddl0kw==
43 |
44 | "@esbuild/android-arm64@0.17.19":
45 | version "0.17.19"
46 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd"
47 | integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==
48 |
49 | "@esbuild/android-arm@0.17.19":
50 | version "0.17.19"
51 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d"
52 | integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==
53 |
54 | "@esbuild/android-x64@0.17.19":
55 | version "0.17.19"
56 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1"
57 | integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==
58 |
59 | "@esbuild/darwin-arm64@0.17.19":
60 | version "0.17.19"
61 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276"
62 | integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==
63 |
64 | "@esbuild/darwin-x64@0.17.19":
65 | version "0.17.19"
66 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb"
67 | integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==
68 |
69 | "@esbuild/freebsd-arm64@0.17.19":
70 | version "0.17.19"
71 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2"
72 | integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==
73 |
74 | "@esbuild/freebsd-x64@0.17.19":
75 | version "0.17.19"
76 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4"
77 | integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==
78 |
79 | "@esbuild/linux-arm64@0.17.19":
80 | version "0.17.19"
81 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb"
82 | integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==
83 |
84 | "@esbuild/linux-arm@0.17.19":
85 | version "0.17.19"
86 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a"
87 | integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==
88 |
89 | "@esbuild/linux-ia32@0.17.19":
90 | version "0.17.19"
91 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a"
92 | integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==
93 |
94 | "@esbuild/linux-loong64@0.17.19":
95 | version "0.17.19"
96 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72"
97 | integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==
98 |
99 | "@esbuild/linux-mips64el@0.17.19":
100 | version "0.17.19"
101 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289"
102 | integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==
103 |
104 | "@esbuild/linux-ppc64@0.17.19":
105 | version "0.17.19"
106 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7"
107 | integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==
108 |
109 | "@esbuild/linux-riscv64@0.17.19":
110 | version "0.17.19"
111 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09"
112 | integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==
113 |
114 | "@esbuild/linux-s390x@0.17.19":
115 | version "0.17.19"
116 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829"
117 | integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==
118 |
119 | "@esbuild/linux-x64@0.17.19":
120 | version "0.17.19"
121 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4"
122 | integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==
123 |
124 | "@esbuild/netbsd-x64@0.17.19":
125 | version "0.17.19"
126 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462"
127 | integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==
128 |
129 | "@esbuild/openbsd-x64@0.17.19":
130 | version "0.17.19"
131 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691"
132 | integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==
133 |
134 | "@esbuild/sunos-x64@0.17.19":
135 | version "0.17.19"
136 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273"
137 | integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==
138 |
139 | "@esbuild/win32-arm64@0.17.19":
140 | version "0.17.19"
141 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f"
142 | integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==
143 |
144 | "@esbuild/win32-ia32@0.17.19":
145 | version "0.17.19"
146 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03"
147 | integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==
148 |
149 | "@esbuild/win32-x64@0.17.19":
150 | version "0.17.19"
151 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061"
152 | integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==
153 |
154 | "@eslint-community/eslint-utils@^4.2.0":
155 | version "4.4.0"
156 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
157 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
158 | dependencies:
159 | eslint-visitor-keys "^3.3.0"
160 |
161 | "@eslint-community/regexpp@^4.4.0":
162 | version "4.5.1"
163 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
164 | integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
165 |
166 | "@eslint/eslintrc@^2.0.3":
167 | version "2.0.3"
168 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331"
169 | integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==
170 | dependencies:
171 | ajv "^6.12.4"
172 | debug "^4.3.2"
173 | espree "^9.5.2"
174 | globals "^13.19.0"
175 | ignore "^5.2.0"
176 | import-fresh "^3.2.1"
177 | js-yaml "^4.1.0"
178 | minimatch "^3.1.2"
179 | strip-json-comments "^3.1.1"
180 |
181 | "@eslint/js@8.41.0":
182 | version "8.41.0"
183 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.41.0.tgz#080321c3b68253522f7646b55b577dd99d2950b3"
184 | integrity sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==
185 |
186 | "@humanwhocodes/config-array@^0.11.8":
187 | version "0.11.8"
188 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
189 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
190 | dependencies:
191 | "@humanwhocodes/object-schema" "^1.2.1"
192 | debug "^4.1.1"
193 | minimatch "^3.0.5"
194 |
195 | "@humanwhocodes/module-importer@^1.0.1":
196 | version "1.0.1"
197 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
198 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
199 |
200 | "@humanwhocodes/object-schema@^1.2.1":
201 | version "1.2.1"
202 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
203 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
204 |
205 | "@isaacs/cliui@^8.0.2":
206 | version "8.0.2"
207 | resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
208 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
209 | dependencies:
210 | string-width "^5.1.2"
211 | string-width-cjs "npm:string-width@^4.2.0"
212 | strip-ansi "^7.0.1"
213 | strip-ansi-cjs "npm:strip-ansi@^6.0.1"
214 | wrap-ansi "^8.1.0"
215 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
216 |
217 | "@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
218 | version "0.1.3"
219 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
220 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
221 |
222 | "@jest/expect-utils@^29.5.0":
223 | version "29.5.0"
224 | resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036"
225 | integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==
226 | dependencies:
227 | jest-get-type "^29.4.3"
228 |
229 | "@jest/schemas@^29.4.3":
230 | version "29.4.3"
231 | resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788"
232 | integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==
233 | dependencies:
234 | "@sinclair/typebox" "^0.25.16"
235 |
236 | "@jest/types@^29.5.0":
237 | version "29.5.0"
238 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593"
239 | integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==
240 | dependencies:
241 | "@jest/schemas" "^29.4.3"
242 | "@types/istanbul-lib-coverage" "^2.0.0"
243 | "@types/istanbul-reports" "^3.0.0"
244 | "@types/node" "*"
245 | "@types/yargs" "^17.0.8"
246 | chalk "^4.0.0"
247 |
248 | "@jridgewell/gen-mapping@^0.3.0":
249 | version "0.3.3"
250 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
251 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
252 | dependencies:
253 | "@jridgewell/set-array" "^1.0.1"
254 | "@jridgewell/sourcemap-codec" "^1.4.10"
255 | "@jridgewell/trace-mapping" "^0.3.9"
256 |
257 | "@jridgewell/resolve-uri@3.1.0":
258 | version "3.1.0"
259 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
260 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
261 |
262 | "@jridgewell/set-array@^1.0.1":
263 | version "1.1.2"
264 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
265 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
266 |
267 | "@jridgewell/sourcemap-codec@1.4.14":
268 | version "1.4.14"
269 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
270 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
271 |
272 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
273 | version "1.4.15"
274 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
275 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
276 |
277 | "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.9":
278 | version "0.3.18"
279 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
280 | integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
281 | dependencies:
282 | "@jridgewell/resolve-uri" "3.1.0"
283 | "@jridgewell/sourcemap-codec" "1.4.14"
284 |
285 | "@nodelib/fs.scandir@2.1.4":
286 | version "2.1.4"
287 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
288 | integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==
289 | dependencies:
290 | "@nodelib/fs.stat" "2.0.4"
291 | run-parallel "^1.1.9"
292 |
293 | "@nodelib/fs.scandir@2.1.5":
294 | version "2.1.5"
295 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
296 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
297 | dependencies:
298 | "@nodelib/fs.stat" "2.0.5"
299 | run-parallel "^1.1.9"
300 |
301 | "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2":
302 | version "2.0.4"
303 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655"
304 | integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==
305 |
306 | "@nodelib/fs.stat@2.0.5":
307 | version "2.0.5"
308 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
309 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
310 |
311 | "@nodelib/fs.walk@^1.2.3":
312 | version "1.2.6"
313 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063"
314 | integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==
315 | dependencies:
316 | "@nodelib/fs.scandir" "2.1.4"
317 | fastq "^1.6.0"
318 |
319 | "@nodelib/fs.walk@^1.2.8":
320 | version "1.2.8"
321 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
322 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
323 | dependencies:
324 | "@nodelib/fs.scandir" "2.1.5"
325 | fastq "^1.6.0"
326 |
327 | "@pkgjs/parseargs@^0.11.0":
328 | version "0.11.0"
329 | resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
330 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
331 |
332 | "@sinclair/typebox@^0.25.16":
333 | version "0.25.24"
334 | resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718"
335 | integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==
336 |
337 | "@tootallnate/once@2":
338 | version "2.0.0"
339 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
340 | integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
341 |
342 | "@types/chai-subset@^1.3.3":
343 | version "1.3.3"
344 | resolved "https://registry.yarnpkg.com/@types/chai-subset/-/chai-subset-1.3.3.tgz#97893814e92abd2c534de422cb377e0e0bdaac94"
345 | integrity sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==
346 | dependencies:
347 | "@types/chai" "*"
348 |
349 | "@types/chai@*", "@types/chai@^4.3.5":
350 | version "4.3.5"
351 | resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.5.tgz#ae69bcbb1bebb68c4ac0b11e9d8ed04526b3562b"
352 | integrity sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==
353 |
354 | "@types/color-name@^1.1.1":
355 | version "1.1.1"
356 | resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
357 | integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
358 |
359 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
360 | version "2.0.4"
361 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
362 | integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
363 |
364 | "@types/istanbul-lib-report@*":
365 | version "3.0.0"
366 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
367 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
368 | dependencies:
369 | "@types/istanbul-lib-coverage" "*"
370 |
371 | "@types/istanbul-reports@^3.0.0":
372 | version "3.0.1"
373 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
374 | integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
375 | dependencies:
376 | "@types/istanbul-lib-report" "*"
377 |
378 | "@types/jest@^29.5.2":
379 | version "29.5.2"
380 | resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b"
381 | integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==
382 | dependencies:
383 | expect "^29.0.0"
384 | pretty-format "^29.0.0"
385 |
386 | "@types/json-schema@^7.0.9":
387 | version "7.0.11"
388 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
389 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
390 |
391 | "@types/node@*":
392 | version "14.14.31"
393 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055"
394 | integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==
395 |
396 | "@types/stack-utils@^2.0.0":
397 | version "2.0.1"
398 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
399 | integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
400 |
401 | "@types/yargs-parser@*":
402 | version "21.0.0"
403 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
404 | integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
405 |
406 | "@types/yargs@^17.0.8":
407 | version "17.0.24"
408 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902"
409 | integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==
410 | dependencies:
411 | "@types/yargs-parser" "*"
412 |
413 | "@typescript-eslint/scope-manager@5.29.0":
414 | version "5.29.0"
415 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz#2a6a32e3416cb133e9af8dcf54bf077a916aeed3"
416 | integrity sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==
417 | dependencies:
418 | "@typescript-eslint/types" "5.29.0"
419 | "@typescript-eslint/visitor-keys" "5.29.0"
420 |
421 | "@typescript-eslint/types@5.29.0":
422 | version "5.29.0"
423 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.29.0.tgz#7861d3d288c031703b2d97bc113696b4d8c19aab"
424 | integrity sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==
425 |
426 | "@typescript-eslint/typescript-estree@5.29.0":
427 | version "5.29.0"
428 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz#e83d19aa7fd2e74616aab2f25dfbe4de4f0b5577"
429 | integrity sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==
430 | dependencies:
431 | "@typescript-eslint/types" "5.29.0"
432 | "@typescript-eslint/visitor-keys" "5.29.0"
433 | debug "^4.3.4"
434 | globby "^11.1.0"
435 | is-glob "^4.0.3"
436 | semver "^7.3.7"
437 | tsutils "^3.21.0"
438 |
439 | "@typescript-eslint/utils@^5.10.0":
440 | version "5.29.0"
441 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.29.0.tgz#775046effd5019667bd086bcf326acbe32cd0082"
442 | integrity sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==
443 | dependencies:
444 | "@types/json-schema" "^7.0.9"
445 | "@typescript-eslint/scope-manager" "5.29.0"
446 | "@typescript-eslint/types" "5.29.0"
447 | "@typescript-eslint/typescript-estree" "5.29.0"
448 | eslint-scope "^5.1.1"
449 | eslint-utils "^3.0.0"
450 |
451 | "@typescript-eslint/visitor-keys@5.29.0":
452 | version "5.29.0"
453 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz#7a4749fa7ef5160c44a451bf060ac1dc6dfb77ee"
454 | integrity sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==
455 | dependencies:
456 | "@typescript-eslint/types" "5.29.0"
457 | eslint-visitor-keys "^3.3.0"
458 |
459 | "@vitest/coverage-c8@^0.31.4":
460 | version "0.31.4"
461 | resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.31.4.tgz#5628e415fd9bea99ee12127e0524b9d267a33e17"
462 | integrity sha512-VPx368m4DTcpA/P0v3YdVxl4QOSh1DbUcXURLRvDShrIB5KxOgfzw4Bn2R8AhAe/GyiWW/FIsJ/OJdYXCCiC1w==
463 | dependencies:
464 | "@ampproject/remapping" "^2.2.1"
465 | c8 "^7.13.0"
466 | magic-string "^0.30.0"
467 | picocolors "^1.0.0"
468 | std-env "^3.3.2"
469 |
470 | "@vitest/expect@0.31.4":
471 | version "0.31.4"
472 | resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.31.4.tgz#115c517404488bf3cb6ce4ac411c40d8e86891b8"
473 | integrity sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==
474 | dependencies:
475 | "@vitest/spy" "0.31.4"
476 | "@vitest/utils" "0.31.4"
477 | chai "^4.3.7"
478 |
479 | "@vitest/runner@0.31.4":
480 | version "0.31.4"
481 | resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.31.4.tgz#e99abee89132a500d9726a53b58dfc9160db1078"
482 | integrity sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==
483 | dependencies:
484 | "@vitest/utils" "0.31.4"
485 | concordance "^5.0.4"
486 | p-limit "^4.0.0"
487 | pathe "^1.1.0"
488 |
489 | "@vitest/snapshot@0.31.4":
490 | version "0.31.4"
491 | resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-0.31.4.tgz#59a42046fec4950a1ac70cf0ec64aada3b995559"
492 | integrity sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA==
493 | dependencies:
494 | magic-string "^0.30.0"
495 | pathe "^1.1.0"
496 | pretty-format "^27.5.1"
497 |
498 | "@vitest/spy@0.31.4":
499 | version "0.31.4"
500 | resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.31.4.tgz#fce8e348cea32deff79996d116c67893b19cc47d"
501 | integrity sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag==
502 | dependencies:
503 | tinyspy "^2.1.0"
504 |
505 | "@vitest/utils@0.31.4":
506 | version "0.31.4"
507 | resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.31.4.tgz#5cfdcecfd604a7dbe3972cfe0f2b1e0af1246ad2"
508 | integrity sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ==
509 | dependencies:
510 | concordance "^5.0.4"
511 | loupe "^2.3.6"
512 | pretty-format "^27.5.1"
513 |
514 | abab@^2.0.6:
515 | version "2.0.6"
516 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
517 | integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
518 |
519 | acorn-jsx@^5.3.2:
520 | version "5.3.2"
521 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
522 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
523 |
524 | acorn-walk@^8.2.0:
525 | version "8.2.0"
526 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
527 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
528 |
529 | acorn@^8.8.0, acorn@^8.8.2:
530 | version "8.8.2"
531 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
532 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
533 |
534 | agent-base@6:
535 | version "6.0.2"
536 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
537 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
538 | dependencies:
539 | debug "4"
540 |
541 | ajv@^6.10.0:
542 | version "6.12.2"
543 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
544 | integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
545 | dependencies:
546 | fast-deep-equal "^3.1.1"
547 | fast-json-stable-stringify "^2.0.0"
548 | json-schema-traverse "^0.4.1"
549 | uri-js "^4.2.2"
550 |
551 | ajv@^6.12.4:
552 | version "6.12.6"
553 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
554 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
555 | dependencies:
556 | fast-deep-equal "^3.1.1"
557 | fast-json-stable-stringify "^2.0.0"
558 | json-schema-traverse "^0.4.1"
559 | uri-js "^4.2.2"
560 |
561 | ajv@^6.5.5:
562 | version "6.12.0"
563 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7"
564 | integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==
565 | dependencies:
566 | fast-deep-equal "^3.1.1"
567 | fast-json-stable-stringify "^2.0.0"
568 | json-schema-traverse "^0.4.1"
569 | uri-js "^4.2.2"
570 |
571 | ansi-escapes@^4.2.1:
572 | version "4.3.1"
573 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
574 | integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
575 | dependencies:
576 | type-fest "^0.11.0"
577 |
578 | ansi-regex@^5.0.0:
579 | version "5.0.0"
580 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
581 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
582 |
583 | ansi-regex@^5.0.1:
584 | version "5.0.1"
585 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
586 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
587 |
588 | ansi-regex@^6.0.1:
589 | version "6.0.1"
590 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
591 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
592 |
593 | ansi-styles@^3.2.1:
594 | version "3.2.1"
595 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
596 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
597 | dependencies:
598 | color-convert "^1.9.0"
599 |
600 | ansi-styles@^4.0.0:
601 | version "4.3.0"
602 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
603 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
604 | dependencies:
605 | color-convert "^2.0.1"
606 |
607 | ansi-styles@^4.1.0:
608 | version "4.2.1"
609 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
610 | integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
611 | dependencies:
612 | "@types/color-name" "^1.1.1"
613 | color-convert "^2.0.1"
614 |
615 | ansi-styles@^5.0.0:
616 | version "5.2.0"
617 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
618 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
619 |
620 | ansi-styles@^6.1.0:
621 | version "6.2.1"
622 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
623 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
624 |
625 | argparse@^1.0.7:
626 | version "1.0.10"
627 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
628 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
629 | dependencies:
630 | sprintf-js "~1.0.2"
631 |
632 | argparse@^2.0.1:
633 | version "2.0.1"
634 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
635 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
636 |
637 | array-union@^2.1.0:
638 | version "2.1.0"
639 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
640 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
641 |
642 | asn1@~0.2.3:
643 | version "0.2.4"
644 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
645 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
646 | dependencies:
647 | safer-buffer "~2.1.0"
648 |
649 | assert-plus@1.0.0, assert-plus@^1.0.0:
650 | version "1.0.0"
651 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
652 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
653 |
654 | assertion-error@^1.1.0:
655 | version "1.1.0"
656 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
657 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
658 |
659 | asynckit@^0.4.0:
660 | version "0.4.0"
661 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
662 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
663 |
664 | at-least-node@^1.0.0:
665 | version "1.0.0"
666 | resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
667 | integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
668 |
669 | aws-sign2@~0.7.0:
670 | version "0.7.0"
671 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
672 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
673 |
674 | aws4@^1.8.0:
675 | version "1.9.1"
676 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
677 | integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
678 |
679 | balanced-match@^1.0.0:
680 | version "1.0.0"
681 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
682 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
683 |
684 | bcrypt-pbkdf@^1.0.0:
685 | version "1.0.2"
686 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
687 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
688 | dependencies:
689 | tweetnacl "^0.14.3"
690 |
691 | bluebird@^3.7.2:
692 | version "3.7.2"
693 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
694 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
695 |
696 | blueimp-md5@^2.10.0:
697 | version "2.19.0"
698 | resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0"
699 | integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==
700 |
701 | brace-expansion@^1.1.7:
702 | version "1.1.11"
703 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
704 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
705 | dependencies:
706 | balanced-match "^1.0.0"
707 | concat-map "0.0.1"
708 |
709 | brace-expansion@^2.0.1:
710 | version "2.0.1"
711 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
712 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
713 | dependencies:
714 | balanced-match "^1.0.0"
715 |
716 | braces@^3.0.2:
717 | version "3.0.2"
718 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
719 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
720 | dependencies:
721 | fill-range "^7.0.1"
722 |
723 | c8@^7.13.0:
724 | version "7.14.0"
725 | resolved "https://registry.yarnpkg.com/c8/-/c8-7.14.0.tgz#f368184c73b125a80565e9ab2396ff0be4d732f3"
726 | integrity sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==
727 | dependencies:
728 | "@bcoe/v8-coverage" "^0.2.3"
729 | "@istanbuljs/schema" "^0.1.3"
730 | find-up "^5.0.0"
731 | foreground-child "^2.0.0"
732 | istanbul-lib-coverage "^3.2.0"
733 | istanbul-lib-report "^3.0.0"
734 | istanbul-reports "^3.1.4"
735 | rimraf "^3.0.2"
736 | test-exclude "^6.0.0"
737 | v8-to-istanbul "^9.0.0"
738 | yargs "^16.2.0"
739 | yargs-parser "^20.2.9"
740 |
741 | cac@^6.7.14:
742 | version "6.7.14"
743 | resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959"
744 | integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==
745 |
746 | callsites@^3.0.0:
747 | version "3.1.0"
748 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
749 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
750 |
751 | caseless@~0.12.0:
752 | version "0.12.0"
753 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
754 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
755 |
756 | chai@^4.3.7:
757 | version "4.3.7"
758 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51"
759 | integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==
760 | dependencies:
761 | assertion-error "^1.1.0"
762 | check-error "^1.0.2"
763 | deep-eql "^4.1.2"
764 | get-func-name "^2.0.0"
765 | loupe "^2.3.1"
766 | pathval "^1.1.1"
767 | type-detect "^4.0.5"
768 |
769 | chalk@^2.0.0:
770 | version "2.4.2"
771 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
772 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
773 | dependencies:
774 | ansi-styles "^3.2.1"
775 | escape-string-regexp "^1.0.5"
776 | supports-color "^5.3.0"
777 |
778 | chalk@^4.0.0:
779 | version "4.0.0"
780 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
781 | integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==
782 | dependencies:
783 | ansi-styles "^4.1.0"
784 | supports-color "^7.1.0"
785 |
786 | chalk@^4.1.0:
787 | version "4.1.0"
788 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
789 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
790 | dependencies:
791 | ansi-styles "^4.1.0"
792 | supports-color "^7.1.0"
793 |
794 | chardet@^0.7.0:
795 | version "0.7.0"
796 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
797 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
798 |
799 | check-error@^1.0.2:
800 | version "1.0.2"
801 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
802 | integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==
803 |
804 | ci-info@^3.2.0:
805 | version "3.8.0"
806 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
807 | integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
808 |
809 | cli-cursor@^3.1.0:
810 | version "3.1.0"
811 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
812 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
813 | dependencies:
814 | restore-cursor "^3.1.0"
815 |
816 | cli-width@^3.0.0:
817 | version "3.0.0"
818 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
819 | integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
820 |
821 | cliui@^7.0.2:
822 | version "7.0.4"
823 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
824 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
825 | dependencies:
826 | string-width "^4.2.0"
827 | strip-ansi "^6.0.0"
828 | wrap-ansi "^7.0.0"
829 |
830 | color-convert@^1.9.0:
831 | version "1.9.3"
832 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
833 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
834 | dependencies:
835 | color-name "1.1.3"
836 |
837 | color-convert@^2.0.1:
838 | version "2.0.1"
839 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
840 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
841 | dependencies:
842 | color-name "~1.1.4"
843 |
844 | color-name@1.1.3:
845 | version "1.1.3"
846 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
847 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
848 |
849 | color-name@~1.1.4:
850 | version "1.1.4"
851 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
852 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
853 |
854 | combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
855 | version "1.0.8"
856 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
857 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
858 | dependencies:
859 | delayed-stream "~1.0.0"
860 |
861 | commander@^7.1.0:
862 | version "7.1.0"
863 | resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff"
864 | integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==
865 |
866 | concat-map@0.0.1:
867 | version "0.0.1"
868 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
869 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
870 |
871 | concordance@^5.0.4:
872 | version "5.0.4"
873 | resolved "https://registry.yarnpkg.com/concordance/-/concordance-5.0.4.tgz#9896073261adced72f88d60e4d56f8efc4bbbbd2"
874 | integrity sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==
875 | dependencies:
876 | date-time "^3.1.0"
877 | esutils "^2.0.3"
878 | fast-diff "^1.2.0"
879 | js-string-escape "^1.0.1"
880 | lodash "^4.17.15"
881 | md5-hex "^3.0.1"
882 | semver "^7.3.2"
883 | well-known-symbols "^2.0.0"
884 |
885 | convert-source-map@^1.6.0:
886 | version "1.9.0"
887 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
888 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
889 |
890 | core-util-is@1.0.2:
891 | version "1.0.2"
892 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
893 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
894 |
895 | coveralls@^3.1.1:
896 | version "3.1.1"
897 | resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.1.1.tgz#f5d4431d8b5ae69c5079c8f8ca00d64ac77cf081"
898 | integrity sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==
899 | dependencies:
900 | js-yaml "^3.13.1"
901 | lcov-parse "^1.0.0"
902 | log-driver "^1.2.7"
903 | minimist "^1.2.5"
904 | request "^2.88.2"
905 |
906 | cross-spawn@^7.0.0, cross-spawn@^7.0.2:
907 | version "7.0.3"
908 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
909 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
910 | dependencies:
911 | path-key "^3.1.0"
912 | shebang-command "^2.0.0"
913 | which "^2.0.1"
914 |
915 | cssstyle@^3.0.0:
916 | version "3.0.0"
917 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-3.0.0.tgz#17ca9c87d26eac764bb8cfd00583cff21ce0277a"
918 | integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==
919 | dependencies:
920 | rrweb-cssom "^0.6.0"
921 |
922 | dashdash@^1.12.0:
923 | version "1.14.1"
924 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
925 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
926 | dependencies:
927 | assert-plus "^1.0.0"
928 |
929 | data-urls@^4.0.0:
930 | version "4.0.0"
931 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4"
932 | integrity sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==
933 | dependencies:
934 | abab "^2.0.6"
935 | whatwg-mimetype "^3.0.0"
936 | whatwg-url "^12.0.0"
937 |
938 | date-time@^3.1.0:
939 | version "3.1.0"
940 | resolved "https://registry.yarnpkg.com/date-time/-/date-time-3.1.0.tgz#0d1e934d170579f481ed8df1e2b8ff70ee845e1e"
941 | integrity sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==
942 | dependencies:
943 | time-zone "^1.0.0"
944 |
945 | debug@4, debug@^4.3.2, debug@^4.3.4:
946 | version "4.3.4"
947 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
948 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
949 | dependencies:
950 | ms "2.1.2"
951 |
952 | debug@^4.1.1:
953 | version "4.1.1"
954 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
955 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
956 | dependencies:
957 | ms "^2.1.1"
958 |
959 | decimal.js@^10.4.3:
960 | version "10.4.3"
961 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
962 | integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
963 |
964 | deep-eql@^4.1.2:
965 | version "4.1.3"
966 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d"
967 | integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==
968 | dependencies:
969 | type-detect "^4.0.0"
970 |
971 | deep-is@^0.1.3:
972 | version "0.1.3"
973 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
974 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
975 |
976 | delayed-stream@~1.0.0:
977 | version "1.0.0"
978 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
979 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
980 |
981 | diff-sequences@^29.4.3:
982 | version "29.4.3"
983 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2"
984 | integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==
985 |
986 | dir-glob@^3.0.1:
987 | version "3.0.1"
988 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
989 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
990 | dependencies:
991 | path-type "^4.0.0"
992 |
993 | doctrine@^3.0.0:
994 | version "3.0.0"
995 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
996 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
997 | dependencies:
998 | esutils "^2.0.2"
999 |
1000 | domexception@^4.0.0:
1001 | version "4.0.0"
1002 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673"
1003 | integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==
1004 | dependencies:
1005 | webidl-conversions "^7.0.0"
1006 |
1007 | eastasianwidth@^0.2.0:
1008 | version "0.2.0"
1009 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
1010 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
1011 |
1012 | ecc-jsbn@~0.1.1:
1013 | version "0.1.2"
1014 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
1015 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
1016 | dependencies:
1017 | jsbn "~0.1.0"
1018 | safer-buffer "^2.1.0"
1019 |
1020 | emoji-regex@^8.0.0:
1021 | version "8.0.0"
1022 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
1023 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
1024 |
1025 | emoji-regex@^9.2.2:
1026 | version "9.2.2"
1027 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
1028 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
1029 |
1030 | entities@^4.4.0:
1031 | version "4.5.0"
1032 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
1033 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
1034 |
1035 | esbuild@^0.17.5:
1036 | version "0.17.19"
1037 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955"
1038 | integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==
1039 | optionalDependencies:
1040 | "@esbuild/android-arm" "0.17.19"
1041 | "@esbuild/android-arm64" "0.17.19"
1042 | "@esbuild/android-x64" "0.17.19"
1043 | "@esbuild/darwin-arm64" "0.17.19"
1044 | "@esbuild/darwin-x64" "0.17.19"
1045 | "@esbuild/freebsd-arm64" "0.17.19"
1046 | "@esbuild/freebsd-x64" "0.17.19"
1047 | "@esbuild/linux-arm" "0.17.19"
1048 | "@esbuild/linux-arm64" "0.17.19"
1049 | "@esbuild/linux-ia32" "0.17.19"
1050 | "@esbuild/linux-loong64" "0.17.19"
1051 | "@esbuild/linux-mips64el" "0.17.19"
1052 | "@esbuild/linux-ppc64" "0.17.19"
1053 | "@esbuild/linux-riscv64" "0.17.19"
1054 | "@esbuild/linux-s390x" "0.17.19"
1055 | "@esbuild/linux-x64" "0.17.19"
1056 | "@esbuild/netbsd-x64" "0.17.19"
1057 | "@esbuild/openbsd-x64" "0.17.19"
1058 | "@esbuild/sunos-x64" "0.17.19"
1059 | "@esbuild/win32-arm64" "0.17.19"
1060 | "@esbuild/win32-ia32" "0.17.19"
1061 | "@esbuild/win32-x64" "0.17.19"
1062 |
1063 | escalade@^3.1.1:
1064 | version "3.1.1"
1065 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
1066 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
1067 |
1068 | escape-string-regexp@^1.0.5:
1069 | version "1.0.5"
1070 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1071 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
1072 |
1073 | escape-string-regexp@^2.0.0:
1074 | version "2.0.0"
1075 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
1076 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
1077 |
1078 | escape-string-regexp@^4.0.0:
1079 | version "4.0.0"
1080 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
1081 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
1082 |
1083 | eslint-plugin-jest@^27.2.1:
1084 | version "27.2.1"
1085 | resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz#b85b4adf41c682ea29f1f01c8b11ccc39b5c672c"
1086 | integrity sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==
1087 | dependencies:
1088 | "@typescript-eslint/utils" "^5.10.0"
1089 |
1090 | eslint-scope@^5.1.1:
1091 | version "5.1.1"
1092 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
1093 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
1094 | dependencies:
1095 | esrecurse "^4.3.0"
1096 | estraverse "^4.1.1"
1097 |
1098 | eslint-scope@^7.2.0:
1099 | version "7.2.0"
1100 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
1101 | integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
1102 | dependencies:
1103 | esrecurse "^4.3.0"
1104 | estraverse "^5.2.0"
1105 |
1106 | eslint-utils@^3.0.0:
1107 | version "3.0.0"
1108 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
1109 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
1110 | dependencies:
1111 | eslint-visitor-keys "^2.0.0"
1112 |
1113 | eslint-visitor-keys@^2.0.0:
1114 | version "2.0.0"
1115 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
1116 | integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
1117 |
1118 | eslint-visitor-keys@^3.3.0:
1119 | version "3.3.0"
1120 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
1121 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
1122 |
1123 | eslint-visitor-keys@^3.4.1:
1124 | version "3.4.1"
1125 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
1126 | integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
1127 |
1128 | eslint@^8.41.0:
1129 | version "8.41.0"
1130 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.41.0.tgz#3062ca73363b4714b16dbc1e60f035e6134b6f1c"
1131 | integrity sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==
1132 | dependencies:
1133 | "@eslint-community/eslint-utils" "^4.2.0"
1134 | "@eslint-community/regexpp" "^4.4.0"
1135 | "@eslint/eslintrc" "^2.0.3"
1136 | "@eslint/js" "8.41.0"
1137 | "@humanwhocodes/config-array" "^0.11.8"
1138 | "@humanwhocodes/module-importer" "^1.0.1"
1139 | "@nodelib/fs.walk" "^1.2.8"
1140 | ajv "^6.10.0"
1141 | chalk "^4.0.0"
1142 | cross-spawn "^7.0.2"
1143 | debug "^4.3.2"
1144 | doctrine "^3.0.0"
1145 | escape-string-regexp "^4.0.0"
1146 | eslint-scope "^7.2.0"
1147 | eslint-visitor-keys "^3.4.1"
1148 | espree "^9.5.2"
1149 | esquery "^1.4.2"
1150 | esutils "^2.0.2"
1151 | fast-deep-equal "^3.1.3"
1152 | file-entry-cache "^6.0.1"
1153 | find-up "^5.0.0"
1154 | glob-parent "^6.0.2"
1155 | globals "^13.19.0"
1156 | graphemer "^1.4.0"
1157 | ignore "^5.2.0"
1158 | import-fresh "^3.0.0"
1159 | imurmurhash "^0.1.4"
1160 | is-glob "^4.0.0"
1161 | is-path-inside "^3.0.3"
1162 | js-yaml "^4.1.0"
1163 | json-stable-stringify-without-jsonify "^1.0.1"
1164 | levn "^0.4.1"
1165 | lodash.merge "^4.6.2"
1166 | minimatch "^3.1.2"
1167 | natural-compare "^1.4.0"
1168 | optionator "^0.9.1"
1169 | strip-ansi "^6.0.1"
1170 | strip-json-comments "^3.1.0"
1171 | text-table "^0.2.0"
1172 |
1173 | espree@^9.5.2:
1174 | version "9.5.2"
1175 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b"
1176 | integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==
1177 | dependencies:
1178 | acorn "^8.8.0"
1179 | acorn-jsx "^5.3.2"
1180 | eslint-visitor-keys "^3.4.1"
1181 |
1182 | esprima@^4.0.0:
1183 | version "4.0.1"
1184 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
1185 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
1186 |
1187 | esquery@^1.4.2:
1188 | version "1.5.0"
1189 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
1190 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
1191 | dependencies:
1192 | estraverse "^5.1.0"
1193 |
1194 | esrecurse@^4.3.0:
1195 | version "4.3.0"
1196 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
1197 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
1198 | dependencies:
1199 | estraverse "^5.2.0"
1200 |
1201 | estraverse@^4.1.1:
1202 | version "4.3.0"
1203 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
1204 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
1205 |
1206 | estraverse@^5.1.0:
1207 | version "5.1.0"
1208 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
1209 | integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
1210 |
1211 | estraverse@^5.2.0:
1212 | version "5.2.0"
1213 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
1214 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
1215 |
1216 | esutils@^2.0.2, esutils@^2.0.3:
1217 | version "2.0.3"
1218 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1219 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1220 |
1221 | expect@^29.0.0:
1222 | version "29.5.0"
1223 | resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7"
1224 | integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==
1225 | dependencies:
1226 | "@jest/expect-utils" "^29.5.0"
1227 | jest-get-type "^29.4.3"
1228 | jest-matcher-utils "^29.5.0"
1229 | jest-message-util "^29.5.0"
1230 | jest-util "^29.5.0"
1231 |
1232 | extend@~3.0.2:
1233 | version "3.0.2"
1234 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
1235 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
1236 |
1237 | external-editor@^3.0.3:
1238 | version "3.1.0"
1239 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
1240 | integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
1241 | dependencies:
1242 | chardet "^0.7.0"
1243 | iconv-lite "^0.4.24"
1244 | tmp "^0.0.33"
1245 |
1246 | extsprintf@1.3.0:
1247 | version "1.3.0"
1248 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
1249 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
1250 |
1251 | extsprintf@^1.2.0:
1252 | version "1.4.0"
1253 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
1254 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
1255 |
1256 | fast-deep-equal@^3.1.1:
1257 | version "3.1.1"
1258 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
1259 | integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
1260 |
1261 | fast-deep-equal@^3.1.3:
1262 | version "3.1.3"
1263 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
1264 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
1265 |
1266 | fast-diff@^1.2.0:
1267 | version "1.3.0"
1268 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
1269 | integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
1270 |
1271 | fast-glob@^3.2.9:
1272 | version "3.2.11"
1273 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
1274 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
1275 | dependencies:
1276 | "@nodelib/fs.stat" "^2.0.2"
1277 | "@nodelib/fs.walk" "^1.2.3"
1278 | glob-parent "^5.1.2"
1279 | merge2 "^1.3.0"
1280 | micromatch "^4.0.4"
1281 |
1282 | fast-json-stable-stringify@^2.0.0:
1283 | version "2.1.0"
1284 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
1285 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
1286 |
1287 | fast-levenshtein@^2.0.6:
1288 | version "2.0.6"
1289 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1290 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
1291 |
1292 | fastq@^1.6.0:
1293 | version "1.10.1"
1294 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.1.tgz#8b8f2ac8bf3632d67afcd65dac248d5fdc45385e"
1295 | integrity sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==
1296 | dependencies:
1297 | reusify "^1.0.4"
1298 |
1299 | figures@^3.0.0:
1300 | version "3.2.0"
1301 | resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
1302 | integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
1303 | dependencies:
1304 | escape-string-regexp "^1.0.5"
1305 |
1306 | file-entry-cache@^6.0.1:
1307 | version "6.0.1"
1308 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
1309 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
1310 | dependencies:
1311 | flat-cache "^3.0.4"
1312 |
1313 | fill-range@^7.0.1:
1314 | version "7.0.1"
1315 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
1316 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
1317 | dependencies:
1318 | to-regex-range "^5.0.1"
1319 |
1320 | find-up@^5.0.0:
1321 | version "5.0.0"
1322 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
1323 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
1324 | dependencies:
1325 | locate-path "^6.0.0"
1326 | path-exists "^4.0.0"
1327 |
1328 | flat-cache@^3.0.4:
1329 | version "3.0.4"
1330 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
1331 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
1332 | dependencies:
1333 | flatted "^3.1.0"
1334 | rimraf "^3.0.2"
1335 |
1336 | flatted@^3.1.0:
1337 | version "3.1.1"
1338 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
1339 | integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
1340 |
1341 | foreground-child@^2.0.0:
1342 | version "2.0.0"
1343 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53"
1344 | integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==
1345 | dependencies:
1346 | cross-spawn "^7.0.0"
1347 | signal-exit "^3.0.2"
1348 |
1349 | foreground-child@^3.1.0:
1350 | version "3.1.1"
1351 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
1352 | integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==
1353 | dependencies:
1354 | cross-spawn "^7.0.0"
1355 | signal-exit "^4.0.1"
1356 |
1357 | forever-agent@~0.6.1:
1358 | version "0.6.1"
1359 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1360 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
1361 |
1362 | form-data@^4.0.0:
1363 | version "4.0.0"
1364 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
1365 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
1366 | dependencies:
1367 | asynckit "^0.4.0"
1368 | combined-stream "^1.0.8"
1369 | mime-types "^2.1.12"
1370 |
1371 | form-data@~2.3.2:
1372 | version "2.3.3"
1373 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
1374 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
1375 | dependencies:
1376 | asynckit "^0.4.0"
1377 | combined-stream "^1.0.6"
1378 | mime-types "^2.1.12"
1379 |
1380 | fs-extra@^9.1.0:
1381 | version "9.1.0"
1382 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
1383 | integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
1384 | dependencies:
1385 | at-least-node "^1.0.0"
1386 | graceful-fs "^4.2.0"
1387 | jsonfile "^6.0.1"
1388 | universalify "^2.0.0"
1389 |
1390 | fs.realpath@^1.0.0:
1391 | version "1.0.0"
1392 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1393 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1394 |
1395 | fsevents@~2.3.2:
1396 | version "2.3.2"
1397 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1398 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1399 |
1400 | get-caller-file@^2.0.5:
1401 | version "2.0.5"
1402 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1403 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
1404 |
1405 | get-func-name@^2.0.0:
1406 | version "2.0.0"
1407 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
1408 | integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==
1409 |
1410 | getpass@^0.1.1:
1411 | version "0.1.7"
1412 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
1413 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
1414 | dependencies:
1415 | assert-plus "^1.0.0"
1416 |
1417 | glob-parent@^5.1.2:
1418 | version "5.1.2"
1419 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1420 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1421 | dependencies:
1422 | is-glob "^4.0.1"
1423 |
1424 | glob-parent@^6.0.2:
1425 | version "6.0.2"
1426 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
1427 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1428 | dependencies:
1429 | is-glob "^4.0.3"
1430 |
1431 | glob@^10.2.5:
1432 | version "10.2.6"
1433 | resolved "https://registry.yarnpkg.com/glob/-/glob-10.2.6.tgz#1e27edbb3bbac055cb97113e27a066c100a4e5e1"
1434 | integrity sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==
1435 | dependencies:
1436 | foreground-child "^3.1.0"
1437 | jackspeak "^2.0.3"
1438 | minimatch "^9.0.1"
1439 | minipass "^5.0.0 || ^6.0.2"
1440 | path-scurry "^1.7.0"
1441 |
1442 | glob@^7.1.3:
1443 | version "7.1.6"
1444 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
1445 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
1446 | dependencies:
1447 | fs.realpath "^1.0.0"
1448 | inflight "^1.0.4"
1449 | inherits "2"
1450 | minimatch "^3.0.4"
1451 | once "^1.3.0"
1452 | path-is-absolute "^1.0.0"
1453 |
1454 | glob@^7.1.4:
1455 | version "7.2.3"
1456 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
1457 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
1458 | dependencies:
1459 | fs.realpath "^1.0.0"
1460 | inflight "^1.0.4"
1461 | inherits "2"
1462 | minimatch "^3.1.1"
1463 | once "^1.3.0"
1464 | path-is-absolute "^1.0.0"
1465 |
1466 | globals@^13.19.0:
1467 | version "13.20.0"
1468 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
1469 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
1470 | dependencies:
1471 | type-fest "^0.20.2"
1472 |
1473 | globby@^11.1.0:
1474 | version "11.1.0"
1475 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
1476 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
1477 | dependencies:
1478 | array-union "^2.1.0"
1479 | dir-glob "^3.0.1"
1480 | fast-glob "^3.2.9"
1481 | ignore "^5.2.0"
1482 | merge2 "^1.4.1"
1483 | slash "^3.0.0"
1484 |
1485 | graceful-fs@^4.1.6, graceful-fs@^4.2.0:
1486 | version "4.2.3"
1487 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
1488 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
1489 |
1490 | graceful-fs@^4.2.9:
1491 | version "4.2.11"
1492 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
1493 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
1494 |
1495 | graphemer@^1.4.0:
1496 | version "1.4.0"
1497 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
1498 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
1499 |
1500 | har-schema@^2.0.0:
1501 | version "2.0.0"
1502 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
1503 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
1504 |
1505 | har-validator@~5.1.3:
1506 | version "5.1.3"
1507 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
1508 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
1509 | dependencies:
1510 | ajv "^6.5.5"
1511 | har-schema "^2.0.0"
1512 |
1513 | has-flag@^3.0.0:
1514 | version "3.0.0"
1515 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1516 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
1517 |
1518 | has-flag@^4.0.0:
1519 | version "4.0.0"
1520 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1521 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1522 |
1523 | html-encoding-sniffer@^3.0.0:
1524 | version "3.0.0"
1525 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9"
1526 | integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==
1527 | dependencies:
1528 | whatwg-encoding "^2.0.0"
1529 |
1530 | html-escaper@^2.0.0:
1531 | version "2.0.2"
1532 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
1533 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
1534 |
1535 | http-proxy-agent@^5.0.0:
1536 | version "5.0.0"
1537 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
1538 | integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
1539 | dependencies:
1540 | "@tootallnate/once" "2"
1541 | agent-base "6"
1542 | debug "4"
1543 |
1544 | http-signature@~1.2.0:
1545 | version "1.2.0"
1546 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
1547 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
1548 | dependencies:
1549 | assert-plus "^1.0.0"
1550 | jsprim "^1.2.2"
1551 | sshpk "^1.7.0"
1552 |
1553 | https-proxy-agent@^5.0.1:
1554 | version "5.0.1"
1555 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
1556 | integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
1557 | dependencies:
1558 | agent-base "6"
1559 | debug "4"
1560 |
1561 | iconv-lite@0.6.3:
1562 | version "0.6.3"
1563 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
1564 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
1565 | dependencies:
1566 | safer-buffer ">= 2.1.2 < 3.0.0"
1567 |
1568 | iconv-lite@^0.4.24:
1569 | version "0.4.24"
1570 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
1571 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
1572 | dependencies:
1573 | safer-buffer ">= 2.1.2 < 3"
1574 |
1575 | ignore@^5.2.0:
1576 | version "5.2.0"
1577 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
1578 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
1579 |
1580 | import-fresh@^3.0.0:
1581 | version "3.2.1"
1582 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
1583 | integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
1584 | dependencies:
1585 | parent-module "^1.0.0"
1586 | resolve-from "^4.0.0"
1587 |
1588 | import-fresh@^3.2.1:
1589 | version "3.3.0"
1590 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1591 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1592 | dependencies:
1593 | parent-module "^1.0.0"
1594 | resolve-from "^4.0.0"
1595 |
1596 | imurmurhash@^0.1.4:
1597 | version "0.1.4"
1598 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1599 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
1600 |
1601 | inflight@^1.0.4:
1602 | version "1.0.6"
1603 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1604 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
1605 | dependencies:
1606 | once "^1.3.0"
1607 | wrappy "1"
1608 |
1609 | inherits@2:
1610 | version "2.0.4"
1611 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1612 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1613 |
1614 | inquirer@^7.3.3:
1615 | version "7.3.3"
1616 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
1617 | integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
1618 | dependencies:
1619 | ansi-escapes "^4.2.1"
1620 | chalk "^4.1.0"
1621 | cli-cursor "^3.1.0"
1622 | cli-width "^3.0.0"
1623 | external-editor "^3.0.3"
1624 | figures "^3.0.0"
1625 | lodash "^4.17.19"
1626 | mute-stream "0.0.8"
1627 | run-async "^2.4.0"
1628 | rxjs "^6.6.0"
1629 | string-width "^4.1.0"
1630 | strip-ansi "^6.0.0"
1631 | through "^2.3.6"
1632 |
1633 | is-extglob@^2.1.1:
1634 | version "2.1.1"
1635 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1636 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
1637 |
1638 | is-fullwidth-code-point@^3.0.0:
1639 | version "3.0.0"
1640 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1641 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1642 |
1643 | is-glob@^4.0.0, is-glob@^4.0.1:
1644 | version "4.0.1"
1645 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
1646 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
1647 | dependencies:
1648 | is-extglob "^2.1.1"
1649 |
1650 | is-glob@^4.0.3:
1651 | version "4.0.3"
1652 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1653 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1654 | dependencies:
1655 | is-extglob "^2.1.1"
1656 |
1657 | is-number@^7.0.0:
1658 | version "7.0.0"
1659 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1660 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1661 |
1662 | is-path-inside@^3.0.3:
1663 | version "3.0.3"
1664 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
1665 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
1666 |
1667 | is-potential-custom-element-name@^1.0.1:
1668 | version "1.0.1"
1669 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
1670 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
1671 |
1672 | is-typedarray@~1.0.0:
1673 | version "1.0.0"
1674 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1675 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
1676 |
1677 | isexe@^2.0.0:
1678 | version "2.0.0"
1679 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1680 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
1681 |
1682 | isomorphic-fetch@^3.0.0:
1683 | version "3.0.0"
1684 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4"
1685 | integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==
1686 | dependencies:
1687 | node-fetch "^2.6.1"
1688 | whatwg-fetch "^3.4.1"
1689 |
1690 | isstream@~0.1.2:
1691 | version "0.1.2"
1692 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
1693 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
1694 |
1695 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
1696 | version "3.2.0"
1697 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
1698 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
1699 |
1700 | istanbul-lib-report@^3.0.0:
1701 | version "3.0.0"
1702 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
1703 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
1704 | dependencies:
1705 | istanbul-lib-coverage "^3.0.0"
1706 | make-dir "^3.0.0"
1707 | supports-color "^7.1.0"
1708 |
1709 | istanbul-reports@^3.1.4:
1710 | version "3.1.5"
1711 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae"
1712 | integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==
1713 | dependencies:
1714 | html-escaper "^2.0.0"
1715 | istanbul-lib-report "^3.0.0"
1716 |
1717 | itty-router@^5.0.4:
1718 | version "5.0.4"
1719 | resolved "https://registry.yarnpkg.com/itty-router/-/itty-router-5.0.4.tgz#d9e9397b43a1d11f3ea6c5af8abbf44d948fc382"
1720 | integrity sha512-5YptFbHqxpnYnKitKPA5pfleq2HufZGcM/xWRSa4arMHdCLfiuJ276vQD3NGOuFPJEFqNlgKtgn9BKIMuImsjQ==
1721 |
1722 | jackspeak@^2.0.3:
1723 | version "2.2.1"
1724 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.2.1.tgz#655e8cf025d872c9c03d3eb63e8f0c024fef16a6"
1725 | integrity sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==
1726 | dependencies:
1727 | "@isaacs/cliui" "^8.0.2"
1728 | optionalDependencies:
1729 | "@pkgjs/parseargs" "^0.11.0"
1730 |
1731 | jest-diff@^29.5.0:
1732 | version "29.5.0"
1733 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63"
1734 | integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==
1735 | dependencies:
1736 | chalk "^4.0.0"
1737 | diff-sequences "^29.4.3"
1738 | jest-get-type "^29.4.3"
1739 | pretty-format "^29.5.0"
1740 |
1741 | jest-get-type@^29.4.3:
1742 | version "29.4.3"
1743 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5"
1744 | integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==
1745 |
1746 | jest-matcher-utils@^29.5.0:
1747 | version "29.5.0"
1748 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5"
1749 | integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==
1750 | dependencies:
1751 | chalk "^4.0.0"
1752 | jest-diff "^29.5.0"
1753 | jest-get-type "^29.4.3"
1754 | pretty-format "^29.5.0"
1755 |
1756 | jest-message-util@^29.5.0:
1757 | version "29.5.0"
1758 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e"
1759 | integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==
1760 | dependencies:
1761 | "@babel/code-frame" "^7.12.13"
1762 | "@jest/types" "^29.5.0"
1763 | "@types/stack-utils" "^2.0.0"
1764 | chalk "^4.0.0"
1765 | graceful-fs "^4.2.9"
1766 | micromatch "^4.0.4"
1767 | pretty-format "^29.5.0"
1768 | slash "^3.0.0"
1769 | stack-utils "^2.0.3"
1770 |
1771 | jest-util@^29.5.0:
1772 | version "29.5.0"
1773 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f"
1774 | integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==
1775 | dependencies:
1776 | "@jest/types" "^29.5.0"
1777 | "@types/node" "*"
1778 | chalk "^4.0.0"
1779 | ci-info "^3.2.0"
1780 | graceful-fs "^4.2.9"
1781 | picomatch "^2.2.3"
1782 |
1783 | js-string-escape@^1.0.1:
1784 | version "1.0.1"
1785 | resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
1786 | integrity sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==
1787 |
1788 | js-tokens@^4.0.0:
1789 | version "4.0.0"
1790 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1791 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1792 |
1793 | js-yaml@^3.13.1:
1794 | version "3.13.1"
1795 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
1796 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
1797 | dependencies:
1798 | argparse "^1.0.7"
1799 | esprima "^4.0.0"
1800 |
1801 | js-yaml@^4.1.0:
1802 | version "4.1.0"
1803 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
1804 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
1805 | dependencies:
1806 | argparse "^2.0.1"
1807 |
1808 | jsbn@~0.1.0:
1809 | version "0.1.1"
1810 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1811 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
1812 |
1813 | jsdom@^22.1.0:
1814 | version "22.1.0"
1815 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-22.1.0.tgz#0fca6d1a37fbeb7f4aac93d1090d782c56b611c8"
1816 | integrity sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==
1817 | dependencies:
1818 | abab "^2.0.6"
1819 | cssstyle "^3.0.0"
1820 | data-urls "^4.0.0"
1821 | decimal.js "^10.4.3"
1822 | domexception "^4.0.0"
1823 | form-data "^4.0.0"
1824 | html-encoding-sniffer "^3.0.0"
1825 | http-proxy-agent "^5.0.0"
1826 | https-proxy-agent "^5.0.1"
1827 | is-potential-custom-element-name "^1.0.1"
1828 | nwsapi "^2.2.4"
1829 | parse5 "^7.1.2"
1830 | rrweb-cssom "^0.6.0"
1831 | saxes "^6.0.0"
1832 | symbol-tree "^3.2.4"
1833 | tough-cookie "^4.1.2"
1834 | w3c-xmlserializer "^4.0.0"
1835 | webidl-conversions "^7.0.0"
1836 | whatwg-encoding "^2.0.0"
1837 | whatwg-mimetype "^3.0.0"
1838 | whatwg-url "^12.0.1"
1839 | ws "^8.13.0"
1840 | xml-name-validator "^4.0.0"
1841 |
1842 | json-schema-traverse@^0.4.1:
1843 | version "0.4.1"
1844 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1845 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1846 |
1847 | json-schema@0.2.3:
1848 | version "0.2.3"
1849 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1850 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
1851 |
1852 | json-stable-stringify-without-jsonify@^1.0.1:
1853 | version "1.0.1"
1854 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1855 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
1856 |
1857 | json-stringify-safe@~5.0.1:
1858 | version "5.0.1"
1859 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1860 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
1861 |
1862 | jsonc-parser@^3.2.0:
1863 | version "3.2.0"
1864 | resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
1865 | integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
1866 |
1867 | jsonfile@^6.0.1:
1868 | version "6.0.1"
1869 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179"
1870 | integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==
1871 | dependencies:
1872 | universalify "^1.0.0"
1873 | optionalDependencies:
1874 | graceful-fs "^4.1.6"
1875 |
1876 | jsprim@^1.2.2:
1877 | version "1.4.1"
1878 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
1879 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
1880 | dependencies:
1881 | assert-plus "1.0.0"
1882 | extsprintf "1.3.0"
1883 | json-schema "0.2.3"
1884 | verror "1.10.0"
1885 |
1886 | lcov-parse@^1.0.0:
1887 | version "1.0.0"
1888 | resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0"
1889 | integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A=
1890 |
1891 | levn@^0.4.1:
1892 | version "0.4.1"
1893 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1894 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1895 | dependencies:
1896 | prelude-ls "^1.2.1"
1897 | type-check "~0.4.0"
1898 |
1899 | local-pkg@^0.4.3:
1900 | version "0.4.3"
1901 | resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963"
1902 | integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==
1903 |
1904 | locate-path@^6.0.0:
1905 | version "6.0.0"
1906 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
1907 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1908 | dependencies:
1909 | p-locate "^5.0.0"
1910 |
1911 | lodash.merge@^4.6.2:
1912 | version "4.6.2"
1913 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1914 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1915 |
1916 | lodash@^4.17.15, lodash@^4.17.19:
1917 | version "4.17.21"
1918 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
1919 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
1920 |
1921 | log-driver@^1.2.7:
1922 | version "1.2.7"
1923 | resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8"
1924 | integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==
1925 |
1926 | loupe@^2.3.1, loupe@^2.3.6:
1927 | version "2.3.6"
1928 | resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53"
1929 | integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==
1930 | dependencies:
1931 | get-func-name "^2.0.0"
1932 |
1933 | lru-cache@^6.0.0:
1934 | version "6.0.0"
1935 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1936 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1937 | dependencies:
1938 | yallist "^4.0.0"
1939 |
1940 | lru-cache@^9.1.1:
1941 | version "9.1.1"
1942 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1"
1943 | integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==
1944 |
1945 | magic-string@^0.30.0:
1946 | version "0.30.0"
1947 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529"
1948 | integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==
1949 | dependencies:
1950 | "@jridgewell/sourcemap-codec" "^1.4.13"
1951 |
1952 | make-dir@^3.0.0:
1953 | version "3.1.0"
1954 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
1955 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
1956 | dependencies:
1957 | semver "^6.0.0"
1958 |
1959 | md5-hex@^3.0.1:
1960 | version "3.0.1"
1961 | resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-3.0.1.tgz#be3741b510591434b2784d79e556eefc2c9a8e5c"
1962 | integrity sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==
1963 | dependencies:
1964 | blueimp-md5 "^2.10.0"
1965 |
1966 | merge2@^1.3.0, merge2@^1.4.1:
1967 | version "1.4.1"
1968 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1969 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1970 |
1971 | micromatch@^4.0.4:
1972 | version "4.0.5"
1973 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
1974 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
1975 | dependencies:
1976 | braces "^3.0.2"
1977 | picomatch "^2.3.1"
1978 |
1979 | mime-db@1.43.0:
1980 | version "1.43.0"
1981 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
1982 | integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
1983 |
1984 | mime-types@^2.1.12, mime-types@~2.1.19:
1985 | version "2.1.26"
1986 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
1987 | integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
1988 | dependencies:
1989 | mime-db "1.43.0"
1990 |
1991 | mimic-fn@^2.1.0:
1992 | version "2.1.0"
1993 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
1994 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
1995 |
1996 | minimatch@^3.0.4:
1997 | version "3.0.4"
1998 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1999 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
2000 | dependencies:
2001 | brace-expansion "^1.1.7"
2002 |
2003 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
2004 | version "3.1.2"
2005 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
2006 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
2007 | dependencies:
2008 | brace-expansion "^1.1.7"
2009 |
2010 | minimatch@^9.0.1:
2011 | version "9.0.1"
2012 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253"
2013 | integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==
2014 | dependencies:
2015 | brace-expansion "^2.0.1"
2016 |
2017 | minimist@^1.2.5:
2018 | version "1.2.5"
2019 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
2020 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
2021 |
2022 | "minipass@^5.0.0 || ^6.0.2":
2023 | version "6.0.2"
2024 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-6.0.2.tgz#542844b6c4ce95b202c0995b0a471f1229de4c81"
2025 | integrity sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==
2026 |
2027 | mlly@^1.2.0:
2028 | version "1.3.0"
2029 | resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.3.0.tgz#3184cb80c6437bda861a9f452ae74e3434ed9cd1"
2030 | integrity sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw==
2031 | dependencies:
2032 | acorn "^8.8.2"
2033 | pathe "^1.1.0"
2034 | pkg-types "^1.0.3"
2035 | ufo "^1.1.2"
2036 |
2037 | ms@2.1.2, ms@^2.1.1:
2038 | version "2.1.2"
2039 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
2040 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
2041 |
2042 | mute-stream@0.0.8:
2043 | version "0.0.8"
2044 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
2045 | integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
2046 |
2047 | nanoid@^3.3.6:
2048 | version "3.3.6"
2049 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
2050 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
2051 |
2052 | natural-compare@^1.4.0:
2053 | version "1.4.0"
2054 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
2055 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
2056 |
2057 | node-cmd@^4.0.0:
2058 | version "4.0.0"
2059 | resolved "https://registry.yarnpkg.com/node-cmd/-/node-cmd-4.0.0.tgz#a0187d9b779b59f1e8a70545ab8e8276a4b8c693"
2060 | integrity sha512-3OHy8KI8MuwADyugQRZBsaqe3c0r3yxQSoLsDBVk7vAjPmfG01512MPBQjfmBJxrH+2qURbiBf/ZyoimrhdA6A==
2061 |
2062 | node-fetch@^2.6.1:
2063 | version "2.6.1"
2064 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
2065 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
2066 |
2067 | nwsapi@^2.2.4:
2068 | version "2.2.5"
2069 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.5.tgz#a52744c61b3889dd44b0a158687add39b8d935e2"
2070 | integrity sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==
2071 |
2072 | oauth-sign@~0.9.0:
2073 | version "0.9.0"
2074 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
2075 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
2076 |
2077 | once@^1.3.0:
2078 | version "1.4.0"
2079 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2080 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
2081 | dependencies:
2082 | wrappy "1"
2083 |
2084 | onetime@^5.1.0:
2085 | version "5.1.0"
2086 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
2087 | integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
2088 | dependencies:
2089 | mimic-fn "^2.1.0"
2090 |
2091 | optionator@^0.9.1:
2092 | version "0.9.1"
2093 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
2094 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
2095 | dependencies:
2096 | deep-is "^0.1.3"
2097 | fast-levenshtein "^2.0.6"
2098 | levn "^0.4.1"
2099 | prelude-ls "^1.2.1"
2100 | type-check "^0.4.0"
2101 | word-wrap "^1.2.3"
2102 |
2103 | os-tmpdir@~1.0.2:
2104 | version "1.0.2"
2105 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
2106 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
2107 |
2108 | p-limit@^3.0.2:
2109 | version "3.1.0"
2110 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
2111 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
2112 | dependencies:
2113 | yocto-queue "^0.1.0"
2114 |
2115 | p-limit@^4.0.0:
2116 | version "4.0.0"
2117 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644"
2118 | integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
2119 | dependencies:
2120 | yocto-queue "^1.0.0"
2121 |
2122 | p-locate@^5.0.0:
2123 | version "5.0.0"
2124 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
2125 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
2126 | dependencies:
2127 | p-limit "^3.0.2"
2128 |
2129 | parent-module@^1.0.0:
2130 | version "1.0.1"
2131 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
2132 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
2133 | dependencies:
2134 | callsites "^3.0.0"
2135 |
2136 | parse5@^7.1.2:
2137 | version "7.1.2"
2138 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
2139 | integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
2140 | dependencies:
2141 | entities "^4.4.0"
2142 |
2143 | path-exists@^4.0.0:
2144 | version "4.0.0"
2145 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
2146 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
2147 |
2148 | path-is-absolute@^1.0.0:
2149 | version "1.0.1"
2150 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2151 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
2152 |
2153 | path-key@^3.1.0:
2154 | version "3.1.1"
2155 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
2156 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
2157 |
2158 | path-scurry@^1.7.0:
2159 | version "1.9.2"
2160 | resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.9.2.tgz#90f9d296ac5e37e608028e28a447b11d385b3f63"
2161 | integrity sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==
2162 | dependencies:
2163 | lru-cache "^9.1.1"
2164 | minipass "^5.0.0 || ^6.0.2"
2165 |
2166 | path-type@^4.0.0:
2167 | version "4.0.0"
2168 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
2169 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
2170 |
2171 | pathe@^1.1.0:
2172 | version "1.1.0"
2173 | resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.0.tgz#e2e13f6c62b31a3289af4ba19886c230f295ec03"
2174 | integrity sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==
2175 |
2176 | pathval@^1.1.1:
2177 | version "1.1.1"
2178 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
2179 | integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
2180 |
2181 | performance-now@^2.1.0:
2182 | version "2.1.0"
2183 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
2184 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
2185 |
2186 | picocolors@^1.0.0:
2187 | version "1.0.0"
2188 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
2189 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
2190 |
2191 | picomatch@^2.2.3, picomatch@^2.3.1:
2192 | version "2.3.1"
2193 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
2194 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
2195 |
2196 | pkg-types@^1.0.3:
2197 | version "1.0.3"
2198 | resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868"
2199 | integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==
2200 | dependencies:
2201 | jsonc-parser "^3.2.0"
2202 | mlly "^1.2.0"
2203 | pathe "^1.1.0"
2204 |
2205 | postcss@^8.4.23:
2206 | version "8.4.24"
2207 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df"
2208 | integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==
2209 | dependencies:
2210 | nanoid "^3.3.6"
2211 | picocolors "^1.0.0"
2212 | source-map-js "^1.0.2"
2213 |
2214 | prelude-ls@^1.2.1:
2215 | version "1.2.1"
2216 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
2217 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
2218 |
2219 | pretty-format@^27.5.1:
2220 | version "27.5.1"
2221 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
2222 | integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
2223 | dependencies:
2224 | ansi-regex "^5.0.1"
2225 | ansi-styles "^5.0.0"
2226 | react-is "^17.0.1"
2227 |
2228 | pretty-format@^29.0.0, pretty-format@^29.5.0:
2229 | version "29.5.0"
2230 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a"
2231 | integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==
2232 | dependencies:
2233 | "@jest/schemas" "^29.4.3"
2234 | ansi-styles "^5.0.0"
2235 | react-is "^18.0.0"
2236 |
2237 | psl@^1.1.28:
2238 | version "1.8.0"
2239 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
2240 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
2241 |
2242 | psl@^1.1.33:
2243 | version "1.9.0"
2244 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
2245 | integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
2246 |
2247 | punycode@^2.1.0, punycode@^2.1.1:
2248 | version "2.1.1"
2249 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
2250 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
2251 |
2252 | punycode@^2.3.0:
2253 | version "2.3.0"
2254 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
2255 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
2256 |
2257 | qs@~6.5.2:
2258 | version "6.5.2"
2259 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
2260 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
2261 |
2262 | querystringify@^2.1.1:
2263 | version "2.2.0"
2264 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
2265 | integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
2266 |
2267 | queue-microtask@^1.2.2:
2268 | version "1.2.2"
2269 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3"
2270 | integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==
2271 |
2272 | react-is@^17.0.1:
2273 | version "17.0.2"
2274 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
2275 | integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
2276 |
2277 | react-is@^18.0.0:
2278 | version "18.2.0"
2279 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
2280 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
2281 |
2282 | request@^2.88.2:
2283 | version "2.88.2"
2284 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
2285 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
2286 | dependencies:
2287 | aws-sign2 "~0.7.0"
2288 | aws4 "^1.8.0"
2289 | caseless "~0.12.0"
2290 | combined-stream "~1.0.6"
2291 | extend "~3.0.2"
2292 | forever-agent "~0.6.1"
2293 | form-data "~2.3.2"
2294 | har-validator "~5.1.3"
2295 | http-signature "~1.2.0"
2296 | is-typedarray "~1.0.0"
2297 | isstream "~0.1.2"
2298 | json-stringify-safe "~5.0.1"
2299 | mime-types "~2.1.19"
2300 | oauth-sign "~0.9.0"
2301 | performance-now "^2.1.0"
2302 | qs "~6.5.2"
2303 | safe-buffer "^5.1.2"
2304 | tough-cookie "~2.5.0"
2305 | tunnel-agent "^0.6.0"
2306 | uuid "^3.3.2"
2307 |
2308 | require-directory@^2.1.1:
2309 | version "2.1.1"
2310 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2311 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
2312 |
2313 | requires-port@^1.0.0:
2314 | version "1.0.0"
2315 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
2316 | integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
2317 |
2318 | resolve-from@^4.0.0:
2319 | version "4.0.0"
2320 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
2321 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
2322 |
2323 | restore-cursor@^3.1.0:
2324 | version "3.1.0"
2325 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
2326 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
2327 | dependencies:
2328 | onetime "^5.1.0"
2329 | signal-exit "^3.0.2"
2330 |
2331 | reusify@^1.0.4:
2332 | version "1.0.4"
2333 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
2334 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
2335 |
2336 | rimraf@^3.0.2:
2337 | version "3.0.2"
2338 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
2339 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
2340 | dependencies:
2341 | glob "^7.1.3"
2342 |
2343 | rimraf@^5.0.1:
2344 | version "5.0.1"
2345 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.1.tgz#0881323ab94ad45fec7c0221f27ea1a142f3f0d0"
2346 | integrity sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==
2347 | dependencies:
2348 | glob "^10.2.5"
2349 |
2350 | rollup@^3.21.0:
2351 | version "3.23.0"
2352 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.23.0.tgz#b8d6146dac4bf058ee817f92820988e9b358b564"
2353 | integrity sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==
2354 | optionalDependencies:
2355 | fsevents "~2.3.2"
2356 |
2357 | rrweb-cssom@^0.6.0:
2358 | version "0.6.0"
2359 | resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1"
2360 | integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==
2361 |
2362 | run-async@^2.4.0:
2363 | version "2.4.1"
2364 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
2365 | integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
2366 |
2367 | run-parallel@^1.1.9:
2368 | version "1.2.0"
2369 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
2370 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
2371 | dependencies:
2372 | queue-microtask "^1.2.2"
2373 |
2374 | rxjs@^6.6.0:
2375 | version "6.6.3"
2376 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
2377 | integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==
2378 | dependencies:
2379 | tslib "^1.9.0"
2380 |
2381 | safe-buffer@^5.0.1, safe-buffer@^5.1.2:
2382 | version "5.2.0"
2383 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
2384 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
2385 |
2386 | "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
2387 | version "2.1.2"
2388 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
2389 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
2390 |
2391 | saxes@^6.0.0:
2392 | version "6.0.0"
2393 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
2394 | integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
2395 | dependencies:
2396 | xmlchars "^2.2.0"
2397 |
2398 | semver@^6.0.0:
2399 | version "6.3.0"
2400 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
2401 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
2402 |
2403 | semver@^7.3.2:
2404 | version "7.5.1"
2405 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.1.tgz#c90c4d631cf74720e46b21c1d37ea07edfab91ec"
2406 | integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==
2407 | dependencies:
2408 | lru-cache "^6.0.0"
2409 |
2410 | semver@^7.3.7:
2411 | version "7.3.7"
2412 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
2413 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
2414 | dependencies:
2415 | lru-cache "^6.0.0"
2416 |
2417 | shebang-command@^2.0.0:
2418 | version "2.0.0"
2419 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
2420 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
2421 | dependencies:
2422 | shebang-regex "^3.0.0"
2423 |
2424 | shebang-regex@^3.0.0:
2425 | version "3.0.0"
2426 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
2427 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
2428 |
2429 | siginfo@^2.0.0:
2430 | version "2.0.0"
2431 | resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30"
2432 | integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==
2433 |
2434 | signal-exit@^3.0.2:
2435 | version "3.0.3"
2436 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
2437 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
2438 |
2439 | signal-exit@^4.0.1:
2440 | version "4.0.2"
2441 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967"
2442 | integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==
2443 |
2444 | slash@^3.0.0:
2445 | version "3.0.0"
2446 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
2447 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
2448 |
2449 | source-map-js@^1.0.2:
2450 | version "1.0.2"
2451 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
2452 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
2453 |
2454 | sprintf-js@~1.0.2:
2455 | version "1.0.3"
2456 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
2457 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
2458 |
2459 | sshpk@^1.7.0:
2460 | version "1.16.1"
2461 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
2462 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
2463 | dependencies:
2464 | asn1 "~0.2.3"
2465 | assert-plus "^1.0.0"
2466 | bcrypt-pbkdf "^1.0.0"
2467 | dashdash "^1.12.0"
2468 | ecc-jsbn "~0.1.1"
2469 | getpass "^0.1.1"
2470 | jsbn "~0.1.0"
2471 | safer-buffer "^2.0.2"
2472 | tweetnacl "~0.14.0"
2473 |
2474 | stack-utils@^2.0.3:
2475 | version "2.0.6"
2476 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f"
2477 | integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==
2478 | dependencies:
2479 | escape-string-regexp "^2.0.0"
2480 |
2481 | stackback@0.0.2:
2482 | version "0.0.2"
2483 | resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b"
2484 | integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==
2485 |
2486 | std-env@^3.3.2:
2487 | version "3.3.3"
2488 | resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.3.3.tgz#a54f06eb245fdcfef53d56f3c0251f1d5c3d01fe"
2489 | integrity sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==
2490 |
2491 | "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.2.0:
2492 | version "4.2.3"
2493 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
2494 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
2495 | dependencies:
2496 | emoji-regex "^8.0.0"
2497 | is-fullwidth-code-point "^3.0.0"
2498 | strip-ansi "^6.0.1"
2499 |
2500 | string-width@^4.1.0:
2501 | version "4.2.0"
2502 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
2503 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
2504 | dependencies:
2505 | emoji-regex "^8.0.0"
2506 | is-fullwidth-code-point "^3.0.0"
2507 | strip-ansi "^6.0.0"
2508 |
2509 | string-width@^5.0.1, string-width@^5.1.2:
2510 | version "5.1.2"
2511 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
2512 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
2513 | dependencies:
2514 | eastasianwidth "^0.2.0"
2515 | emoji-regex "^9.2.2"
2516 | strip-ansi "^7.0.1"
2517 |
2518 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.1:
2519 | version "6.0.1"
2520 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
2521 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
2522 | dependencies:
2523 | ansi-regex "^5.0.1"
2524 |
2525 | strip-ansi@^6.0.0:
2526 | version "6.0.0"
2527 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
2528 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
2529 | dependencies:
2530 | ansi-regex "^5.0.0"
2531 |
2532 | strip-ansi@^7.0.1:
2533 | version "7.1.0"
2534 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
2535 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
2536 | dependencies:
2537 | ansi-regex "^6.0.1"
2538 |
2539 | strip-json-comments@^3.1.0:
2540 | version "3.1.0"
2541 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
2542 | integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
2543 |
2544 | strip-json-comments@^3.1.1:
2545 | version "3.1.1"
2546 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
2547 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
2548 |
2549 | strip-literal@^1.0.1:
2550 | version "1.0.1"
2551 | resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.0.1.tgz#0115a332710c849b4e46497891fb8d585e404bd2"
2552 | integrity sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==
2553 | dependencies:
2554 | acorn "^8.8.2"
2555 |
2556 | supports-color@^5.3.0:
2557 | version "5.5.0"
2558 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
2559 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
2560 | dependencies:
2561 | has-flag "^3.0.0"
2562 |
2563 | supports-color@^7.1.0:
2564 | version "7.1.0"
2565 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
2566 | integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
2567 | dependencies:
2568 | has-flag "^4.0.0"
2569 |
2570 | symbol-tree@^3.2.4:
2571 | version "3.2.4"
2572 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
2573 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
2574 |
2575 | test-exclude@^6.0.0:
2576 | version "6.0.0"
2577 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
2578 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
2579 | dependencies:
2580 | "@istanbuljs/schema" "^0.1.2"
2581 | glob "^7.1.4"
2582 | minimatch "^3.0.4"
2583 |
2584 | text-table@^0.2.0:
2585 | version "0.2.0"
2586 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
2587 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
2588 |
2589 | through@^2.3.6:
2590 | version "2.3.8"
2591 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
2592 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
2593 |
2594 | time-zone@^1.0.0:
2595 | version "1.0.0"
2596 | resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d"
2597 | integrity sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==
2598 |
2599 | tinybench@^2.5.0:
2600 | version "2.5.0"
2601 | resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.5.0.tgz#4711c99bbf6f3e986f67eb722fed9cddb3a68ba5"
2602 | integrity sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==
2603 |
2604 | tinypool@^0.5.0:
2605 | version "0.5.0"
2606 | resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.5.0.tgz#3861c3069bf71e4f1f5aa2d2e6b3aaacc278961e"
2607 | integrity sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==
2608 |
2609 | tinyspy@^2.1.0:
2610 | version "2.1.1"
2611 | resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.1.1.tgz#9e6371b00c259e5c5b301917ca18c01d40ae558c"
2612 | integrity sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==
2613 |
2614 | tmp@^0.0.33:
2615 | version "0.0.33"
2616 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
2617 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
2618 | dependencies:
2619 | os-tmpdir "~1.0.2"
2620 |
2621 | to-regex-range@^5.0.1:
2622 | version "5.0.1"
2623 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
2624 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
2625 | dependencies:
2626 | is-number "^7.0.0"
2627 |
2628 | tough-cookie@^4.1.2:
2629 | version "4.1.2"
2630 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
2631 | integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==
2632 | dependencies:
2633 | psl "^1.1.33"
2634 | punycode "^2.1.1"
2635 | universalify "^0.2.0"
2636 | url-parse "^1.5.3"
2637 |
2638 | tough-cookie@~2.5.0:
2639 | version "2.5.0"
2640 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
2641 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
2642 | dependencies:
2643 | psl "^1.1.28"
2644 | punycode "^2.1.1"
2645 |
2646 | tr46@^4.1.1:
2647 | version "4.1.1"
2648 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469"
2649 | integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==
2650 | dependencies:
2651 | punycode "^2.3.0"
2652 |
2653 | tslib@^1.8.1:
2654 | version "1.13.0"
2655 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
2656 | integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
2657 |
2658 | tslib@^1.9.0:
2659 | version "1.11.1"
2660 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
2661 | integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
2662 |
2663 | tsutils@^3.21.0:
2664 | version "3.21.0"
2665 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
2666 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
2667 | dependencies:
2668 | tslib "^1.8.1"
2669 |
2670 | tunnel-agent@^0.6.0:
2671 | version "0.6.0"
2672 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
2673 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
2674 | dependencies:
2675 | safe-buffer "^5.0.1"
2676 |
2677 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
2678 | version "0.14.5"
2679 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
2680 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
2681 |
2682 | type-check@^0.4.0, type-check@~0.4.0:
2683 | version "0.4.0"
2684 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
2685 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
2686 | dependencies:
2687 | prelude-ls "^1.2.1"
2688 |
2689 | type-detect@^4.0.0, type-detect@^4.0.5:
2690 | version "4.0.8"
2691 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
2692 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
2693 |
2694 | type-fest@^0.11.0:
2695 | version "0.11.0"
2696 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
2697 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
2698 |
2699 | type-fest@^0.20.2:
2700 | version "0.20.2"
2701 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
2702 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
2703 |
2704 | typescript@^5.0.4:
2705 | version "5.0.4"
2706 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
2707 | integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
2708 |
2709 | ufo@^1.1.2:
2710 | version "1.1.2"
2711 | resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.1.2.tgz#d0d9e0fa09dece0c31ffd57bd363f030a35cfe76"
2712 | integrity sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==
2713 |
2714 | universalify@^0.2.0:
2715 | version "0.2.0"
2716 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
2717 | integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
2718 |
2719 | universalify@^1.0.0:
2720 | version "1.0.0"
2721 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
2722 | integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
2723 |
2724 | universalify@^2.0.0:
2725 | version "2.0.0"
2726 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
2727 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
2728 |
2729 | uri-js@^4.2.2:
2730 | version "4.2.2"
2731 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
2732 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
2733 | dependencies:
2734 | punycode "^2.1.0"
2735 |
2736 | url-parse@^1.5.3:
2737 | version "1.5.10"
2738 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
2739 | integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
2740 | dependencies:
2741 | querystringify "^2.1.1"
2742 | requires-port "^1.0.0"
2743 |
2744 | uuid@^3.3.2:
2745 | version "3.4.0"
2746 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
2747 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
2748 |
2749 | v8-to-istanbul@^9.0.0:
2750 | version "9.1.0"
2751 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265"
2752 | integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==
2753 | dependencies:
2754 | "@jridgewell/trace-mapping" "^0.3.12"
2755 | "@types/istanbul-lib-coverage" "^2.0.1"
2756 | convert-source-map "^1.6.0"
2757 |
2758 | verror@1.10.0:
2759 | version "1.10.0"
2760 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
2761 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
2762 | dependencies:
2763 | assert-plus "^1.0.0"
2764 | core-util-is "1.0.2"
2765 | extsprintf "^1.2.0"
2766 |
2767 | vite-node@0.31.4:
2768 | version "0.31.4"
2769 | resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.31.4.tgz#0437f76c35fa83f0a868d3fb5896ca9e164291f5"
2770 | integrity sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==
2771 | dependencies:
2772 | cac "^6.7.14"
2773 | debug "^4.3.4"
2774 | mlly "^1.2.0"
2775 | pathe "^1.1.0"
2776 | picocolors "^1.0.0"
2777 | vite "^3.0.0 || ^4.0.0"
2778 |
2779 | "vite@^3.0.0 || ^4.0.0":
2780 | version "4.3.9"
2781 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.3.9.tgz#db896200c0b1aa13b37cdc35c9e99ee2fdd5f96d"
2782 | integrity sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==
2783 | dependencies:
2784 | esbuild "^0.17.5"
2785 | postcss "^8.4.23"
2786 | rollup "^3.21.0"
2787 | optionalDependencies:
2788 | fsevents "~2.3.2"
2789 |
2790 | vitest@^0.31.4:
2791 | version "0.31.4"
2792 | resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.31.4.tgz#5abe02562675262949c10e40811f348a80f6b2a6"
2793 | integrity sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==
2794 | dependencies:
2795 | "@types/chai" "^4.3.5"
2796 | "@types/chai-subset" "^1.3.3"
2797 | "@types/node" "*"
2798 | "@vitest/expect" "0.31.4"
2799 | "@vitest/runner" "0.31.4"
2800 | "@vitest/snapshot" "0.31.4"
2801 | "@vitest/spy" "0.31.4"
2802 | "@vitest/utils" "0.31.4"
2803 | acorn "^8.8.2"
2804 | acorn-walk "^8.2.0"
2805 | cac "^6.7.14"
2806 | chai "^4.3.7"
2807 | concordance "^5.0.4"
2808 | debug "^4.3.4"
2809 | local-pkg "^0.4.3"
2810 | magic-string "^0.30.0"
2811 | pathe "^1.1.0"
2812 | picocolors "^1.0.0"
2813 | std-env "^3.3.2"
2814 | strip-literal "^1.0.1"
2815 | tinybench "^2.5.0"
2816 | tinypool "^0.5.0"
2817 | vite "^3.0.0 || ^4.0.0"
2818 | vite-node "0.31.4"
2819 | why-is-node-running "^2.2.2"
2820 |
2821 | w3c-xmlserializer@^4.0.0:
2822 | version "4.0.0"
2823 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073"
2824 | integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==
2825 | dependencies:
2826 | xml-name-validator "^4.0.0"
2827 |
2828 | webidl-conversions@^7.0.0:
2829 | version "7.0.0"
2830 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
2831 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
2832 |
2833 | well-known-symbols@^2.0.0:
2834 | version "2.0.0"
2835 | resolved "https://registry.yarnpkg.com/well-known-symbols/-/well-known-symbols-2.0.0.tgz#e9c7c07dbd132b7b84212c8174391ec1f9871ba5"
2836 | integrity sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==
2837 |
2838 | whatwg-encoding@^2.0.0:
2839 | version "2.0.0"
2840 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53"
2841 | integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==
2842 | dependencies:
2843 | iconv-lite "0.6.3"
2844 |
2845 | whatwg-fetch@^3.4.1:
2846 | version "3.6.2"
2847 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c"
2848 | integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==
2849 |
2850 | whatwg-mimetype@^3.0.0:
2851 | version "3.0.0"
2852 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7"
2853 | integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==
2854 |
2855 | whatwg-url@^12.0.0, whatwg-url@^12.0.1:
2856 | version "12.0.1"
2857 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-12.0.1.tgz#fd7bcc71192e7c3a2a97b9a8d6b094853ed8773c"
2858 | integrity sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==
2859 | dependencies:
2860 | tr46 "^4.1.1"
2861 | webidl-conversions "^7.0.0"
2862 |
2863 | which@^2.0.1:
2864 | version "2.0.2"
2865 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2866 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2867 | dependencies:
2868 | isexe "^2.0.0"
2869 |
2870 | why-is-node-running@^2.2.2:
2871 | version "2.2.2"
2872 | resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e"
2873 | integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==
2874 | dependencies:
2875 | siginfo "^2.0.0"
2876 | stackback "0.0.2"
2877 |
2878 | word-wrap@^1.2.3:
2879 | version "1.2.3"
2880 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
2881 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
2882 |
2883 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
2884 | version "7.0.0"
2885 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
2886 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
2887 | dependencies:
2888 | ansi-styles "^4.0.0"
2889 | string-width "^4.1.0"
2890 | strip-ansi "^6.0.0"
2891 |
2892 | wrap-ansi@^8.1.0:
2893 | version "8.1.0"
2894 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
2895 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
2896 | dependencies:
2897 | ansi-styles "^6.1.0"
2898 | string-width "^5.0.1"
2899 | strip-ansi "^7.0.1"
2900 |
2901 | wrappy@1:
2902 | version "1.0.2"
2903 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2904 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
2905 |
2906 | ws@^8.13.0:
2907 | version "8.13.0"
2908 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
2909 | integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
2910 |
2911 | xml-name-validator@^4.0.0:
2912 | version "4.0.0"
2913 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
2914 | integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
2915 |
2916 | xmlchars@^2.2.0:
2917 | version "2.2.0"
2918 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
2919 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
2920 |
2921 | y18n@^5.0.5:
2922 | version "5.0.8"
2923 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
2924 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
2925 |
2926 | yallist@^4.0.0:
2927 | version "4.0.0"
2928 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
2929 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
2930 |
2931 | yargs-parser@^20.2.2, yargs-parser@^20.2.9:
2932 | version "20.2.9"
2933 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
2934 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
2935 |
2936 | yargs@^16.2.0:
2937 | version "16.2.0"
2938 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
2939 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
2940 | dependencies:
2941 | cliui "^7.0.2"
2942 | escalade "^3.1.1"
2943 | get-caller-file "^2.0.5"
2944 | require-directory "^2.1.1"
2945 | string-width "^4.2.0"
2946 | y18n "^5.0.5"
2947 | yargs-parser "^20.2.2"
2948 |
2949 | yarn-release@^1.10.5:
2950 | version "1.10.5"
2951 | resolved "https://registry.yarnpkg.com/yarn-release/-/yarn-release-1.10.5.tgz#13433b61c9f9a3f4645dda8b69bc69a6c07acbbf"
2952 | integrity sha512-dixnymn+BzdDbWMr8NplypQvYGWO4TqQGKupMjbtLNEeKWcs5Lg+BEcGSGWuPNfBUlI1WwZEYchsodDVEX8gTg==
2953 | dependencies:
2954 | bluebird "^3.7.2"
2955 | chalk "^4.1.0"
2956 | commander "^7.1.0"
2957 | fs-extra "^9.1.0"
2958 | inquirer "^7.3.3"
2959 | node-cmd "^4.0.0"
2960 |
2961 | yocto-queue@^0.1.0:
2962 | version "0.1.0"
2963 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
2964 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
2965 |
2966 | yocto-queue@^1.0.0:
2967 | version "1.0.0"
2968 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251"
2969 | integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==
2970 |
--------------------------------------------------------------------------------