+26
.github/workflows/mirror.yml
+26
.github/workflows/mirror.yml
···
1
+
# Mirrors to https://tangled.sh/@kitten.sh (knot.kitten.sh)
2
+
name: Mirror (Git Backup)
3
+
on:
4
+
push:
5
+
branches:
6
+
- main
7
+
jobs:
8
+
mirror:
9
+
runs-on: ubuntu-latest
10
+
steps:
11
+
- name: Checkout repository
12
+
uses: actions/checkout@v4
13
+
with:
14
+
fetch-depth: 0
15
+
fetch-tags: true
16
+
- name: Mirror
17
+
env:
18
+
MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }}
19
+
GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=yes'
20
+
run: |
21
+
mkdir -p ~/.ssh
22
+
echo "$MIRROR_SSH_KEY" > ~/.ssh/id_rsa
23
+
chmod 600 ~/.ssh/id_rsa
24
+
ssh-keyscan -H knot.kitten.sh >> ~/.ssh/known_hosts
25
+
git remote add mirror "git@knot.kitten.sh:kitten.sh/${GITHUB_REPOSITORY#*/}"
26
+
git push --mirror mirror
+94
-30
README.md
+94
-30
README.md
···
10
10
<br />
11
11
</div>
12
12
13
-
Leveraging the power of sticky regexes and Babel code generation, `reghex` allows
13
+
Leveraging the power of sticky regexes and JS code generation, `reghex` allows
14
14
you to code parsers quickly, by surrounding regular expressions with a regex-like
15
15
[DSL](https://en.wikipedia.org/wiki/Domain-specific_language).
16
16
···
30
30
npm install --save reghex
31
31
```
32
32
33
-
##### 2. Add the plugin to your Babel configuration (`.babelrc`, `babel.config.js`, or `package.json:babel`)
33
+
##### 2. Add the plugin to your Babel configuration _(optional)_
34
+
35
+
In your `.babelrc`, `babel.config.js`, or `package.json:babel` add:
34
36
35
37
```json
36
38
{
···
40
42
41
43
Alternatively, you can set up [`babel-plugin-macros`](https://github.com/kentcdodds/babel-plugin-macros) and
42
44
import `reghex` from `"reghex/macro"` instead.
45
+
46
+
This step is **optional**. `reghex` can also generate its optimised JS code during runtime.
47
+
This will only incur a tiny parsing cost on initialisation, but due to the JIT of modern
48
+
JS engines there won't be any difference in performance between pre-compiled and compiled
49
+
versions otherwise.
50
+
51
+
Since the `reghex` runtime is rather small, for larger grammars it may even make sense not
52
+
to precompile the matchers at all. For this case you may pass the `{ "codegen": false }`
53
+
option to the Babel plugin, which will minify the `reghex` matcher templates without
54
+
precompiling them.
43
55
44
56
##### 3. Have fun writing parsers!
45
57
46
58
```js
47
-
import match, { parse } from 'reghex';
59
+
import { match, parse } from 'reghex';
48
60
49
61
const name = match('name')`
50
62
${/\w+/}
···
69
81
read back their updated `regex.lastIndex`.
70
82
71
83
> **Note:** Sticky Regexes aren't natively
72
-
> [supported in all versions of Internet Explorer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky#Browser_compatibility). `reghex` works around this by imitating its behaviour, which may decrease performance on IE11.
84
+
> [supported in any versions of Internet Explorer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky#Browser_compatibility). `reghex` works around this by imitating its behaviour, which may decrease performance on IE11.
73
85
74
86
This primitive allows us to build up a parser from regexes that you pass when
75
87
authoring a parser function, also called a "matcher" in `reghex`. When `reghex` compiles
···
99
111
100
112
## Authoring Guide
101
113
102
-
You can write "matchers" by importing the default import from `reghex` and
114
+
You can write "matchers" by importing the `match` import from `reghex` and
103
115
using it to write a matcher expression.
104
116
105
117
```js
106
-
import match from 'reghex';
118
+
import { match } from 'reghex';
107
119
108
120
const name = match('name')`
109
121
${/\w+/}
110
122
`;
111
123
```
112
124
113
-
As can be seen above, the `match` function, which is what we've called the
114
-
default import, is called with a "node name" and is then called as a tagged
115
-
template. This template is our **parsing definition**.
125
+
As can be seen above, the `match` function, is called with a "node name" and
126
+
is then called as a tagged template. This template is our **parsing definition**.
116
127
117
128
`reghex` functions only with its Babel plugin, which will detect `match('name')`
118
129
and replace the entire tag with a parsing function, which may then look like
···
161
172
Let's extend our original example;
162
173
163
174
```js
164
-
import match from 'reghex';
175
+
import { match } from 'reghex';
165
176
166
177
const name = match('name')`
167
178
${/\w+/}
···
178
189
**nested abstract output**.
179
190
180
191
We can also see in this example that _outside_ of the regex interpolations,
181
-
whitespaces and newlines don't matter.
192
+
whitespace and newlines don't matter.
182
193
183
194
```js
184
195
import { parse } from 'reghex';
···
193
204
*/
194
205
```
195
206
207
+
Furthermore, interpolations don't have to just be RegHex matchers. They can
208
+
also be functions returning matchers or completely custom matching functions.
209
+
This is useful when your DSL becomes _self-referential_, i.e. when one matchers
210
+
start referencing each other forming a loop. To fix this we can create a
211
+
function that returns our root matcher:
212
+
213
+
```js
214
+
import { match } from 'reghex';
215
+
216
+
const value = match('value')`
217
+
(${/\w+/} | ${() => root})+
218
+
`;
219
+
220
+
const root = match('root')`
221
+
${/root/}+ ${value}
222
+
`;
223
+
```
224
+
196
225
### Regex-like DSL
197
226
198
227
We've seen in the previous examples that matchers are authored using tagged
···
200
229
`${/pattern/}`, or with other matchers `${name}`.
201
230
202
231
The tagged template syntax supports more ways to match these interpolations,
203
-
using a regex-like Domain Specific Language. Unlike in regexes, whitespaces
204
-
and newlines don't matter to make it easier to format and read matchers.
232
+
using a regex-like Domain Specific Language. Unlike in regexes, whitespace
233
+
and newlines don't matter, which makes it easier to format and read matchers.
205
234
206
235
We can create **sequences** of matchers by adding multiple expressions in
207
236
a row. A matcher using `${/1/} ${/2/}` will attempt to match `1` and then `2`
208
237
in the parsed string. This is just one feature of the regex-like DSL. The
209
238
available operators are the following:
210
239
211
-
| Operator | Example | Description |
212
-
| -------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
213
-
| `?` | `${/1/}?` | An **optional** may be used to make an interpolation optional. This will mean that the interpolation may or may not match. |
214
-
| `*` | `${/1/}*` | A **star** can be used to match an arbitrary amount of interpolation or none at all. This will mean that the interpolation may repeat itself or may not be matched at all. |
215
-
| `+` | `${/1/}+` | A **plus** is used like `*` and must match one or more times. When the matcher doesn't match, that's considered a failing case, since the match isn't optional. |
216
-
| `\|` | `${/1/} \| ${/2/}` | An **alternation** can be used to match either one thing or another, falling back when the first interpolation fails. |
217
-
| `()` | `(${/1/} ${/2/})+` | A **group** can be used apply one of the other operators to an entire group of interpolations. |
218
-
| `(?: )` | `(?: ${/1/})` | A **non-capturing group** is like a regular group, but whatever the interpolations inside it will match, won't appear in the parser's output. |
219
-
| `(?= )` | `(?= ${/1/})` | A **positive lookahead** will check whether interpolations match, and if so will continue the matcher without changing the input. If it matches it's essentially ignored. |
220
-
| `(?! )` | `(?! ${/1/})` | A **negative lookahead** will check whether interpolations _don't_ match, and if so will continue the matcher without changing the input. If the interpolations do match the mathcer will be aborted. |
240
+
| Operator | Example | Description |
241
+
| -------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
242
+
| `?` | `${/1/}?` | An **optional** may be used to make an interpolation optional. This means that the interpolation may or may not match. |
243
+
| `*` | `${/1/}*` | A **star** can be used to match an arbitrary amount of interpolation or none at all. This means that the interpolation may repeat itself or may not be matched at all. |
244
+
| `+` | `${/1/}+` | A **plus** is used like `*` and must match one or more times. When the matcher doesn't match, that's considered a failing case, since the match isn't optional. |
245
+
| `\|` | `${/1/} \| ${/2/}` | An **alternation** can be used to match either one thing or another, falling back when the first interpolation fails. |
246
+
| `()` | `(${/1/} ${/2/})+` | A **group** can be used to apply one of the other operators to an entire group of interpolations. |
247
+
| `(?: )` | `(?: ${/1/})` | A **non-capturing group** is like a regular group, but the interpolations matched inside it don't appear in the parser's output. |
248
+
| `(?= )` | `(?= ${/1/})` | A **positive lookahead** checks whether interpolations match, and if so continues the matcher without changing the input. If it matches, it's essentially ignored. |
249
+
| `(?! )` | `(?! ${/1/})` | A **negative lookahead** checks whether interpolations _don't_ match, and if so continues the matcher without changing the input. If the interpolations do match the matcher is aborted. |
250
+
251
+
A couple of operators also support "short hands" that allow you to write
252
+
lookaheads or non-capturing groups a little quicker.
253
+
254
+
| Shorthand | Example | Description |
255
+
| --------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
256
+
| `:` | `:${/1/}` | A **non-capturing group** is like a regular group, but the interpolations matched inside it don't appear in the parser's output. |
257
+
| `=` | `=${/1/}` | A **positive lookahead** checks whether interpolations match, and if so continues the matcher without changing the input. If it matches, it's essentially ignored. |
258
+
| `!` | `!${/1/}` | A **negative lookahead** checks whether interpolations _don't_ match, and if so continues the matcher without changing the input. If the interpolations do match the matcher is aborted. |
221
259
222
260
We can combine and compose these operators to create more complex matchers.
223
261
For instance, we can extend the original example to only allow a specific set
···
262
300
parse(name)('tim'); // undefined
263
301
```
264
302
265
-
Lastly, like with regexex `?`, `*`, and `+` may be used as "quantifiers". The first two
303
+
Lastly, like with regexes, `?`, `*`, and `+` may be used as "quantifiers". The first two
266
304
may also be optional and _not_ match their patterns without the matcher failing.
267
305
The `+` operator is used to match an interpolation _one or more_ times, while the
268
306
`*` operators may match _zero or more_ times. Let's use this to allow the `"!"`
···
286
324
287
325
In the previous sections, we've seen that the **nodes** that `reghex` outputs are arrays containing
288
326
match strings or other nodes and have a special `tag` property with the node's type.
289
-
We can **change this output** while we're parsing by passing a second function to our matcher definition.
327
+
We can **change this output** while we're parsing by passing a function to our matcher definition.
290
328
291
329
```js
292
330
const name = match('name', (x) => x[0])`
···
300
338
second argument. This will change the matcher's output, which causes the parser to
301
339
now return a new output for this matcher.
302
340
303
-
We can use this function creatively by outputting full AST nodes, maybe like the
304
-
ones even that resemble Babel's output:
341
+
We can use this function creatively by outputting full AST nodes, maybe even like the
342
+
ones that resemble Babel's output:
305
343
306
344
```js
307
345
const identifier = match('identifier', (x) => ({
···
316
354
317
355
We've now entirely changed the output of the parser for this matcher. Given that each
318
356
matcher can change its output, we're free to change the parser's output entirely.
319
-
By **returning a falsy** in this matcher, we can also change the matcher to not have
320
-
matched, which would cause other matchers to treat it like a mismatch!
357
+
By returning `null` or `undefined` in this matcher, we can also change the matcher
358
+
to not have matched, which would cause other matchers to treat it like a mismatch!
321
359
322
360
```js
323
-
import match, { parse } from 'reghex';
361
+
import { match, parse } from 'reghex';
324
362
325
363
const name = match('name')((x) => {
326
364
return x[0] !== 'tim' ? x : undefined;
···
345
383
tag(['test'], 'node_name');
346
384
// ["test", .tag = "node_name"]
347
385
```
386
+
387
+
### Tagged Template Parsing
388
+
389
+
Any grammar in RegHex can also be used to parse a tagged template literal.
390
+
A tagged template literal consists of a list of literals alternating with
391
+
a list of "interpolations".
392
+
393
+
In RegHex we can add an `interpolation` matcher to our grammars to allow it
394
+
to parse interpolations in a template literal.
395
+
396
+
```js
397
+
import { interpolation } from 'reghex';
398
+
399
+
const anyNumber = interpolation((x) => typeof x === 'number');
400
+
401
+
const num = match('num')`
402
+
${/[+-]?/} ${anyNumber}
403
+
`;
404
+
405
+
parse(num)`+${42}`;
406
+
// ["+", 42, .tag = "num"]
407
+
```
408
+
409
+
This grammar now allows us to match arbitrary values if they're input into the
410
+
parser. We can now call our grammar using a tagged template literal themselves
411
+
to parse this.
348
412
349
413
**That's it! May the RegExp be ever in your favor.**
+1
-1
babel.js
+1
-1
babel.js
+18
-17
package.json
+18
-17
package.json
···
1
1
{
2
2
"name": "reghex",
3
-
"version": "1.0.1",
3
+
"version": "3.0.2",
4
4
"description": "The magical sticky regex-based parser generator 🧙",
5
5
"author": "Phil Pluckthun <phil@kitten.sh>",
6
6
"license": "MIT",
7
7
"main": "dist/reghex-core",
8
8
"module": "dist/reghex-core.mjs",
9
9
"source": "src/core.js",
10
+
"sideEffects": false,
10
11
"files": [
11
12
"README.md",
12
13
"LICENSE.md",
···
21
22
"require": "./dist/reghex-core.js"
22
23
},
23
24
"./babel": {
24
-
"import": "./dist/reghex-babel.mjs",
25
25
"require": "./dist/reghex-babel.js"
26
26
},
27
27
"./macro": {
28
-
"import": "./dist/reghex-macro.mjs",
29
28
"require": "./dist/reghex-macro.js"
30
29
},
31
30
"./package.json": "./package.json"
···
48
47
"url": "https://github.com/kitten/reghex/issues"
49
48
},
50
49
"devDependencies": {
51
-
"@babel/core": "7.9.6",
52
-
"@babel/plugin-transform-modules-commonjs": "^7.9.6",
53
-
"@babel/plugin-transform-object-assign": "^7.8.3",
50
+
"@ampproject/rollup-plugin-closure-compiler": "^0.27.0",
51
+
"@babel/core": "7.15.0",
52
+
"@babel/plugin-transform-modules-commonjs": "^7.15.0",
53
+
"@babel/plugin-transform-template-literals": "^7.14.5",
54
54
"@rollup/plugin-buble": "^0.21.3",
55
-
"@rollup/plugin-commonjs": "^11.1.0",
56
-
"@rollup/plugin-node-resolve": "^7.1.3",
57
-
"babel-jest": "^26.0.1",
58
-
"babel-plugin-closure-elimination": "^1.3.1",
59
-
"husky": "^4.2.5",
60
-
"jest": "^26.0.1",
61
-
"lint-staged": "^10.2.2",
55
+
"@rollup/plugin-commonjs": "^20.0.0",
56
+
"@rollup/plugin-node-resolve": "^13.0.4",
57
+
"@rollup/pluginutils": "^4.1.1",
58
+
"@sucrase/jest-plugin": "^2.1.1",
59
+
"babel-jest": "^27.1.0",
60
+
"babel-plugin-closure-elimination": "^1.3.2",
61
+
"husky-v4": "^4.3.8",
62
+
"jest": "^27.1.0",
63
+
"lint-staged": "^11.1.2",
62
64
"npm-run-all": "^4.1.5",
63
-
"prettier": "^2.0.5",
65
+
"prettier": "^2.3.2",
64
66
"rimraf": "^3.0.2",
65
-
"rollup": "^2.10.2",
66
-
"rollup-plugin-babel": "^4.4.0"
67
+
"rollup": "^2.56.3"
67
68
},
68
69
"prettier": {
69
70
"singleQuote": true
···
79
80
"jest": {
80
81
"testEnvironment": "node",
81
82
"transform": {
82
-
"\\.js$": "<rootDir>/scripts/jest-transform-esm.js"
83
+
"\\.js$": "@sucrase/jest-plugin"
83
84
}
84
85
}
85
86
}
+32
-19
rollup.config.js
+32
-19
rollup.config.js
···
1
1
import commonjs from '@rollup/plugin-commonjs';
2
2
import resolve from '@rollup/plugin-node-resolve';
3
3
import buble from '@rollup/plugin-buble';
4
-
import babel from 'rollup-plugin-babel';
4
+
import compiler from '@ampproject/rollup-plugin-closure-compiler';
5
+
6
+
import simplifyJSTags from './scripts/simplify-jstags-plugin.js';
5
7
6
8
const plugins = [
7
9
commonjs({
···
18
20
transforms: {
19
21
unicodeRegExp: false,
20
22
dangerousForOf: true,
21
-
dangerousTaggedTemplateString: true,
23
+
templateString: false,
22
24
},
23
-
objectAssign: 'Object.assign',
24
25
exclude: 'node_modules/**',
25
26
}),
26
-
babel({
27
-
babelrc: false,
28
-
extensions: ['ts', 'tsx', 'js'],
29
-
exclude: 'node_modules/**',
30
-
presets: [],
31
-
plugins: [
32
-
'@babel/plugin-transform-object-assign',
33
-
'babel-plugin-closure-elimination',
34
-
],
35
-
}),
36
27
];
37
28
38
29
const output = (format = 'cjs', ext = '.js') => ({
···
47
38
freeze: false,
48
39
strict: false,
49
40
format,
41
+
plugins: [
42
+
simplifyJSTags(),
43
+
compiler({
44
+
formatting: 'PRETTY_PRINT',
45
+
compilation_level: 'SIMPLE_OPTIMIZATIONS',
46
+
}),
47
+
],
50
48
});
51
49
52
-
export default {
53
-
input: {
54
-
core: './src/core.js',
55
-
babel: './src/babel/plugin.js',
56
-
macro: './src/babel/macro.js',
57
-
},
50
+
const base = {
58
51
onwarn: () => {},
59
52
external: () => false,
60
53
treeshake: {
···
63
56
plugins,
64
57
output: [output('cjs', '.js'), output('esm', '.mjs')],
65
58
};
59
+
60
+
export default [
61
+
{
62
+
...base,
63
+
input: {
64
+
core: './src/core.js',
65
+
},
66
+
},
67
+
{
68
+
...base,
69
+
output: {
70
+
...output('cjs', '.js'),
71
+
exports: 'default',
72
+
},
73
+
input: {
74
+
babel: './src/babel/plugin.js',
75
+
macro: './src/babel/macro.js',
76
+
},
77
+
},
78
+
];
-5
scripts/jest-transform-esm.js
-5
scripts/jest-transform-esm.js
+380
-125
src/babel/__snapshots__/plugin.test.js.snap
+380
-125
src/babel/__snapshots__/plugin.test.js.snap
···
1
1
// Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
3
+
exports[`deduplicates hoisted expressions 1`] = `
4
+
"import { match, __pattern as _pattern } from \\"reghex\\";
5
+
const re = /1/;
6
+
const str = '1';
7
+
8
+
var _re_expression = _pattern(re),
9
+
_str_expression = _pattern(str);
10
+
11
+
const a = function (state) {
12
+
var y1 = state.y,
13
+
x1 = state.x;
14
+
var node = [];
15
+
var x;
16
+
17
+
if ((x = _re_expression(state)) != null) {
18
+
node.push(x);
19
+
} else {
20
+
state.y = y1;
21
+
state.x = x1;
22
+
return;
23
+
}
24
+
25
+
if ((x = _str_expression(state)) != null) {
26
+
node.push(x);
27
+
} else {
28
+
state.y = y1;
29
+
state.x = x1;
30
+
return;
31
+
}
32
+
33
+
if ('a') node.tag = 'a';
34
+
return node;
35
+
};
36
+
37
+
var _b_expression = _pattern('2');
38
+
39
+
const b = function (state) {
40
+
var y1 = state.y,
41
+
x1 = state.x;
42
+
var node = [];
43
+
var x;
44
+
45
+
if ((x = _re_expression(state)) != null) {
46
+
node.push(x);
47
+
} else {
48
+
state.y = y1;
49
+
state.x = x1;
50
+
return;
51
+
}
52
+
53
+
if ((x = _b_expression(state)) != null) {
54
+
node.push(x);
55
+
} else {
56
+
state.y = y1;
57
+
state.x = x1;
58
+
return;
59
+
}
60
+
61
+
if ('b') node.tag = 'b';
62
+
return node;
63
+
};"
64
+
`;
65
+
3
66
exports[`works together with @babel/plugin-transform-modules-commonjs 1`] = `
4
67
"\\"use strict\\";
5
68
6
69
var _reghex = require(\\"reghex\\");
7
70
8
-
var _node_expression = (0, _reghex._pattern)(1),
9
-
_node_expression2 = (0, _reghex._pattern)(2);
71
+
var _node_expression = (0, _reghex.__pattern)(1),
72
+
_node_expression2 = (0, _reghex.__pattern)(2);
10
73
11
-
const node = function _node(state) {
12
-
var last_index = state.index;
13
-
var match,
14
-
node = [];
74
+
const node = function (state) {
75
+
var y1 = state.y,
76
+
x1 = state.x;
77
+
var node = [];
78
+
var x;
15
79
16
-
if (match = (0, _reghex._exec)(state, _node_expression)) {
17
-
node.push(match);
80
+
if ((x = _node_expression(state)) != null) {
81
+
node.push(x);
18
82
} else {
19
-
state.index = last_index;
83
+
state.y = y1;
84
+
state.x = x1;
20
85
return;
21
86
}
22
87
23
-
if (match = (0, _reghex._exec)(state, _node_expression2)) {
24
-
node.push(match);
88
+
if ((x = _node_expression2(state)) != null) {
89
+
node.push(x);
25
90
} else {
26
-
state.index = last_index;
91
+
state.y = y1;
92
+
state.x = x1;
27
93
return;
28
94
}
29
95
30
-
return (0, _reghex.tag)(node, 'node');
96
+
if ('node') node.tag = 'node';
97
+
return node;
31
98
};"
32
99
`;
33
100
101
+
exports[`works while only minifying 1`] = `
102
+
"import { match } from 'reghex/macro';
103
+
const node = match('node')([\\"\\", \\"+|\\", \\"+(\\", \\"(\\", \\"?\\", \\"))*\\"], 1, 2, 3, 4, 5);"
104
+
`;
105
+
34
106
exports[`works with local recursion 1`] = `
35
-
"import { tag, _exec, _pattern } from 'reghex';
107
+
"import { match as m, tag, __pattern as _pattern } from 'reghex';
36
108
37
109
var _inner_expression = _pattern(/inner/);
38
110
39
-
const inner = function _inner(state) {
40
-
var last_index = state.index;
41
-
var match,
42
-
node = [];
111
+
const inner = function (state) {
112
+
var y1 = state.y,
113
+
x1 = state.x;
114
+
var node = [];
115
+
var x;
43
116
44
-
if (match = _exec(state, _inner_expression)) {
45
-
node.push(match);
117
+
if ((x = _inner_expression(state)) != null) {
118
+
node.push(x);
46
119
} else {
47
-
state.index = last_index;
120
+
state.y = y1;
121
+
state.x = x1;
48
122
return;
49
123
}
50
124
51
-
return tag(node, 'inner');
125
+
if ('inner') node.tag = 'inner';
126
+
return node;
52
127
};
53
128
54
-
const node = function _node(state) {
55
-
var last_index = state.index;
56
-
var match,
57
-
node = [];
129
+
const node = function (state) {
130
+
var y1 = state.y,
131
+
x1 = state.x;
132
+
var node = [];
133
+
var x;
58
134
59
-
if (match = inner(state)) {
60
-
node.push(match);
135
+
if ((x = inner(state)) != null) {
136
+
node.push(x);
61
137
} else {
62
-
state.index = last_index;
138
+
state.y = y1;
139
+
state.x = x1;
63
140
return;
64
141
}
65
142
66
-
return tag(node, 'node');
143
+
if ('node') node.tag = 'node';
144
+
return node;
145
+
};"
146
+
`;
147
+
148
+
exports[`works with nameless matchers 1`] = `
149
+
"import { match, __pattern as _pattern } from \\"reghex\\";
150
+
151
+
var _objectObject_expression = _pattern(1),
152
+
_objectObject_expression2 = _pattern(2),
153
+
_objectObject_expression3 = _pattern(3),
154
+
_objectObject_expression4 = _pattern(4),
155
+
_objectObject_expression5 = _pattern(5);
156
+
157
+
const node = function (state) {
158
+
var y1 = state.y,
159
+
x1 = state.x;
160
+
var node = [];
161
+
var x;
162
+
163
+
alt_2: {
164
+
block_2: {
165
+
var y2 = state.y,
166
+
x2 = state.x;
167
+
168
+
if ((x = _objectObject_expression(state)) != null) {
169
+
node.push(x);
170
+
} else {
171
+
state.y = y2;
172
+
state.x = x2;
173
+
break block_2;
174
+
}
175
+
176
+
group_2: for (;;) {
177
+
var y2 = state.y,
178
+
x2 = state.x;
179
+
180
+
if ((x = _objectObject_expression(state)) != null) {
181
+
node.push(x);
182
+
} else {
183
+
state.y = y2;
184
+
state.x = x2;
185
+
break group_2;
186
+
}
187
+
}
188
+
189
+
break alt_2;
190
+
}
191
+
192
+
if ((x = _objectObject_expression2(state)) != null) {
193
+
node.push(x);
194
+
} else {
195
+
state.y = y1;
196
+
state.x = x1;
197
+
return;
198
+
}
199
+
200
+
group_2: for (;;) {
201
+
var y2 = state.y,
202
+
x2 = state.x;
203
+
204
+
if ((x = _objectObject_expression2(state)) != null) {
205
+
node.push(x);
206
+
} else {
207
+
state.y = y2;
208
+
state.x = x2;
209
+
break group_2;
210
+
}
211
+
}
212
+
213
+
group_2: for (;;) {
214
+
var y2 = state.y,
215
+
x2 = state.x;
216
+
var ln2 = node.length;
217
+
218
+
if ((x = _objectObject_expression3(state)) != null) {
219
+
node.push(x);
220
+
} else {
221
+
state.y = y2;
222
+
state.x = x2;
223
+
node.length = ln2;
224
+
break group_2;
225
+
}
226
+
227
+
var y4 = state.y,
228
+
x4 = state.x;
229
+
230
+
if ((x = _objectObject_expression4(state)) != null) {
231
+
node.push(x);
232
+
} else {
233
+
state.y = y4;
234
+
state.x = x4;
235
+
}
236
+
237
+
if ((x = _objectObject_expression5(state)) != null) {
238
+
node.push(x);
239
+
} else {
240
+
state.y = y2;
241
+
state.x = x2;
242
+
node.length = ln2;
243
+
break group_2;
244
+
}
245
+
}
246
+
}
247
+
248
+
if (null) node.tag = null;
249
+
return node;
67
250
};"
68
251
`;
69
252
70
253
exports[`works with non-capturing groups 1`] = `
71
-
"import { _exec, _pattern, tag as _tag } from 'reghex';
254
+
"import { match, __pattern as _pattern } from 'reghex';
72
255
73
256
var _node_expression = _pattern(1),
74
257
_node_expression2 = _pattern(2),
75
258
_node_expression3 = _pattern(3);
76
259
77
-
const node = function _node(state) {
78
-
var last_index = state.index;
79
-
var match,
80
-
node = [];
260
+
const node = function (state) {
261
+
var y1 = state.y,
262
+
x1 = state.x;
263
+
var node = [];
264
+
var x;
81
265
82
-
if (match = _exec(state, _node_expression)) {
83
-
node.push(match);
266
+
if ((x = _node_expression(state)) != null) {
267
+
node.push(x);
84
268
} else {
85
-
state.index = last_index;
269
+
state.y = y1;
270
+
state.x = x1;
86
271
return;
87
272
}
88
273
89
-
var length_0 = node.length;
274
+
var ln2 = node.length;
90
275
91
-
alternation_1: {
92
-
block_1: {
93
-
var index_1 = state.index;
276
+
alt_3: {
277
+
block_3: {
278
+
var y3 = state.y,
279
+
x3 = state.x;
94
280
95
-
if (match = _exec(state, _node_expression2)) {
96
-
node.push(match);
281
+
if ((x = _node_expression2(state)) != null) {
282
+
node.push(x);
97
283
} else {
98
-
node.length = length_0;
99
-
state.index = index_1;
100
-
break block_1;
284
+
state.y = y3;
285
+
state.x = x3;
286
+
node.length = ln2;
287
+
break block_3;
101
288
}
102
289
103
-
break alternation_1;
290
+
break alt_3;
104
291
}
105
292
106
-
loop_1: for (var iter_1 = 0; true; iter_1++) {
107
-
var index_1 = state.index;
293
+
if ((x = _node_expression3(state)) == null) {
294
+
state.y = y1;
295
+
state.x = x1;
296
+
node.length = ln2;
297
+
return;
298
+
}
108
299
109
-
if (!_exec(state, _node_expression3)) {
110
-
if (iter_1) {
111
-
state.index = index_1;
112
-
break loop_1;
113
-
}
300
+
group_3: for (;;) {
301
+
var y3 = state.y,
302
+
x3 = state.x;
114
303
115
-
node.length = length_0;
116
-
state.index = last_index;
117
-
return;
304
+
if ((x = _node_expression3(state)) == null) {
305
+
state.y = y3;
306
+
state.x = x3;
307
+
break group_3;
118
308
}
119
309
}
120
310
}
121
311
122
-
return _tag(node, 'node');
312
+
if ('node') node.tag = 'node';
313
+
return node;
314
+
};"
315
+
`;
316
+
317
+
exports[`works with self-referential thunks 1`] = `
318
+
"import { match, tag, __pattern as _pattern } from 'reghex';
319
+
320
+
const inner = function (state) {
321
+
var y1 = state.y,
322
+
x1 = state.x;
323
+
var node = [];
324
+
var x;
325
+
326
+
if ((x = node(state)) != null) {
327
+
node.push(x);
328
+
} else {
329
+
state.y = y1;
330
+
state.x = x1;
331
+
return;
332
+
}
333
+
334
+
if ('inner') node.tag = 'inner';
335
+
return node;
336
+
};
337
+
338
+
const node = function (state) {
339
+
var y1 = state.y,
340
+
x1 = state.x;
341
+
var node = [];
342
+
var x;
343
+
344
+
if ((x = inner(state)) != null) {
345
+
node.push(x);
346
+
} else {
347
+
state.y = y1;
348
+
state.x = x1;
349
+
return;
350
+
}
351
+
352
+
if ('node') node.tag = 'node';
353
+
return node;
123
354
};"
124
355
`;
125
356
126
357
exports[`works with standard features 1`] = `
127
-
"import { _exec, _pattern, tag as _tag } from \\"reghex\\";
358
+
"import { match, __pattern as _pattern } from \\"reghex\\";
128
359
129
360
var _node_expression = _pattern(1),
130
361
_node_expression2 = _pattern(2),
···
132
363
_node_expression4 = _pattern(4),
133
364
_node_expression5 = _pattern(5);
134
365
135
-
const node = function _node(state) {
136
-
var last_index = state.index;
137
-
var match,
138
-
node = [];
366
+
const node = function (state) {
367
+
var y1 = state.y,
368
+
x1 = state.x;
369
+
var node = [];
370
+
var x;
139
371
140
-
block_0: {
141
-
var index_0 = state.index;
372
+
alt_2: {
373
+
block_2: {
374
+
var y2 = state.y,
375
+
x2 = state.x;
142
376
143
-
loop_0: for (var iter_0 = 0; true; iter_0++) {
144
-
var index_0 = state.index;
145
-
146
-
if (match = _exec(state, _node_expression)) {
147
-
node.push(match);
377
+
if ((x = _node_expression(state)) != null) {
378
+
node.push(x);
148
379
} else {
149
-
if (iter_0) {
150
-
state.index = index_0;
151
-
break loop_0;
152
-
}
153
-
154
-
state.index = index_0;
155
-
break block_0;
380
+
state.y = y2;
381
+
state.x = x2;
382
+
break block_2;
156
383
}
157
-
}
158
-
159
-
return _tag(node, 'node');
160
-
}
161
384
162
-
loop_0: for (var iter_0 = 0; true; iter_0++) {
163
-
var index_0 = state.index;
385
+
group_2: for (;;) {
386
+
var y2 = state.y,
387
+
x2 = state.x;
164
388
165
-
if (match = _exec(state, _node_expression2)) {
166
-
node.push(match);
167
-
} else {
168
-
if (iter_0) {
169
-
state.index = index_0;
170
-
break loop_0;
389
+
if ((x = _node_expression(state)) != null) {
390
+
node.push(x);
391
+
} else {
392
+
state.y = y2;
393
+
state.x = x2;
394
+
break group_2;
395
+
}
171
396
}
172
397
173
-
state.index = last_index;
174
-
return;
398
+
break alt_2;
175
399
}
176
-
}
177
400
178
-
loop_0: while (true) {
179
-
var index_0 = state.index;
180
-
var length_0 = node.length;
181
-
182
-
if (match = _exec(state, _node_expression3)) {
183
-
node.push(match);
401
+
if ((x = _node_expression2(state)) != null) {
402
+
node.push(x);
184
403
} else {
185
-
node.length = length_0;
186
-
state.index = index_0;
187
-
break loop_0;
404
+
state.y = y1;
405
+
state.x = x1;
406
+
return;
188
407
}
189
408
190
-
var index_2 = state.index;
409
+
group_2: for (;;) {
410
+
var y2 = state.y,
411
+
x2 = state.x;
191
412
192
-
if (match = _exec(state, _node_expression4)) {
193
-
node.push(match);
194
-
} else {
195
-
state.index = index_2;
413
+
if ((x = _node_expression2(state)) != null) {
414
+
node.push(x);
415
+
} else {
416
+
state.y = y2;
417
+
state.x = x2;
418
+
break group_2;
419
+
}
196
420
}
197
421
198
-
if (match = _exec(state, _node_expression5)) {
199
-
node.push(match);
200
-
} else {
201
-
node.length = length_0;
202
-
state.index = index_0;
203
-
break loop_0;
422
+
group_2: for (;;) {
423
+
var y2 = state.y,
424
+
x2 = state.x;
425
+
var ln2 = node.length;
426
+
427
+
if ((x = _node_expression3(state)) != null) {
428
+
node.push(x);
429
+
} else {
430
+
state.y = y2;
431
+
state.x = x2;
432
+
node.length = ln2;
433
+
break group_2;
434
+
}
435
+
436
+
var y4 = state.y,
437
+
x4 = state.x;
438
+
439
+
if ((x = _node_expression4(state)) != null) {
440
+
node.push(x);
441
+
} else {
442
+
state.y = y4;
443
+
state.x = x4;
444
+
}
445
+
446
+
if ((x = _node_expression5(state)) != null) {
447
+
node.push(x);
448
+
} else {
449
+
state.y = y2;
450
+
state.x = x2;
451
+
node.length = ln2;
452
+
break group_2;
453
+
}
204
454
}
205
455
}
206
456
207
-
return _tag(node, 'node');
457
+
if ('node') node.tag = 'node';
458
+
return node;
208
459
};"
209
460
`;
210
461
211
462
exports[`works with transform functions 1`] = `
212
-
"import { _exec, _pattern, tag as _tag } from 'reghex';
463
+
"import { match, __pattern as _pattern } from 'reghex';
213
464
214
465
var _inner_transform = x => x;
215
466
216
-
const first = function _inner(state) {
217
-
var last_index = state.index;
218
-
var match,
219
-
node = [];
220
-
return _inner_transform(_tag(node, 'inner'));
467
+
const first = function (state) {
468
+
var y1 = state.y,
469
+
x1 = state.x;
470
+
var node = [];
471
+
var x;
472
+
if ('inner') node.tag = 'inner';
473
+
return _inner_transform(node);
221
474
};
222
475
223
476
const transform = x => x;
224
477
225
-
const second = function _node(state) {
226
-
var last_index = state.index;
227
-
var match,
228
-
node = [];
229
-
return transform(_tag(node, 'node'));
478
+
const second = function (state) {
479
+
var y1 = state.y,
480
+
x1 = state.x;
481
+
var node = [];
482
+
var x;
483
+
if ('node') node.tag = 'node';
484
+
return transform(node);
230
485
};"
231
486
`;
-574
src/babel/__tests__/suite.js
-574
src/babel/__tests__/suite.js
···
1
-
import * as reghex from '../../..';
2
-
import * as types from '@babel/types';
3
-
import { transform } from '@babel/core';
4
-
import { makeHelpers } from '../transform';
5
-
6
-
const match = (name) => (quasis, ...expressions) => {
7
-
const helpers = makeHelpers(types);
8
-
9
-
let str = '';
10
-
for (let i = 0; i < quasis.length; i++) {
11
-
str += quasis[i];
12
-
if (i < expressions.length) str += '${' + expressions[i].toString() + '}';
13
-
}
14
-
15
-
const template = `(function () { return match('${name}')\`${str}\`; })()`;
16
-
17
-
const testPlugin = () => ({
18
-
visitor: {
19
-
TaggedTemplateExpression(path) {
20
-
helpers.transformMatch(path);
21
-
},
22
-
},
23
-
});
24
-
25
-
const { code } = transform(template, {
26
-
babelrc: false,
27
-
presets: [],
28
-
plugins: [testPlugin],
29
-
});
30
-
31
-
const argKeys = Object.keys(reghex).filter((x) => {
32
-
return x.startsWith('_') || x === 'tag';
33
-
});
34
-
35
-
const args = argKeys.map((key) => reghex[key]);
36
-
return new Function(...argKeys, 'return ' + code)(...args);
37
-
};
38
-
39
-
const expectToParse = (node, input, result, lastIndex = 0) => {
40
-
const state = { input, index: 0 };
41
-
expect(node(state)).toEqual(
42
-
result === undefined ? result : reghex.tag(result, 'node')
43
-
);
44
-
45
-
// NOTE: After parsing we expect the current index to exactly match the
46
-
// sum amount of matched characters
47
-
if (result === undefined) {
48
-
expect(state.index).toBe(0);
49
-
} else {
50
-
const index = lastIndex || result.reduce((acc, x) => acc + x.length, 0);
51
-
expect(state.index).toBe(index);
52
-
}
53
-
};
54
-
55
-
describe('required matcher', () => {
56
-
const node = match('node')`${/1/}`;
57
-
it.each`
58
-
input | result
59
-
${'1'} | ${['1']}
60
-
${''} | ${undefined}
61
-
`('should return $result when $input is passed', ({ input, result }) => {
62
-
expectToParse(node, input, result);
63
-
});
64
-
});
65
-
66
-
describe('optional matcher', () => {
67
-
const node = match('node')`${/1/}?`;
68
-
it.each`
69
-
input | result
70
-
${'1'} | ${['1']}
71
-
${'_'} | ${[]}
72
-
${''} | ${[]}
73
-
`('should return $result when $input is passed', ({ input, result }) => {
74
-
expectToParse(node, input, result);
75
-
});
76
-
});
77
-
78
-
describe('star matcher', () => {
79
-
const node = match('node')`${/1/}*`;
80
-
it.each`
81
-
input | result
82
-
${'1'} | ${['1']}
83
-
${'11'} | ${['1', '1']}
84
-
${'111'} | ${['1', '1', '1']}
85
-
${'_'} | ${[]}
86
-
${''} | ${[]}
87
-
`('should return $result when "$input" is passed', ({ input, result }) => {
88
-
expectToParse(node, input, result);
89
-
});
90
-
});
91
-
92
-
describe('plus matcher', () => {
93
-
const node = match('node')`${/1/}+`;
94
-
it.each`
95
-
input | result
96
-
${'1'} | ${['1']}
97
-
${'11'} | ${['1', '1']}
98
-
${'111'} | ${['1', '1', '1']}
99
-
${'_'} | ${undefined}
100
-
${''} | ${undefined}
101
-
`('should return $result when "$input" is passed', ({ input, result }) => {
102
-
expectToParse(node, input, result);
103
-
});
104
-
});
105
-
106
-
describe('optional then required matcher', () => {
107
-
const node = match('node')`${/1/}? ${/2/}`;
108
-
it.each`
109
-
input | result
110
-
${'12'} | ${['1', '2']}
111
-
${'2'} | ${['2']}
112
-
${''} | ${undefined}
113
-
`('should return $result when $input is passed', ({ input, result }) => {
114
-
expectToParse(node, input, result);
115
-
});
116
-
});
117
-
118
-
describe('star then required matcher', () => {
119
-
const node = match('node')`${/1/}* ${/2/}`;
120
-
it.each`
121
-
input | result
122
-
${'12'} | ${['1', '2']}
123
-
${'112'} | ${['1', '1', '2']}
124
-
${'2'} | ${['2']}
125
-
${''} | ${undefined}
126
-
`('should return $result when $input is passed', ({ input, result }) => {
127
-
expectToParse(node, input, result);
128
-
});
129
-
});
130
-
131
-
describe('plus then required matcher', () => {
132
-
const node = match('node')`${/1/}+ ${/2/}`;
133
-
it.each`
134
-
input | result
135
-
${'12'} | ${['1', '2']}
136
-
${'112'} | ${['1', '1', '2']}
137
-
${'2'} | ${undefined}
138
-
${''} | ${undefined}
139
-
`('should return $result when $input is passed', ({ input, result }) => {
140
-
expectToParse(node, input, result);
141
-
});
142
-
});
143
-
144
-
describe('optional group then required matcher', () => {
145
-
const node = match('node')`(${/1/} ${/2/})? ${/3/}`;
146
-
it.each`
147
-
input | result
148
-
${'123'} | ${['1', '2', '3']}
149
-
${'3'} | ${['3']}
150
-
${'_'} | ${undefined}
151
-
`('should return $result when $input is passed', ({ input, result }) => {
152
-
expectToParse(node, input, result);
153
-
});
154
-
});
155
-
156
-
describe('star group then required matcher', () => {
157
-
const node = match('node')`(${/1/} ${/2/})* ${/3/}`;
158
-
it.each`
159
-
input | result
160
-
${'123'} | ${['1', '2', '3']}
161
-
${'12123'} | ${['1', '2', '1', '2', '3']}
162
-
${'3'} | ${['3']}
163
-
${'13'} | ${undefined}
164
-
${'_'} | ${undefined}
165
-
`('should return $result when $input is passed', ({ input, result }) => {
166
-
expectToParse(node, input, result);
167
-
});
168
-
});
169
-
170
-
describe('plus group then required matcher', () => {
171
-
const node = match('node')`(${/1/} ${/2/})+ ${/3/}`;
172
-
it.each`
173
-
input | result
174
-
${'123'} | ${['1', '2', '3']}
175
-
${'12123'} | ${['1', '2', '1', '2', '3']}
176
-
${'3'} | ${undefined}
177
-
${'13'} | ${undefined}
178
-
${'_'} | ${undefined}
179
-
`('should return $result when $input is passed', ({ input, result }) => {
180
-
expectToParse(node, input, result);
181
-
});
182
-
});
183
-
184
-
describe('optional group with nested optional matcher, then required matcher', () => {
185
-
const node = match('node')`(${/1/}? ${/2/})? ${/3/}`;
186
-
it.each`
187
-
input | result
188
-
${'123'} | ${['1', '2', '3']}
189
-
${'23'} | ${['2', '3']}
190
-
${'3'} | ${['3']}
191
-
${'13'} | ${undefined}
192
-
${'_'} | ${undefined}
193
-
`('should return $result when $input is passed', ({ input, result }) => {
194
-
expectToParse(node, input, result);
195
-
});
196
-
});
197
-
198
-
describe('star group with nested optional matcher, then required matcher', () => {
199
-
const node = match('node')`(${/1/}? ${/2/})* ${/3/}`;
200
-
it.each`
201
-
input | result
202
-
${'123'} | ${['1', '2', '3']}
203
-
${'23'} | ${['2', '3']}
204
-
${'223'} | ${['2', '2', '3']}
205
-
${'2123'} | ${['2', '1', '2', '3']}
206
-
${'3'} | ${['3']}
207
-
${'13'} | ${undefined}
208
-
${'_'} | ${undefined}
209
-
`('should return $result when $input is passed', ({ input, result }) => {
210
-
expectToParse(node, input, result);
211
-
});
212
-
});
213
-
214
-
describe('plus group with nested optional matcher, then required matcher', () => {
215
-
const node = match('node')`(${/1/}? ${/2/})+ ${/3/}`;
216
-
it.each`
217
-
input | result
218
-
${'123'} | ${['1', '2', '3']}
219
-
${'23'} | ${['2', '3']}
220
-
${'223'} | ${['2', '2', '3']}
221
-
${'2123'} | ${['2', '1', '2', '3']}
222
-
${'3'} | ${undefined}
223
-
${'13'} | ${undefined}
224
-
${'_'} | ${undefined}
225
-
`('should return $result when $input is passed', ({ input, result }) => {
226
-
expectToParse(node, input, result);
227
-
});
228
-
});
229
-
230
-
describe('plus group with nested plus matcher, then required matcher', () => {
231
-
const node = match('node')`(${/1/}+ ${/2/})+ ${/3/}`;
232
-
it.each`
233
-
input | result
234
-
${'123'} | ${['1', '2', '3']}
235
-
${'1123'} | ${['1', '1', '2', '3']}
236
-
${'12123'} | ${['1', '2', '1', '2', '3']}
237
-
${'121123'} | ${['1', '2', '1', '1', '2', '3']}
238
-
${'3'} | ${undefined}
239
-
${'23'} | ${undefined}
240
-
${'13'} | ${undefined}
241
-
${'_'} | ${undefined}
242
-
`('should return $result when $input is passed', ({ input, result }) => {
243
-
expectToParse(node, input, result);
244
-
});
245
-
});
246
-
247
-
describe('plus group with nested required and plus matcher, then required matcher', () => {
248
-
const node = match('node')`(${/1/} ${/2/}+)+ ${/3/}`;
249
-
it.each`
250
-
input | result
251
-
${'123'} | ${['1', '2', '3']}
252
-
${'1223'} | ${['1', '2', '2', '3']}
253
-
${'122123'} | ${['1', '2', '2', '1', '2', '3']}
254
-
${'13'} | ${undefined}
255
-
${'_'} | ${undefined}
256
-
`('should return $result when $input is passed', ({ input, result }) => {
257
-
expectToParse(node, input, result);
258
-
});
259
-
});
260
-
261
-
describe('nested plus group with nested required and plus matcher, then required matcher or alternate', () => {
262
-
const node = match('node')`(${/1/} ${/2/}+)+ ${/3/} | ${/1/}`;
263
-
it.each`
264
-
input | result
265
-
${'123'} | ${['1', '2', '3']}
266
-
${'1223'} | ${['1', '2', '2', '3']}
267
-
${'122123'} | ${['1', '2', '2', '1', '2', '3']}
268
-
${'1'} | ${['1']}
269
-
${'13'} | ${['1']}
270
-
${'_'} | ${undefined}
271
-
`('should return $result when $input is passed', ({ input, result }) => {
272
-
expectToParse(node, input, result);
273
-
});
274
-
});
275
-
276
-
describe('nested plus group with nested required and plus matcher, then alternate', () => {
277
-
const node = match('node')`(${/1/} ${/2/}+)+ (${/3/} | ${/4/})`;
278
-
it.each`
279
-
input | result
280
-
${'123'} | ${['1', '2', '3']}
281
-
${'124'} | ${['1', '2', '4']}
282
-
${'1223'} | ${['1', '2', '2', '3']}
283
-
${'1224'} | ${['1', '2', '2', '4']}
284
-
${'1'} | ${undefined}
285
-
${'13'} | ${undefined}
286
-
${'_'} | ${undefined}
287
-
`('should return $result when $input is passed', ({ input, result }) => {
288
-
expectToParse(node, input, result);
289
-
});
290
-
});
291
-
292
-
describe('regular alternate', () => {
293
-
const node = match('node')`${/1/} | ${/2/} | ${/3/} | ${/4/}`;
294
-
it.each`
295
-
input | result
296
-
${'1'} | ${['1']}
297
-
${'2'} | ${['2']}
298
-
${'3'} | ${['3']}
299
-
${'4'} | ${['4']}
300
-
${'_'} | ${undefined}
301
-
`('should return $result when $input is passed', ({ input, result }) => {
302
-
expectToParse(node, input, result);
303
-
});
304
-
});
305
-
306
-
describe('nested alternate in nested alternate in alternate', () => {
307
-
const node = match('node')`((${/1/} | ${/2/}) | ${/3/}) | ${/4/}`;
308
-
it.each`
309
-
input | result
310
-
${'1'} | ${['1']}
311
-
${'2'} | ${['2']}
312
-
${'3'} | ${['3']}
313
-
${'4'} | ${['4']}
314
-
${'_'} | ${undefined}
315
-
`('should return $result when $input is passed', ({ input, result }) => {
316
-
expectToParse(node, input, result);
317
-
});
318
-
});
319
-
320
-
describe('alternate after required matcher', () => {
321
-
const node = match('node')`${/1/} (${/2/} | ${/3/})`;
322
-
it.each`
323
-
input | result
324
-
${'12'} | ${['1', '2']}
325
-
${'13'} | ${['1', '3']}
326
-
${'14'} | ${undefined}
327
-
${'3'} | ${undefined}
328
-
${'_'} | ${undefined}
329
-
`('should return $result when $input is passed', ({ input, result }) => {
330
-
expectToParse(node, input, result);
331
-
});
332
-
});
333
-
334
-
describe('alternate with star group and required matcher after required matcher', () => {
335
-
const node = match('node')`${/1/} (${/2/}* ${/3/} | ${/4/})`;
336
-
it.each`
337
-
input | result
338
-
${'123'} | ${['1', '2', '3']}
339
-
${'1223'} | ${['1', '2', '2', '3']}
340
-
${'13'} | ${['1', '3']}
341
-
${'14'} | ${['1', '4']}
342
-
${'12'} | ${undefined}
343
-
${'15'} | ${undefined}
344
-
${'_'} | ${undefined}
345
-
`('should return $result when $input is passed', ({ input, result }) => {
346
-
expectToParse(node, input, result);
347
-
});
348
-
});
349
-
350
-
describe('alternate with plus group and required matcher after required matcher', () => {
351
-
const node = match('node')`${/1/} (${/2/}+ ${/3/} | ${/4/})`;
352
-
it.each`
353
-
input | result
354
-
${'123'} | ${['1', '2', '3']}
355
-
${'1223'} | ${['1', '2', '2', '3']}
356
-
${'14'} | ${['1', '4']}
357
-
${'13'} | ${undefined}
358
-
${'12'} | ${undefined}
359
-
${'15'} | ${undefined}
360
-
${'_'} | ${undefined}
361
-
`('should return $result when $input is passed', ({ input, result }) => {
362
-
expectToParse(node, input, result);
363
-
});
364
-
});
365
-
366
-
describe('alternate with optional and required matcher after required matcher', () => {
367
-
const node = match('node')`${/1/} (${/2/}? ${/3/} | ${/4/})`;
368
-
it.each`
369
-
input | result
370
-
${'123'} | ${['1', '2', '3']}
371
-
${'13'} | ${['1', '3']}
372
-
${'14'} | ${['1', '4']}
373
-
${'12'} | ${undefined}
374
-
${'15'} | ${undefined}
375
-
${'_'} | ${undefined}
376
-
`('should return $result when $input is passed', ({ input, result }) => {
377
-
expectToParse(node, input, result);
378
-
});
379
-
});
380
-
381
-
describe('non-capturing group', () => {
382
-
const node = match('node')`${/1/} (?: ${/2/}+)`;
383
-
it.each`
384
-
input | result | lastIndex
385
-
${'12'} | ${['1']} | ${2}
386
-
${'122'} | ${['1']} | ${3}
387
-
${'13'} | ${undefined} | ${0}
388
-
${'1'} | ${undefined} | ${0}
389
-
${'_'} | ${undefined} | ${0}
390
-
`(
391
-
'should return $result when $input is passed',
392
-
({ input, result, lastIndex }) => {
393
-
expectToParse(node, input, result, lastIndex);
394
-
}
395
-
);
396
-
});
397
-
398
-
describe('non-capturing group with plus matcher, then required matcher', () => {
399
-
const node = match('node')`(?: ${/1/}+) ${/2/}`;
400
-
it.each`
401
-
input | result | lastIndex
402
-
${'12'} | ${['2']} | ${2}
403
-
${'112'} | ${['2']} | ${3}
404
-
${'1'} | ${undefined} | ${0}
405
-
${'13'} | ${undefined} | ${0}
406
-
${'2'} | ${undefined} | ${0}
407
-
${'_'} | ${undefined} | ${0}
408
-
`(
409
-
'should return $result when $input is passed',
410
-
({ input, result, lastIndex }) => {
411
-
expectToParse(node, input, result, lastIndex);
412
-
}
413
-
);
414
-
});
415
-
416
-
describe('non-capturing group with star group and required matcher, then required matcher', () => {
417
-
const node = match('node')`(?: ${/1/}* ${/2/}) ${/3/}`;
418
-
it.each`
419
-
input | result | lastIndex
420
-
${'123'} | ${['3']} | ${3}
421
-
${'1123'} | ${['3']} | ${4}
422
-
${'23'} | ${['3']} | ${2}
423
-
${'13'} | ${undefined} | ${0}
424
-
${'2'} | ${undefined} | ${0}
425
-
${'_'} | ${undefined} | ${0}
426
-
`(
427
-
'should return $result when $input is passed',
428
-
({ input, result, lastIndex }) => {
429
-
expectToParse(node, input, result, lastIndex);
430
-
}
431
-
);
432
-
});
433
-
434
-
describe('non-capturing group with plus group and required matcher, then required matcher', () => {
435
-
const node = match('node')`(?: ${/1/}+ ${/2/}) ${/3/}`;
436
-
it.each`
437
-
input | result | lastIndex
438
-
${'123'} | ${['3']} | ${3}
439
-
${'1123'} | ${['3']} | ${4}
440
-
${'23'} | ${undefined} | ${0}
441
-
${'13'} | ${undefined} | ${0}
442
-
${'2'} | ${undefined} | ${0}
443
-
${'_'} | ${undefined} | ${0}
444
-
`(
445
-
'should return $result when $input is passed',
446
-
({ input, result, lastIndex }) => {
447
-
expectToParse(node, input, result, lastIndex);
448
-
}
449
-
);
450
-
});
451
-
452
-
describe('non-capturing group with optional and required matcher, then required matcher', () => {
453
-
const node = match('node')`(?: ${/1/}? ${/2/}) ${/3/}`;
454
-
it.each`
455
-
input | result | lastIndex
456
-
${'123'} | ${['3']} | ${3}
457
-
${'23'} | ${['3']} | ${2}
458
-
${'13'} | ${undefined} | ${0}
459
-
${'2'} | ${undefined} | ${0}
460
-
${'_'} | ${undefined} | ${0}
461
-
`(
462
-
'should return $result when $input is passed',
463
-
({ input, result, lastIndex }) => {
464
-
expectToParse(node, input, result, lastIndex);
465
-
}
466
-
);
467
-
});
468
-
469
-
describe('positive lookahead group', () => {
470
-
const node = match('node')`(?= ${/1/}) ${/\d/}`;
471
-
it.each`
472
-
input | result | lastIndex
473
-
${'1'} | ${['1']} | ${1}
474
-
${'13'} | ${['1']} | ${1}
475
-
${'2'} | ${undefined} | ${0}
476
-
${'_'} | ${undefined} | ${0}
477
-
`(
478
-
'should return $result when $input is passed',
479
-
({ input, result, lastIndex }) => {
480
-
expectToParse(node, input, result, lastIndex);
481
-
}
482
-
);
483
-
});
484
-
485
-
describe('positive lookahead group with plus matcher', () => {
486
-
const node = match('node')`(?= ${/1/}+) ${/\d/}`;
487
-
it.each`
488
-
input | result | lastIndex
489
-
${'1'} | ${['1']} | ${1}
490
-
${'11'} | ${['1']} | ${1}
491
-
${'12'} | ${['1']} | ${1}
492
-
${'22'} | ${undefined} | ${0}
493
-
${'2'} | ${undefined} | ${0}
494
-
${'_'} | ${undefined} | ${0}
495
-
`(
496
-
'should return $result when $input is passed',
497
-
({ input, result, lastIndex }) => {
498
-
expectToParse(node, input, result, lastIndex);
499
-
}
500
-
);
501
-
});
502
-
503
-
describe('positive lookahead group with plus group and required matcher', () => {
504
-
const node = match('node')`(?= ${/1/}+ ${/2/}) ${/\d/}`;
505
-
it.each`
506
-
input | result | lastIndex
507
-
${'12'} | ${['1']} | ${1}
508
-
${'112'} | ${['1']} | ${1}
509
-
${'1123'} | ${['1']} | ${1}
510
-
${'2'} | ${undefined} | ${0}
511
-
${'1'} | ${undefined} | ${0}
512
-
${'2'} | ${undefined} | ${0}
513
-
${'_'} | ${undefined} | ${0}
514
-
`(
515
-
'should return $result when $input is passed',
516
-
({ input, result, lastIndex }) => {
517
-
expectToParse(node, input, result, lastIndex);
518
-
}
519
-
);
520
-
});
521
-
522
-
describe('negative lookahead group', () => {
523
-
const node = match('node')`(?! ${/1/}) ${/\d/}`;
524
-
it.each`
525
-
input | result | lastIndex
526
-
${'2'} | ${['2']} | ${1}
527
-
${'23'} | ${['2']} | ${1}
528
-
${'1'} | ${undefined} | ${0}
529
-
${'1'} | ${undefined} | ${0}
530
-
${'_'} | ${undefined} | ${0}
531
-
`(
532
-
'should return $result when $input is passed',
533
-
({ input, result, lastIndex }) => {
534
-
expectToParse(node, input, result, lastIndex);
535
-
}
536
-
);
537
-
});
538
-
539
-
describe('negative lookahead group with plus matcher', () => {
540
-
const node = match('node')`(?! ${/1/}+) ${/\d/}`;
541
-
it.each`
542
-
input | result | lastIndex
543
-
${'2'} | ${['2']} | ${1}
544
-
${'21'} | ${['2']} | ${1}
545
-
${'22'} | ${['2']} | ${1}
546
-
${'11'} | ${undefined} | ${0}
547
-
${'1'} | ${undefined} | ${0}
548
-
${'_'} | ${undefined} | ${0}
549
-
`(
550
-
'should return $result when $input is passed',
551
-
({ input, result, lastIndex }) => {
552
-
expectToParse(node, input, result, lastIndex);
553
-
}
554
-
);
555
-
});
556
-
557
-
describe('negative lookahead group with plus group and required matcher', () => {
558
-
const node = match('node')`(?! ${/1/}+ ${/2/}) ${/\d/}`;
559
-
it.each`
560
-
input | result | lastIndex
561
-
${'21'} | ${['2']} | ${1}
562
-
${'211'} | ${['2']} | ${1}
563
-
${'113'} | ${['1']} | ${1}
564
-
${'1'} | ${['1']} | ${1}
565
-
${'112'} | ${undefined} | ${0}
566
-
${'12'} | ${undefined} | ${0}
567
-
${'_'} | ${undefined} | ${0}
568
-
`(
569
-
'should return $result when $input is passed',
570
-
({ input, result, lastIndex }) => {
571
-
expectToParse(node, input, result, lastIndex);
572
-
}
573
-
);
574
-
});
-404
src/babel/generator.js
-404
src/babel/generator.js
···
1
-
let t;
2
-
let ids = {};
3
-
4
-
export function initGenerator(_ids, _t) {
5
-
ids = _ids;
6
-
t = _t;
7
-
}
8
-
9
-
/** var id = state.index; */
10
-
class AssignIndexNode {
11
-
constructor(id) {
12
-
this.id = id;
13
-
}
14
-
15
-
statement() {
16
-
const member = t.memberExpression(ids.state, t.identifier('index'));
17
-
return t.variableDeclaration('var', [
18
-
t.variableDeclarator(this.id, member),
19
-
]);
20
-
}
21
-
}
22
-
23
-
/** state.index = id; */
24
-
class RestoreIndexNode {
25
-
constructor(id) {
26
-
this.id = id;
27
-
}
28
-
29
-
statement() {
30
-
const expression = t.assignmentExpression(
31
-
'=',
32
-
t.memberExpression(ids.state, t.identifier('index')),
33
-
this.id
34
-
);
35
-
36
-
return t.expressionStatement(expression);
37
-
}
38
-
}
39
-
40
-
/** var id = node.length; */
41
-
class AssignLengthNode {
42
-
constructor(id) {
43
-
this.id = id;
44
-
}
45
-
46
-
statement() {
47
-
return t.variableDeclaration('var', [
48
-
t.variableDeclarator(
49
-
this.id,
50
-
t.memberExpression(ids.node, t.identifier('length'))
51
-
),
52
-
]);
53
-
}
54
-
}
55
-
56
-
/** node.length = id; */
57
-
class RestoreLengthNode {
58
-
constructor(id) {
59
-
this.id = id;
60
-
}
61
-
62
-
statement() {
63
-
const expression = t.assignmentExpression(
64
-
'=',
65
-
t.memberExpression(ids.node, t.identifier('length')),
66
-
this.id
67
-
);
68
-
69
-
return t.expressionStatement(expression);
70
-
}
71
-
}
72
-
73
-
/** return; break id; */
74
-
class AbortNode {
75
-
constructor(id) {
76
-
this.id = id || null;
77
-
}
78
-
79
-
statement() {
80
-
const statement = this.id ? t.breakStatement(this.id) : t.returnStatement();
81
-
return statement;
82
-
}
83
-
}
84
-
85
-
/** if (condition) { return; break id; } */
86
-
class AbortConditionNode {
87
-
constructor(condition, opts) {
88
-
this.condition = condition || null;
89
-
90
-
this.abort = opts.abort;
91
-
this.abortCondition = opts.abortCondition || null;
92
-
this.restoreIndex = opts.restoreIndex;
93
-
}
94
-
95
-
statement() {
96
-
return t.ifStatement(
97
-
this.condition,
98
-
t.blockStatement(
99
-
[this.restoreIndex.statement(), this.abort.statement()].filter(Boolean)
100
-
),
101
-
this.abortCondition ? this.abortCondition.statement() : null
102
-
);
103
-
}
104
-
}
105
-
106
-
/** Generates a full matcher for an expression */
107
-
class ExpressionNode {
108
-
constructor(ast, depth, opts) {
109
-
this.ast = ast;
110
-
this.depth = depth || 0;
111
-
this.capturing = !!opts.capturing;
112
-
this.restoreIndex = opts.restoreIndex;
113
-
this.restoreLength = opts.restoreLength || null;
114
-
this.abortCondition = opts.abortCondition || null;
115
-
this.abort = opts.abort || null;
116
-
}
117
-
118
-
statements() {
119
-
const execMatch = this.ast.expression;
120
-
const assignMatch = t.assignmentExpression('=', ids.match, execMatch);
121
-
122
-
const successNodes = t.blockStatement([
123
-
t.expressionStatement(
124
-
t.callExpression(t.memberExpression(ids.node, t.identifier('push')), [
125
-
ids.match,
126
-
])
127
-
),
128
-
]);
129
-
130
-
const abortNodes = t.blockStatement(
131
-
[
132
-
this.abortCondition && this.abortCondition.statement(),
133
-
this.abort && this.restoreLength && this.restoreLength.statement(),
134
-
this.restoreIndex && this.restoreIndex.statement(),
135
-
this.abort && this.abort.statement(),
136
-
].filter(Boolean)
137
-
);
138
-
139
-
return [
140
-
!this.capturing
141
-
? t.ifStatement(t.unaryExpression('!', execMatch), abortNodes)
142
-
: t.ifStatement(assignMatch, successNodes, abortNodes),
143
-
];
144
-
}
145
-
}
146
-
147
-
/** Generates a full matcher for a group */
148
-
class GroupNode {
149
-
constructor(ast, depth, opts) {
150
-
this.ast = ast;
151
-
this.depth = depth || 0;
152
-
if (ast.sequence.length === 1) {
153
-
return new ExpressionNode(ast.sequence[0], depth, opts);
154
-
}
155
-
156
-
const lengthId = t.identifier(`length_${depth}`);
157
-
const childOpts = {
158
-
...opts,
159
-
capturing: !!opts.capturing && !!ast.capturing,
160
-
};
161
-
162
-
this.assignLength = null;
163
-
if (!childOpts.restoreLength && childOpts.capturing) {
164
-
this.assignLength = new AssignLengthNode(lengthId);
165
-
childOpts.restoreLength = new RestoreLengthNode(lengthId);
166
-
}
167
-
168
-
this.alternation = new AlternationNode(ast.sequence, depth + 1, childOpts);
169
-
}
170
-
171
-
statements() {
172
-
return [
173
-
this.assignLength && this.assignLength.statement(),
174
-
...this.alternation.statements(),
175
-
].filter(Boolean);
176
-
}
177
-
}
178
-
179
-
/** Generates looping logic around another group or expression matcher */
180
-
class QuantifierNode {
181
-
constructor(ast, depth, opts) {
182
-
const { quantifier } = ast;
183
-
this.ast = ast;
184
-
this.depth = depth || 0;
185
-
186
-
const invertId = t.identifier(`invert_${this.depth}`);
187
-
const loopId = t.identifier(`loop_${this.depth}`);
188
-
const iterId = t.identifier(`iter_${this.depth}`);
189
-
const indexId = t.identifier(`index_${this.depth}`);
190
-
const ChildNode = ast.type === 'group' ? GroupNode : ExpressionNode;
191
-
const childOpts = { ...opts };
192
-
193
-
this.assignIndex = null;
194
-
this.restoreIndex = null;
195
-
this.blockId = null;
196
-
this.abort = null;
197
-
if (ast.type === 'group' && !!ast.lookahead) {
198
-
this.restoreIndex = new RestoreIndexNode(indexId);
199
-
this.assignIndex = new AssignIndexNode(indexId);
200
-
childOpts.restoreIndex = null;
201
-
}
202
-
203
-
if (ast.type === 'group' && ast.lookahead === 'negative') {
204
-
this.blockId = invertId;
205
-
this.abort = opts.abort;
206
-
childOpts.abort = new AbortNode(invertId);
207
-
}
208
-
209
-
if (quantifier && !quantifier.singular && quantifier.required) {
210
-
childOpts.abortCondition = new AbortConditionNode(iterId, {
211
-
...opts,
212
-
restoreIndex: new RestoreIndexNode(indexId),
213
-
abort: new AbortNode(loopId),
214
-
});
215
-
} else if (quantifier && !quantifier.singular) {
216
-
childOpts.restoreLength = null;
217
-
childOpts.restoreIndex = new RestoreIndexNode(indexId);
218
-
childOpts.abort = new AbortNode(loopId);
219
-
childOpts.abortCondition = null;
220
-
} else if (quantifier && !quantifier.required) {
221
-
childOpts.restoreIndex = new RestoreIndexNode(indexId);
222
-
childOpts.abortCondition = null;
223
-
childOpts.abort = null;
224
-
}
225
-
226
-
this.childNode = new ChildNode(ast, depth, childOpts);
227
-
}
228
-
229
-
statements() {
230
-
const { quantifier } = this.ast;
231
-
const loopId = t.identifier(`loop_${this.depth}`);
232
-
const iterId = t.identifier(`iter_${this.depth}`);
233
-
const indexId = t.identifier(`index_${this.depth}`);
234
-
const assignIndex = new AssignIndexNode(indexId);
235
-
236
-
let statements;
237
-
if (quantifier && !quantifier.singular && quantifier.required) {
238
-
statements = [
239
-
t.labeledStatement(
240
-
loopId,
241
-
t.forStatement(
242
-
t.variableDeclaration('var', [
243
-
t.variableDeclarator(iterId, t.numericLiteral(0)),
244
-
]),
245
-
t.booleanLiteral(true),
246
-
t.updateExpression('++', iterId),
247
-
t.blockStatement([
248
-
assignIndex.statement(),
249
-
...this.childNode.statements(),
250
-
])
251
-
)
252
-
),
253
-
];
254
-
} else if (quantifier && !quantifier.singular) {
255
-
statements = [
256
-
t.labeledStatement(
257
-
loopId,
258
-
t.whileStatement(
259
-
t.booleanLiteral(true),
260
-
t.blockStatement([
261
-
assignIndex.statement(),
262
-
...this.childNode.statements(),
263
-
])
264
-
)
265
-
),
266
-
];
267
-
} else if (quantifier && !quantifier.required) {
268
-
statements = [assignIndex.statement(), ...this.childNode.statements()];
269
-
} else {
270
-
statements = this.childNode.statements();
271
-
}
272
-
273
-
if (this.restoreIndex && this.assignIndex) {
274
-
statements.unshift(this.assignIndex.statement());
275
-
statements.push(this.restoreIndex.statement());
276
-
}
277
-
278
-
if (this.blockId) {
279
-
statements = [
280
-
t.labeledStatement(
281
-
this.blockId,
282
-
t.blockStatement([...statements, this.abort.statement()])
283
-
),
284
-
];
285
-
}
286
-
287
-
return statements;
288
-
}
289
-
}
290
-
291
-
/** Generates a matcher of a sequence of sub-matchers for a single sequence */
292
-
class SequenceNode {
293
-
constructor(ast, depth, opts) {
294
-
this.ast = ast;
295
-
this.depth = depth || 0;
296
-
297
-
const indexId = t.identifier(`index_${depth}`);
298
-
const blockId = t.identifier(`block_${this.depth}`);
299
-
300
-
this.returnStatement = opts.returnStatement;
301
-
this.assignIndex = ast.alternation ? new AssignIndexNode(indexId) : null;
302
-
303
-
this.quantifiers = ast.sequence.map((childAst) => {
304
-
return new QuantifierNode(childAst, depth, {
305
-
...opts,
306
-
restoreIndex: ast.alternation
307
-
? new RestoreIndexNode(indexId)
308
-
: opts.restoreIndex,
309
-
abortCondition: ast.alternation ? null : opts.abortCondition,
310
-
abort: ast.alternation ? new AbortNode(blockId) : opts.abort,
311
-
});
312
-
});
313
-
}
314
-
315
-
statements() {
316
-
const blockId = t.identifier(`block_${this.depth}`);
317
-
const alternationId = t.identifier(`alternation_${this.depth}`);
318
-
const statements = this.quantifiers.reduce((block, node) => {
319
-
block.push(...node.statements());
320
-
return block;
321
-
}, []);
322
-
323
-
if (!this.ast.alternation) {
324
-
return statements;
325
-
}
326
-
327
-
const abortNode =
328
-
this.depth === 0 ? this.returnStatement : t.breakStatement(alternationId);
329
-
330
-
return [
331
-
t.labeledStatement(
332
-
blockId,
333
-
t.blockStatement([
334
-
this.assignIndex && this.assignIndex.statement(),
335
-
...statements,
336
-
abortNode,
337
-
])
338
-
),
339
-
];
340
-
}
341
-
}
342
-
343
-
/** Generates matchers for sequences with (or without) alternations */
344
-
class AlternationNode {
345
-
constructor(ast, depth, opts) {
346
-
this.ast = ast;
347
-
this.depth = depth || 0;
348
-
this.sequences = [];
349
-
for (let current = ast; current; current = current.alternation) {
350
-
this.sequences.push(new SequenceNode(current, depth, opts));
351
-
}
352
-
}
353
-
354
-
statements() {
355
-
if (this.sequences.length === 1) {
356
-
return this.sequences[0].statements();
357
-
}
358
-
359
-
const statements = [];
360
-
for (let i = 0; i < this.sequences.length; i++) {
361
-
statements.push(...this.sequences[i].statements());
362
-
}
363
-
364
-
if (this.depth === 0) {
365
-
return statements;
366
-
}
367
-
368
-
const alternationId = t.identifier(`alternation_${this.depth}`);
369
-
return [t.labeledStatement(alternationId, t.blockStatement(statements))];
370
-
}
371
-
}
372
-
373
-
export class RootNode {
374
-
constructor(ast, nameNode, transformNode) {
375
-
const indexId = t.identifier('last_index');
376
-
const node = t.callExpression(ids.tag, [ids.node, nameNode]);
377
-
378
-
this.returnStatement = t.returnStatement(
379
-
transformNode ? t.callExpression(transformNode, [node]) : node
380
-
);
381
-
382
-
this.assignIndex = new AssignIndexNode(indexId);
383
-
this.node = new AlternationNode(ast, 0, {
384
-
returnStatement: this.returnStatement,
385
-
restoreIndex: new RestoreIndexNode(indexId, true),
386
-
restoreLength: null,
387
-
abortCondition: null,
388
-
abort: new AbortNode(),
389
-
capturing: true,
390
-
});
391
-
}
392
-
393
-
statements() {
394
-
return [
395
-
this.assignIndex.statement(),
396
-
t.variableDeclaration('var', [
397
-
t.variableDeclarator(ids.match),
398
-
t.variableDeclarator(ids.node, t.arrayExpression()),
399
-
]),
400
-
...this.node.statements(),
401
-
this.returnStatement,
402
-
];
403
-
}
404
-
}
+2
-2
src/babel/macro.js
+2
-2
src/babel/macro.js
···
1
1
import { createMacro } from 'babel-plugin-macros';
2
2
import { makeHelpers } from './transform';
3
3
4
-
function reghexMacro({ references, babel: { types: t } }) {
5
-
const helpers = makeHelpers(t);
4
+
function reghexMacro({ references, babel }) {
5
+
const helpers = makeHelpers(babel);
6
6
const defaultRefs = references.default || [];
7
7
8
8
defaultRefs.forEach((ref) => {
+8
-3
src/babel/plugin.js
+8
-3
src/babel/plugin.js
···
1
1
import { makeHelpers } from './transform';
2
2
3
-
export default function reghexPlugin({ types }) {
3
+
export default function reghexPlugin(babel, opts = {}) {
4
4
let helpers;
5
5
6
6
return {
7
7
name: 'reghex',
8
8
visitor: {
9
9
Program() {
10
-
helpers = makeHelpers(types);
10
+
helpers = makeHelpers(babel);
11
11
},
12
12
ImportDeclaration(path) {
13
+
if (opts.codegen === false) return;
13
14
helpers.updateImport(path);
14
15
},
15
16
TaggedTemplateExpression(path) {
16
17
if (helpers.isMatch(path) && helpers.getMatchImport(path)) {
17
-
helpers.transformMatch(path);
18
+
if (opts.codegen === false) {
19
+
helpers.minifyMatch(path);
20
+
} else {
21
+
helpers.transformMatch(path);
22
+
}
18
23
}
19
24
},
20
25
},
+83
-7
src/babel/plugin.test.js
+83
-7
src/babel/plugin.test.js
···
3
3
4
4
it('works with standard features', () => {
5
5
const code = `
6
-
import match from 'reghex/macro';
6
+
import { match } from 'reghex/macro';
7
7
8
8
const node = match('node')\`
9
9
\${1}+ | \${2}+ (\${3} ( \${4}? \${5} ) )*
···
16
16
).toMatchSnapshot();
17
17
});
18
18
19
+
it('works with nameless matchers', () => {
20
+
const code = `
21
+
import { match } from 'reghex/macro';
22
+
23
+
const node = match()\`
24
+
\${1}+ | \${2}+ (\${3} ( \${4}? \${5} ) )*
25
+
\`;
26
+
`;
27
+
28
+
expect(
29
+
transform(code, { babelrc: false, presets: [], plugins: [reghexPlugin] })
30
+
.code
31
+
).toMatchSnapshot();
32
+
});
33
+
34
+
it('works while only minifying', () => {
35
+
const code = `
36
+
import { match } from 'reghex/macro';
37
+
38
+
const node = match('node')\`
39
+
\${1}+ | \${2}+ (\${3} ( \${4}? \${5} ) )*
40
+
\`;
41
+
`;
42
+
43
+
expect(
44
+
transform(code, {
45
+
babelrc: false,
46
+
presets: [],
47
+
plugins: [[reghexPlugin, { codegen: false }]],
48
+
}).code
49
+
).toMatchSnapshot();
50
+
});
51
+
52
+
it('deduplicates hoisted expressions', () => {
53
+
const code = `
54
+
import { match } from 'reghex/macro';
55
+
56
+
const re = /1/;
57
+
const str = '1';
58
+
59
+
const a = match('a')\`
60
+
\${re}
61
+
\${str}
62
+
\`;
63
+
64
+
const b = match('b')\`
65
+
\${re}
66
+
\${'2'}
67
+
\`;
68
+
`;
69
+
70
+
expect(
71
+
transform(code, { babelrc: false, presets: [], plugins: [reghexPlugin] })
72
+
.code
73
+
).toMatchSnapshot();
74
+
});
75
+
19
76
it('works with local recursion', () => {
20
77
// NOTE: A different default name is allowed
21
78
const code = `
22
-
import match_rec, { tag } from 'reghex';
79
+
import { match as m, tag } from 'reghex';
23
80
24
-
const inner = match_rec('inner')\`
81
+
const inner = m('inner')\`
25
82
\${/inner/}
26
83
\`;
27
84
28
-
const node = match_rec('node')\`
85
+
const node = m('node')\`
86
+
\${inner}
87
+
\`;
88
+
`;
89
+
90
+
expect(
91
+
transform(code, { babelrc: false, presets: [], plugins: [reghexPlugin] })
92
+
.code
93
+
).toMatchSnapshot();
94
+
});
95
+
96
+
it('works with self-referential thunks', () => {
97
+
const code = `
98
+
import { match, tag } from 'reghex';
99
+
100
+
const inner = match('inner')\`
101
+
\${() => node}
102
+
\`;
103
+
104
+
const node = match('node')\`
29
105
\${inner}
30
106
\`;
31
107
`;
···
38
114
39
115
it('works with transform functions', () => {
40
116
const code = `
41
-
import match from 'reghex';
117
+
import { match } from 'reghex';
42
118
43
119
const first = match('inner', x => x)\`\`;
44
120
···
54
130
55
131
it('works with non-capturing groups', () => {
56
132
const code = `
57
-
import match from 'reghex';
133
+
import { match } from 'reghex';
58
134
59
135
const node = match('node')\`
60
136
\${1} (\${2} | (?: \${3})+)
···
69
145
70
146
it('works together with @babel/plugin-transform-modules-commonjs', () => {
71
147
const code = `
72
-
import match from 'reghex';
148
+
import { match } from 'reghex';
73
149
74
150
const node = match('node')\`
75
151
\${1} \${2}
+102
-76
src/babel/transform.js
+102
-76
src/babel/transform.js
···
1
+
import { astRoot } from '../codegen';
1
2
import { parse } from '../parser';
2
-
import { SharedIds } from './sharedIds';
3
-
import { initGenerator, RootNode } from './generator';
4
3
5
-
export function makeHelpers(t) {
4
+
export function makeHelpers({ types: t, template }) {
5
+
const regexPatternsRe = /^[()\[\]|.+?*]|[^\\][()\[\]|.+?*$^]|\\[wdsWDS]/;
6
6
const importSourceRe = /reghex$|^reghex\/macro/;
7
7
const importName = 'reghex';
8
-
const ids = new SharedIds(t);
9
-
initGenerator(ids, t);
10
8
11
9
let _hasUpdatedImport = false;
10
+
let _matchId = t.identifier('match');
11
+
let _patternId = t.identifier('__pattern');
12
+
13
+
const _hoistedExpressions = new Map();
12
14
13
15
return {
14
16
/** Adds the reghex import declaration to the Program scope */
···
17
19
if (!importSourceRe.test(path.node.source.value)) return;
18
20
_hasUpdatedImport = true;
19
21
20
-
const defaultSpecifierIndex = path.node.specifiers.findIndex((node) => {
21
-
return t.isImportDefaultSpecifier(node);
22
-
});
23
-
24
-
if (defaultSpecifierIndex > -1) {
25
-
path.node.specifiers.splice(defaultSpecifierIndex, 1);
26
-
}
27
-
28
22
if (path.node.source.value !== importName) {
29
23
path.node.source = t.stringLiteral(importName);
30
24
}
31
25
26
+
_patternId = path.scope.generateUidIdentifier('_pattern');
32
27
path.node.specifiers.push(
33
-
t.importSpecifier(
34
-
(ids.execId = path.scope.generateUidIdentifier('exec')),
35
-
t.identifier('_exec')
36
-
),
37
-
t.importSpecifier(
38
-
(ids.patternId = path.scope.generateUidIdentifier('pattern')),
39
-
t.identifier('_pattern')
40
-
)
28
+
t.importSpecifier(_patternId, t.identifier('__pattern'))
41
29
);
42
30
43
31
const tagImport = path.node.specifiers.find((node) => {
44
-
return t.isImportSpecifier(node) && node.imported.name === 'tag';
32
+
return t.isImportSpecifier(node) && node.imported.name === 'match';
45
33
});
34
+
46
35
if (!tagImport) {
47
36
path.node.specifiers.push(
48
37
t.importSpecifier(
49
-
(ids.tagId = path.scope.generateUidIdentifier('tag')),
50
-
t.identifier('tag')
38
+
(_matchId = path.scope.generateUidIdentifier('match')),
39
+
t.identifier('match')
51
40
)
52
41
);
53
42
} else {
54
-
ids.tagId = tagImport.imported;
43
+
_matchId = tagImport.imported;
55
44
}
56
45
},
57
46
···
82
71
binding.kind !== 'module' ||
83
72
!t.isImportDeclaration(binding.path.parent) ||
84
73
!importSourceRe.test(binding.path.parent.source.value) ||
85
-
!t.isImportDefaultSpecifier(binding.path.node)
74
+
!t.isImportSpecifier(binding.path.node)
86
75
) {
87
76
return null;
88
77
}
···
94
83
getMatchName(path) {
95
84
t.assertTaggedTemplateExpression(path.node);
96
85
const nameArgumentPath = path.get('tag.arguments.0');
97
-
const { confident, value } = nameArgumentPath.evaluate();
98
-
if (!confident && t.isIdentifier(nameArgumentPath.node)) {
99
-
return nameArgumentPath.node.name;
100
-
} else if (confident && typeof value === 'string') {
101
-
return value;
102
-
} else {
103
-
return path.scope.generateUidIdentifierBasedOnNode(path.node);
86
+
if (nameArgumentPath) {
87
+
const { confident, value } = nameArgumentPath.evaluate();
88
+
if (!confident && t.isIdentifier(nameArgumentPath.node)) {
89
+
return nameArgumentPath.node.name;
90
+
} else if (confident && typeof value === 'string') {
91
+
return value;
92
+
}
104
93
}
94
+
95
+
return path.scope.generateUidIdentifierBasedOnNode(path.node);
105
96
},
106
97
107
98
/** Given a match, hoists its expressions in front of the match's statement */
108
-
_hoistExpressions(path) {
99
+
_prepareExpressions(path) {
109
100
t.assertTaggedTemplateExpression(path.node);
110
101
111
102
const variableDeclarators = [];
112
103
const matchName = this.getMatchName(path);
113
104
114
105
const hoistedExpressions = path.node.quasi.expressions.map(
115
-
(expression) => {
106
+
(expression, i) => {
116
107
if (
117
-
t.isIdentifier(expression) &&
118
-
path.scope.hasBinding(expression.name)
108
+
t.isArrowFunctionExpression(expression) &&
109
+
t.isIdentifier(expression.body)
119
110
) {
111
+
expression = expression.body;
112
+
} else if (
113
+
(t.isFunctionExpression(expression) ||
114
+
t.isArrowFunctionExpression(expression)) &&
115
+
t.isBlockStatement(expression.body) &&
116
+
expression.body.body.length === 1 &&
117
+
t.isReturnStatement(expression.body.body[0]) &&
118
+
t.isIdentifier(expression.body.body[0].argument)
119
+
) {
120
+
expression = expression.body.body[0].argument;
121
+
}
122
+
123
+
const isBindingExpression =
124
+
t.isIdentifier(expression) &&
125
+
path.scope.hasBinding(expression.name);
126
+
if (isBindingExpression) {
120
127
const binding = path.scope.getBinding(expression.name);
121
128
if (t.isVariableDeclarator(binding.path.node)) {
122
129
const matchPath = binding.path.get('init');
123
-
if (this.isMatch(matchPath)) return expression;
130
+
if (this.isMatch(matchPath)) {
131
+
return expression;
132
+
} else if (_hoistedExpressions.has(expression.name)) {
133
+
return t.identifier(_hoistedExpressions.get(expression.name));
134
+
}
124
135
}
125
136
}
126
137
127
138
const id = path.scope.generateUidIdentifier(
128
-
`${matchName}_expression`
139
+
isBindingExpression
140
+
? `${expression.name}_expression`
141
+
: `${matchName}_expression`
129
142
);
143
+
130
144
variableDeclarators.push(
131
145
t.variableDeclarator(
132
146
id,
133
-
t.callExpression(ids.pattern, [expression])
147
+
t.callExpression(t.identifier(_patternId.name), [expression])
134
148
)
135
149
);
150
+
151
+
if (t.isIdentifier(expression)) {
152
+
_hoistedExpressions.set(expression.name, id.name);
153
+
}
154
+
136
155
return id;
137
156
}
138
157
);
···
143
162
.insertBefore(t.variableDeclaration('var', variableDeclarators));
144
163
}
145
164
146
-
return hoistedExpressions;
165
+
return hoistedExpressions.map((id) => {
166
+
const binding = path.scope.getBinding(id.name);
167
+
if (binding && t.isVariableDeclarator(binding.path.node)) {
168
+
const matchPath = binding.path.get('init');
169
+
if (this.isMatch(matchPath)) {
170
+
return { fn: true, id: id.name };
171
+
}
172
+
}
173
+
174
+
const input = t.isStringLiteral(id)
175
+
? JSON.stringify(id.value)
176
+
: id.name;
177
+
return { fn: false, id: input };
178
+
});
147
179
},
148
180
149
-
_hoistTransform(path) {
181
+
_prepareTransform(path) {
150
182
const transformNode = path.node.tag.arguments[1];
183
+
151
184
if (!transformNode) return null;
152
-
if (t.isIdentifier(transformNode)) return transformNode;
185
+
if (t.isIdentifier(transformNode)) return transformNode.name;
153
186
154
187
const matchName = this.getMatchName(path);
155
188
const id = path.scope.generateUidIdentifier(`${matchName}_transform`);
···
158
191
path
159
192
.getStatementParent()
160
193
.insertBefore(t.variableDeclaration('var', [declarator]));
161
-
return id;
194
+
195
+
return id.name;
196
+
},
197
+
198
+
minifyMatch(path) {
199
+
const quasis = path.node.quasi.quasis.map((x) =>
200
+
t.stringLiteral(x.value.cooked.replace(/\s*/g, ''))
201
+
);
202
+
const expressions = path.node.quasi.expressions;
203
+
const transform = this._prepareTransform(path);
204
+
205
+
path.replaceWith(
206
+
t.callExpression(path.node.tag, [
207
+
t.arrayExpression(quasis),
208
+
...expressions,
209
+
])
210
+
);
162
211
},
163
212
164
213
transformMatch(path) {
165
-
if (!path.node.tag.arguments.length) {
166
-
throw path
167
-
.get('tag')
168
-
.buildCodeFrameError(
169
-
'match() must at least be called with a node name'
170
-
);
214
+
let name = path.node.tag.arguments[0];
215
+
if (!name) {
216
+
name = t.nullLiteral();
171
217
}
172
218
173
-
const matchName = this.getMatchName(path);
174
-
const nameNode = path.node.tag.arguments[0];
175
219
const quasis = path.node.quasi.quasis.map((x) => x.value.cooked);
176
220
177
-
// Hoist expressions and wrap them in an execPattern call
178
-
const expressions = this._hoistExpressions(path).map((id) => {
179
-
// Directly call expression if it's sure to be another matcher
180
-
const binding = path.scope.getBinding(id.name);
181
-
if (binding && t.isVariableDeclarator(binding.path.node)) {
182
-
const matchPath = binding.path.get('init');
183
-
if (this.isMatch(matchPath)) {
184
-
return t.callExpression(id, [ids.state]);
185
-
}
186
-
}
187
-
188
-
return t.callExpression(ids.exec, [ids.state, id]);
189
-
});
190
-
191
-
// Hoist transform argument if necessary
192
-
const transformNode = this._hoistTransform(path);
221
+
const expressions = this._prepareExpressions(path);
222
+
const transform = this._prepareTransform(path);
193
223
194
224
let ast;
195
225
try {
···
199
229
throw path.get('quasi').buildCodeFrameError(error.message);
200
230
}
201
231
202
-
const generator = new RootNode(ast, nameNode, transformNode);
203
-
const body = t.blockStatement(generator.statements());
204
-
const matchFunctionId = path.scope.generateUidIdentifier(matchName);
205
-
const matchFunction = t.functionExpression(
206
-
matchFunctionId,
207
-
[ids.state],
208
-
body
232
+
const code = astRoot(ast, '%%name%%', transform && '%%transform%%');
233
+
234
+
path.replaceWith(
235
+
template.expression(code)(transform ? { name, transform } : { name })
209
236
);
210
-
path.replaceWith(matchFunction);
211
237
},
212
238
};
213
239
}
+203
src/codegen.js
+203
src/codegen.js
···
1
+
const _state = 'state';
2
+
const _node = 'node';
3
+
const _match = 'x';
4
+
5
+
function js(/* arguments */) {
6
+
let body = arguments[0][0];
7
+
for (let i = 1; i < arguments.length; i++)
8
+
body = body + arguments[i] + arguments[0][i];
9
+
return body.trim();
10
+
}
11
+
12
+
const copy = (prev) => {
13
+
const next = {};
14
+
for (const key in prev) next[key] = prev[key];
15
+
return next;
16
+
};
17
+
18
+
const assignIndex = (depth) => js`
19
+
var y${depth} = ${_state}.y,
20
+
x${depth} = ${_state}.x;
21
+
`;
22
+
23
+
const restoreIndex = (depth) => js`
24
+
${_state}.y = y${depth};
25
+
${_state}.x = x${depth};
26
+
`;
27
+
28
+
const astExpression = (ast, depth, opts) => {
29
+
const capture = !!opts.capture && !ast.capture;
30
+
const restoreLength =
31
+
(opts.length && opts.abort && js`${_node}.length = ln${opts.length};`) ||
32
+
'';
33
+
const condition = `(${_match} = ${ast.expression.id}(${_state})) ${
34
+
capture ? '!=' : '=='
35
+
} null`;
36
+
return js`
37
+
if (${condition}) ${
38
+
capture
39
+
? js`{
40
+
${_node}.push(${_match});
41
+
} else `
42
+
: ''
43
+
}{
44
+
${restoreIndex(opts.index)}
45
+
${restoreLength}
46
+
${opts.abort}
47
+
}
48
+
`;
49
+
};
50
+
51
+
const astGroup = (ast, depth, opts) => {
52
+
const capture = !!opts.capture && !ast.capture;
53
+
54
+
opts = copy(opts);
55
+
opts.capture = capture;
56
+
57
+
if (!opts.length && capture) {
58
+
opts.length = depth;
59
+
return js`
60
+
${js`var ln${depth} = ${_node}.length;`}
61
+
${astSequence(ast.sequence, depth + 1, opts)}
62
+
`;
63
+
}
64
+
65
+
return astSequence(ast.sequence, depth + 1, opts);
66
+
};
67
+
68
+
const astChild = (ast, depth, opts) =>
69
+
ast.expression ? astExpression(ast, depth, opts) : astGroup(ast, depth, opts);
70
+
71
+
const astQuantifier = (ast, depth, opts) => {
72
+
const { index, abort } = opts;
73
+
const invert = `inv_${depth}`;
74
+
const group = `group_${depth}`;
75
+
76
+
opts = copy(opts);
77
+
if (ast.capture === '!') {
78
+
opts.index = depth;
79
+
opts.abort = js`break ${invert}`;
80
+
}
81
+
82
+
let child;
83
+
if (ast.quantifier === '+') {
84
+
const starAst = copy(ast);
85
+
starAst.quantifier = '*';
86
+
child = js`
87
+
${astChild(ast, depth, opts)}
88
+
${astQuantifier(starAst, depth, opts)}
89
+
`;
90
+
} else if (ast.quantifier === '*') {
91
+
opts.length = 0;
92
+
opts.index = depth;
93
+
opts.abort = js`break ${group};`;
94
+
95
+
child = js`
96
+
${group}: for (;;) {
97
+
${assignIndex(depth)}
98
+
${astChild(ast, depth, opts)}
99
+
}
100
+
`;
101
+
} else if (ast.quantifier === '?' && ast.expression) {
102
+
opts.index = depth;
103
+
opts.abort = '';
104
+
105
+
child = js`
106
+
${assignIndex(depth)}
107
+
${astChild(ast, depth, opts)}
108
+
`;
109
+
} else if (ast.quantifier === '?') {
110
+
opts.index = depth;
111
+
opts.abort = js`break ${group}`;
112
+
113
+
child = js`
114
+
${group}: {
115
+
${assignIndex(depth)}
116
+
${astChild(ast, depth, opts)}
117
+
}
118
+
`;
119
+
} else {
120
+
child = astChild(ast, depth, opts);
121
+
}
122
+
123
+
if (ast.capture === '!') {
124
+
return js`
125
+
${invert}: {
126
+
${assignIndex(depth)}
127
+
${child}
128
+
${restoreIndex(index)}
129
+
${abort}
130
+
}
131
+
`;
132
+
} else if (ast.capture === '=') {
133
+
return js`
134
+
${assignIndex(depth)}
135
+
${child}
136
+
${restoreIndex(depth)}
137
+
`;
138
+
} else {
139
+
return child;
140
+
}
141
+
};
142
+
143
+
const astSequence = (ast, depth, opts) => {
144
+
const alternation = ast.alternation ? `alt_${depth}` : '';
145
+
146
+
let body = '';
147
+
for (; ast; ast = ast.alternation) {
148
+
const block = `block_${depth}`;
149
+
150
+
let childOpts = opts;
151
+
if (ast.alternation) {
152
+
childOpts = copy(opts);
153
+
childOpts.index = depth;
154
+
childOpts.abort = js`break ${block};`;
155
+
}
156
+
157
+
let sequence = '';
158
+
for (let i = 0; i < ast.length; i++)
159
+
sequence += astQuantifier(ast[i], depth, childOpts);
160
+
161
+
if (!ast.alternation) {
162
+
body += sequence;
163
+
} else {
164
+
body += js`
165
+
${block}: {
166
+
${assignIndex(depth)}
167
+
${sequence}
168
+
break ${alternation};
169
+
}
170
+
`;
171
+
}
172
+
}
173
+
174
+
if (!alternation) return body;
175
+
176
+
return js`
177
+
${alternation}: {
178
+
${body}
179
+
}
180
+
`;
181
+
};
182
+
183
+
const astRoot = (ast, name, transform) => {
184
+
return js`
185
+
(function (${_state}) {
186
+
${assignIndex(1)}
187
+
var ${_node} = [];
188
+
var ${_match};
189
+
190
+
${astSequence(ast, 2, {
191
+
index: 1,
192
+
length: 0,
193
+
abort: js`return;`,
194
+
capture: true,
195
+
})}
196
+
197
+
if (${name}) ${_node}.tag = ${name};
198
+
return ${transform ? js`(${transform})(${_node})` : _node};
199
+
})
200
+
`;
201
+
};
202
+
203
+
export { astRoot };
+71
-28
src/core.js
+71
-28
src/core.js
···
1
+
import { astRoot } from './codegen';
2
+
import { parse as parseDSL } from './parser';
3
+
1
4
const isStickySupported = typeof /./g.sticky === 'boolean';
2
5
3
-
export const _pattern = (input) => {
4
-
if (typeof input === 'function') return input;
6
+
const execLambda = (pattern) => {
7
+
if (pattern.length) return pattern;
8
+
return (state) => pattern()(state);
9
+
};
5
10
6
-
const source = typeof input !== 'string' ? input.source : input;
7
-
return isStickySupported
8
-
? new RegExp(source, 'y')
9
-
: new RegExp(`^(?:${source})`, 'g');
11
+
const execString = (pattern) => {
12
+
return (state) => {
13
+
if (state.x < state.quasis.length) {
14
+
const input = state.quasis[state.x];
15
+
for (let i = 0, l = pattern.length; i < l; i++)
16
+
if (input.charCodeAt(state.y + i) !== pattern.charCodeAt(i))
17
+
return null;
18
+
state.y += pattern.length;
19
+
return pattern;
20
+
}
21
+
};
10
22
};
11
23
12
-
export const _exec = (state, pattern) => {
13
-
if (typeof pattern === 'function') return pattern();
24
+
const execRegex = (pattern) => {
25
+
pattern = isStickySupported
26
+
? new RegExp(pattern.source, 'y')
27
+
: new RegExp(pattern.source + '|()', 'g');
28
+
return (state) => {
29
+
if (state.x < state.quasis.length) {
30
+
const input = state.quasis[state.x];
31
+
pattern.lastIndex = state.y;
32
+
let match;
33
+
if (isStickySupported) {
34
+
if (pattern.test(input))
35
+
match = input.slice(state.y, pattern.lastIndex);
36
+
} else {
37
+
const x = pattern.exec(input);
38
+
if (x[1] == null) match = x[0];
39
+
}
14
40
15
-
let match;
16
-
if (isStickySupported) {
17
-
pattern.lastIndex = state.index;
18
-
match = pattern.exec(state.input);
19
-
state.index = pattern.lastIndex;
41
+
state.y = pattern.lastIndex;
42
+
return match;
43
+
}
44
+
};
45
+
};
46
+
47
+
export const __pattern = (input) => {
48
+
if (typeof input === 'function') {
49
+
return execLambda(input);
50
+
} else if (typeof input === 'string') {
51
+
return execString(input);
20
52
} else {
21
-
pattern.lastIndex = 0;
22
-
match = pattern.exec(state.input.slice(state.input));
23
-
state.index += pattern.lastIndex;
53
+
return execRegex(input);
24
54
}
55
+
};
25
56
26
-
return match && match[0];
27
-
};
57
+
export const interpolation = (predicate) => (state) => {
58
+
let match;
59
+
60
+
if (
61
+
state.x < state.expressions.length &&
62
+
state.y >= state.quasis[state.x].length
63
+
) {
64
+
state.y = 0;
65
+
match = state.expressions[state.x++];
66
+
if (predicate && match) match = predicate(match);
67
+
}
28
68
29
-
export const tag = (array, tag) => {
30
-
array.tag = tag;
31
-
return array;
69
+
return match;
32
70
};
33
71
34
-
export const parse = (pattern) => (input) => {
35
-
const state = { input, index: 0 };
36
-
return pattern(state);
72
+
export const parse = (matcher) => (quasis, ...expressions) => {
73
+
if (typeof quasis === 'string') quasis = [quasis];
74
+
const state = { quasis, expressions, x: 0, y: 0 };
75
+
return matcher(state);
37
76
};
38
77
39
-
export const match = (_name) => {
40
-
throw new TypeError(
41
-
'This match() function was not transformed. ' +
42
-
'Ensure that the Babel plugin is set up correctly and try again.'
78
+
export const match = (name, transform) => (quasis, ...expressions) => {
79
+
const ast = parseDSL(
80
+
quasis,
81
+
expressions.map((_, i) => ({ id: `_${i}` }))
43
82
);
83
+
return new Function(
84
+
'_n,_t,' + expressions.map((_expression, i) => `_${i}`).join(','),
85
+
'return ' + astRoot(ast, '_n', transform ? '_t' : null)
86
+
)(name, transform, ...expressions.map(__pattern));
44
87
};
+655
src/core.test.js
+655
src/core.test.js
···
1
+
import { parse, match, interpolation } from './core';
2
+
3
+
const expectToParse = (node, input, result, lastIndex = 0) => {
4
+
const state = { quasis: [input], expressions: [], x: 0, y: 0 };
5
+
if (result) result.tag = 'node';
6
+
expect(node(state)).toEqual(result);
7
+
8
+
// NOTE: After parsing we expect the current index to exactly match the
9
+
// sum amount of matched characters
10
+
if (result === undefined) {
11
+
expect(state.y).toBe(0);
12
+
} else {
13
+
const index = lastIndex || result.reduce((acc, x) => acc + x.length, 0);
14
+
expect(state.y).toBe(index);
15
+
}
16
+
};
17
+
18
+
describe('can create nameless matchers', () => {
19
+
it('matches without tagging', () => {
20
+
const state = { quasis: ['1'], expressions: [], x: 0, y: 0 };
21
+
const node = match(null)`${/1/}`;
22
+
expect(node(state)).toEqual(['1']);
23
+
});
24
+
});
25
+
26
+
describe('required matcher', () => {
27
+
const node = match('node')`${/1/}`;
28
+
it.each`
29
+
input | result
30
+
${'1'} | ${['1']}
31
+
${''} | ${undefined}
32
+
`('should return $result when $input is passed', ({ input, result }) => {
33
+
expectToParse(node, input, result);
34
+
});
35
+
36
+
it('matches empty regex patterns', () => {
37
+
const node = match('node')`${/[ ]*/}`;
38
+
expectToParse(node, '', ['']);
39
+
});
40
+
});
41
+
42
+
describe('optional matcher', () => {
43
+
const node = match('node')`${/1/}?`;
44
+
it.each`
45
+
input | result
46
+
${'1'} | ${['1']}
47
+
${'_'} | ${[]}
48
+
${''} | ${[]}
49
+
`('should return $result when $input is passed', ({ input, result }) => {
50
+
expectToParse(node, input, result);
51
+
});
52
+
});
53
+
54
+
describe('star matcher', () => {
55
+
const node = match('node')`${/1/}*`;
56
+
it.each`
57
+
input | result
58
+
${'1'} | ${['1']}
59
+
${'11'} | ${['1', '1']}
60
+
${'111'} | ${['1', '1', '1']}
61
+
${'_'} | ${[]}
62
+
${''} | ${[]}
63
+
`('should return $result when "$input" is passed', ({ input, result }) => {
64
+
expectToParse(node, input, result);
65
+
});
66
+
});
67
+
68
+
describe('plus matcher', () => {
69
+
const node = match('node')`${/1/}+`;
70
+
it.each`
71
+
input | result
72
+
${'1'} | ${['1']}
73
+
${'11'} | ${['1', '1']}
74
+
${'111'} | ${['1', '1', '1']}
75
+
${'_'} | ${undefined}
76
+
${''} | ${undefined}
77
+
`('should return $result when "$input" is passed', ({ input, result }) => {
78
+
expectToParse(node, input, result);
79
+
});
80
+
});
81
+
82
+
describe('optional then required matcher', () => {
83
+
const node = match('node')`${/1/}? ${/2/}`;
84
+
it.each`
85
+
input | result
86
+
${'12'} | ${['1', '2']}
87
+
${'2'} | ${['2']}
88
+
${''} | ${undefined}
89
+
`('should return $result when $input is passed', ({ input, result }) => {
90
+
expectToParse(node, input, result);
91
+
});
92
+
});
93
+
94
+
describe('star then required matcher', () => {
95
+
const node = match('node')`${/1/}* ${/2/}`;
96
+
it.each`
97
+
input | result
98
+
${'12'} | ${['1', '2']}
99
+
${'112'} | ${['1', '1', '2']}
100
+
${'2'} | ${['2']}
101
+
${''} | ${undefined}
102
+
`('should return $result when $input is passed', ({ input, result }) => {
103
+
expectToParse(node, input, result);
104
+
});
105
+
});
106
+
107
+
describe('plus then required matcher', () => {
108
+
const node = match('node')`${/1/}+ ${/2/}`;
109
+
it.each`
110
+
input | result
111
+
${'12'} | ${['1', '2']}
112
+
${'112'} | ${['1', '1', '2']}
113
+
${'2'} | ${undefined}
114
+
${''} | ${undefined}
115
+
`('should return $result when $input is passed', ({ input, result }) => {
116
+
expectToParse(node, input, result);
117
+
});
118
+
});
119
+
120
+
describe('optional group then required matcher', () => {
121
+
const node = match('node')`(${/1/} ${/2/})? ${/3/}`;
122
+
it.each`
123
+
input | result
124
+
${'123'} | ${['1', '2', '3']}
125
+
${'3'} | ${['3']}
126
+
${'23'} | ${undefined}
127
+
${'_'} | ${undefined}
128
+
`('should return $result when $input is passed', ({ input, result }) => {
129
+
expectToParse(node, input, result);
130
+
});
131
+
});
132
+
133
+
describe('star group then required matcher', () => {
134
+
const node = match('node')`(${/1/} ${/2/})* ${/3/}`;
135
+
it.each`
136
+
input | result
137
+
${'123'} | ${['1', '2', '3']}
138
+
${'12123'} | ${['1', '2', '1', '2', '3']}
139
+
${'3'} | ${['3']}
140
+
${'23'} | ${undefined}
141
+
${'13'} | ${undefined}
142
+
${'_'} | ${undefined}
143
+
`('should return $result when $input is passed', ({ input, result }) => {
144
+
expectToParse(node, input, result);
145
+
});
146
+
});
147
+
148
+
describe('plus group then required matcher', () => {
149
+
const node = match('node')`(${/1/} ${/2/})+ ${/3/}`;
150
+
it.each`
151
+
input | result
152
+
${'123'} | ${['1', '2', '3']}
153
+
${'12123'} | ${['1', '2', '1', '2', '3']}
154
+
${'23'} | ${undefined}
155
+
${'3'} | ${undefined}
156
+
${'13'} | ${undefined}
157
+
${'_'} | ${undefined}
158
+
`('should return $result when $input is passed', ({ input, result }) => {
159
+
expectToParse(node, input, result);
160
+
});
161
+
});
162
+
163
+
describe('optional group with nested optional matcher, then required matcher', () => {
164
+
const node = match('node')`(${/1/}? ${/2/})? ${/3/}`;
165
+
it.each`
166
+
input | result
167
+
${'123'} | ${['1', '2', '3']}
168
+
${'23'} | ${['2', '3']}
169
+
${'3'} | ${['3']}
170
+
${'13'} | ${undefined}
171
+
${'_'} | ${undefined}
172
+
`('should return $result when $input is passed', ({ input, result }) => {
173
+
expectToParse(node, input, result);
174
+
});
175
+
});
176
+
177
+
describe('star group with nested optional matcher, then required matcher', () => {
178
+
const node = match('node')`(${/1/}? ${/2/})* ${/3/}`;
179
+
it.each`
180
+
input | result
181
+
${'123'} | ${['1', '2', '3']}
182
+
${'23'} | ${['2', '3']}
183
+
${'223'} | ${['2', '2', '3']}
184
+
${'2123'} | ${['2', '1', '2', '3']}
185
+
${'3'} | ${['3']}
186
+
${'13'} | ${undefined}
187
+
${'_'} | ${undefined}
188
+
`('should return $result when $input is passed', ({ input, result }) => {
189
+
expectToParse(node, input, result);
190
+
});
191
+
});
192
+
193
+
describe('plus group with nested optional matcher, then required matcher', () => {
194
+
const node = match('node')`(${/1/}? ${/2/})+ ${/3/}`;
195
+
it.each`
196
+
input | result
197
+
${'123'} | ${['1', '2', '3']}
198
+
${'23'} | ${['2', '3']}
199
+
${'223'} | ${['2', '2', '3']}
200
+
${'2123'} | ${['2', '1', '2', '3']}
201
+
${'3'} | ${undefined}
202
+
${'13'} | ${undefined}
203
+
${'_'} | ${undefined}
204
+
`('should return $result when $input is passed', ({ input, result }) => {
205
+
expectToParse(node, input, result);
206
+
});
207
+
});
208
+
209
+
describe('plus group with nested plus matcher, then required matcher', () => {
210
+
const node = match('node')`(${/1/}+ ${/2/})+ ${/3/}`;
211
+
it.each`
212
+
input | result
213
+
${'123'} | ${['1', '2', '3']}
214
+
${'1123'} | ${['1', '1', '2', '3']}
215
+
${'12123'} | ${['1', '2', '1', '2', '3']}
216
+
${'121123'} | ${['1', '2', '1', '1', '2', '3']}
217
+
${'3'} | ${undefined}
218
+
${'23'} | ${undefined}
219
+
${'13'} | ${undefined}
220
+
${'_'} | ${undefined}
221
+
`('should return $result when $input is passed', ({ input, result }) => {
222
+
expectToParse(node, input, result);
223
+
});
224
+
});
225
+
226
+
describe('plus group with nested required and plus matcher, then required matcher', () => {
227
+
const node = match('node')`(${/1/} ${/2/}+)+ ${/3/}`;
228
+
it.each`
229
+
input | result
230
+
${'123'} | ${['1', '2', '3']}
231
+
${'1223'} | ${['1', '2', '2', '3']}
232
+
${'122123'} | ${['1', '2', '2', '1', '2', '3']}
233
+
${'13'} | ${undefined}
234
+
${'_'} | ${undefined}
235
+
`('should return $result when $input is passed', ({ input, result }) => {
236
+
expectToParse(node, input, result);
237
+
});
238
+
});
239
+
240
+
describe('nested plus group with nested required and plus matcher, then required matcher or alternate', () => {
241
+
const node = match('node')`(${/1/} ${/2/}+)+ ${/3/} | ${/1/}`;
242
+
it.each`
243
+
input | result
244
+
${'123'} | ${['1', '2', '3']}
245
+
${'1223'} | ${['1', '2', '2', '3']}
246
+
${'122123'} | ${['1', '2', '2', '1', '2', '3']}
247
+
${'1'} | ${['1']}
248
+
${'13'} | ${['1']}
249
+
${'_'} | ${undefined}
250
+
`('should return $result when $input is passed', ({ input, result }) => {
251
+
expectToParse(node, input, result);
252
+
});
253
+
});
254
+
255
+
describe('nested plus group with nested required and plus matcher, then alternate', () => {
256
+
const node = match('node')`(${/1/} ${/2/}+)+ (${/3/} | ${/4/})`;
257
+
it.each`
258
+
input | result
259
+
${'123'} | ${['1', '2', '3']}
260
+
${'124'} | ${['1', '2', '4']}
261
+
${'1223'} | ${['1', '2', '2', '3']}
262
+
${'1224'} | ${['1', '2', '2', '4']}
263
+
${'1'} | ${undefined}
264
+
${'13'} | ${undefined}
265
+
${'_'} | ${undefined}
266
+
`('should return $result when $input is passed', ({ input, result }) => {
267
+
expectToParse(node, input, result);
268
+
});
269
+
});
270
+
271
+
describe('regular alternate', () => {
272
+
const node = match('node')`${/1/} | ${/2/} | ${/3/} | ${/4/}`;
273
+
it.each`
274
+
input | result
275
+
${'1'} | ${['1']}
276
+
${'2'} | ${['2']}
277
+
${'3'} | ${['3']}
278
+
${'4'} | ${['4']}
279
+
${'_'} | ${undefined}
280
+
`('should return $result when $input is passed', ({ input, result }) => {
281
+
expectToParse(node, input, result);
282
+
});
283
+
});
284
+
285
+
describe('nested alternate in nested alternate in alternate', () => {
286
+
const node = match('node')`((${/1/} | ${/2/}) | ${/3/}) | ${/4/}`;
287
+
it.each`
288
+
input | result
289
+
${'1'} | ${['1']}
290
+
${'2'} | ${['2']}
291
+
${'3'} | ${['3']}
292
+
${'4'} | ${['4']}
293
+
${'_'} | ${undefined}
294
+
`('should return $result when $input is passed', ({ input, result }) => {
295
+
expectToParse(node, input, result);
296
+
});
297
+
});
298
+
299
+
describe('alternate after required matcher', () => {
300
+
const node = match('node')`${/1/} (${/2/} | ${/3/})`;
301
+
it.each`
302
+
input | result
303
+
${'12'} | ${['1', '2']}
304
+
${'13'} | ${['1', '3']}
305
+
${'14'} | ${undefined}
306
+
${'3'} | ${undefined}
307
+
${'_'} | ${undefined}
308
+
`('should return $result when $input is passed', ({ input, result }) => {
309
+
expectToParse(node, input, result);
310
+
});
311
+
});
312
+
313
+
describe('alternate with star group and required matcher after required matcher', () => {
314
+
const node = match('node')`${/1/} (${/2/}* ${/3/} | ${/4/})`;
315
+
it.each`
316
+
input | result
317
+
${'123'} | ${['1', '2', '3']}
318
+
${'1223'} | ${['1', '2', '2', '3']}
319
+
${'13'} | ${['1', '3']}
320
+
${'14'} | ${['1', '4']}
321
+
${'12'} | ${undefined}
322
+
${'15'} | ${undefined}
323
+
${'_'} | ${undefined}
324
+
`('should return $result when $input is passed', ({ input, result }) => {
325
+
expectToParse(node, input, result);
326
+
});
327
+
});
328
+
329
+
describe('alternate with plus group and required matcher after required matcher', () => {
330
+
const node = match('node')`${/1/} (${/2/}+ ${/3/} | ${/4/})`;
331
+
it.each`
332
+
input | result
333
+
${'123'} | ${['1', '2', '3']}
334
+
${'1223'} | ${['1', '2', '2', '3']}
335
+
${'14'} | ${['1', '4']}
336
+
${'13'} | ${undefined}
337
+
${'12'} | ${undefined}
338
+
${'15'} | ${undefined}
339
+
${'_'} | ${undefined}
340
+
`('should return $result when $input is passed', ({ input, result }) => {
341
+
expectToParse(node, input, result);
342
+
});
343
+
});
344
+
345
+
describe('alternate with optional and required matcher after required matcher', () => {
346
+
const node = match('node')`${/1/} (${/2/}? ${/3/} | ${/4/})`;
347
+
it.each`
348
+
input | result
349
+
${'123'} | ${['1', '2', '3']}
350
+
${'13'} | ${['1', '3']}
351
+
${'14'} | ${['1', '4']}
352
+
${'12'} | ${undefined}
353
+
${'15'} | ${undefined}
354
+
${'_'} | ${undefined}
355
+
`('should return $result when $input is passed', ({ input, result }) => {
356
+
expectToParse(node, input, result);
357
+
});
358
+
});
359
+
360
+
describe('non-capturing group', () => {
361
+
const node = match('node')`${/1/} (?: ${/2/}+)`;
362
+
it.each`
363
+
input | result | lastIndex
364
+
${'12'} | ${['1']} | ${2}
365
+
${'122'} | ${['1']} | ${3}
366
+
${'13'} | ${undefined} | ${0}
367
+
${'1'} | ${undefined} | ${0}
368
+
${'_'} | ${undefined} | ${0}
369
+
`(
370
+
'should return $result when $input is passed',
371
+
({ input, result, lastIndex }) => {
372
+
expectToParse(node, input, result, lastIndex);
373
+
}
374
+
);
375
+
});
376
+
377
+
describe('non-capturing shorthand', () => {
378
+
const node = match('node')`${/1/} :${/2/}+`;
379
+
it.each`
380
+
input | result | lastIndex
381
+
${'12'} | ${['1']} | ${2}
382
+
${'122'} | ${['1']} | ${3}
383
+
${'13'} | ${undefined} | ${0}
384
+
${'1'} | ${undefined} | ${0}
385
+
${'_'} | ${undefined} | ${0}
386
+
`(
387
+
'should return $result when $input is passed',
388
+
({ input, result, lastIndex }) => {
389
+
expectToParse(node, input, result, lastIndex);
390
+
}
391
+
);
392
+
});
393
+
394
+
describe('non-capturing group with plus matcher, then required matcher', () => {
395
+
const node = match('node')`(?: ${/1/}+) ${/2/}`;
396
+
it.each`
397
+
input | result | lastIndex
398
+
${'12'} | ${['2']} | ${2}
399
+
${'112'} | ${['2']} | ${3}
400
+
${'1'} | ${undefined} | ${0}
401
+
${'13'} | ${undefined} | ${0}
402
+
${'2'} | ${undefined} | ${0}
403
+
${'_'} | ${undefined} | ${0}
404
+
`(
405
+
'should return $result when $input is passed',
406
+
({ input, result, lastIndex }) => {
407
+
expectToParse(node, input, result, lastIndex);
408
+
}
409
+
);
410
+
});
411
+
412
+
describe('non-capturing group with star group and required matcher, then required matcher', () => {
413
+
const node = match('node')`(?: ${/1/}* ${/2/}) ${/3/}`;
414
+
it.each`
415
+
input | result | lastIndex
416
+
${'123'} | ${['3']} | ${3}
417
+
${'1123'} | ${['3']} | ${4}
418
+
${'23'} | ${['3']} | ${2}
419
+
${'13'} | ${undefined} | ${0}
420
+
${'2'} | ${undefined} | ${0}
421
+
${'_'} | ${undefined} | ${0}
422
+
`(
423
+
'should return $result when $input is passed',
424
+
({ input, result, lastIndex }) => {
425
+
expectToParse(node, input, result, lastIndex);
426
+
}
427
+
);
428
+
});
429
+
430
+
describe('non-capturing group with plus group and required matcher, then required matcher', () => {
431
+
const node = match('node')`(?: ${/1/}+ ${/2/}) ${/3/}`;
432
+
it.each`
433
+
input | result | lastIndex
434
+
${'123'} | ${['3']} | ${3}
435
+
${'1123'} | ${['3']} | ${4}
436
+
${'23'} | ${undefined} | ${0}
437
+
${'13'} | ${undefined} | ${0}
438
+
${'2'} | ${undefined} | ${0}
439
+
${'_'} | ${undefined} | ${0}
440
+
`(
441
+
'should return $result when $input is passed',
442
+
({ input, result, lastIndex }) => {
443
+
expectToParse(node, input, result, lastIndex);
444
+
}
445
+
);
446
+
});
447
+
448
+
describe('non-capturing group with optional and required matcher, then required matcher', () => {
449
+
const node = match('node')`(?: ${/1/}? ${/2/}) ${/3/}`;
450
+
it.each`
451
+
input | result | lastIndex
452
+
${'123'} | ${['3']} | ${3}
453
+
${'23'} | ${['3']} | ${2}
454
+
${'13'} | ${undefined} | ${0}
455
+
${'2'} | ${undefined} | ${0}
456
+
${'_'} | ${undefined} | ${0}
457
+
`(
458
+
'should return $result when $input is passed',
459
+
({ input, result, lastIndex }) => {
460
+
expectToParse(node, input, result, lastIndex);
461
+
}
462
+
);
463
+
});
464
+
465
+
describe('positive lookahead group', () => {
466
+
const node = match('node')`(?= ${/1/}) ${/\d/}`;
467
+
it.each`
468
+
input | result | lastIndex
469
+
${'1'} | ${['1']} | ${1}
470
+
${'13'} | ${['1']} | ${1}
471
+
${'2'} | ${undefined} | ${0}
472
+
${'_'} | ${undefined} | ${0}
473
+
`(
474
+
'should return $result when $input is passed',
475
+
({ input, result, lastIndex }) => {
476
+
expectToParse(node, input, result, lastIndex);
477
+
}
478
+
);
479
+
});
480
+
481
+
describe('positive lookahead shorthand', () => {
482
+
const node = match('node')`=${/1/} ${/\d/}`;
483
+
it.each`
484
+
input | result | lastIndex
485
+
${'1'} | ${['1']} | ${1}
486
+
${'13'} | ${['1']} | ${1}
487
+
${'2'} | ${undefined} | ${0}
488
+
${'_'} | ${undefined} | ${0}
489
+
`(
490
+
'should return $result when $input is passed',
491
+
({ input, result, lastIndex }) => {
492
+
expectToParse(node, input, result, lastIndex);
493
+
}
494
+
);
495
+
});
496
+
497
+
describe('positive lookahead group with plus matcher', () => {
498
+
const node = match('node')`(?= ${/1/}+) ${/\d/}`;
499
+
it.each`
500
+
input | result | lastIndex
501
+
${'1'} | ${['1']} | ${1}
502
+
${'11'} | ${['1']} | ${1}
503
+
${'12'} | ${['1']} | ${1}
504
+
${'22'} | ${undefined} | ${0}
505
+
${'2'} | ${undefined} | ${0}
506
+
${'_'} | ${undefined} | ${0}
507
+
`(
508
+
'should return $result when $input is passed',
509
+
({ input, result, lastIndex }) => {
510
+
expectToParse(node, input, result, lastIndex);
511
+
}
512
+
);
513
+
});
514
+
515
+
describe('positive lookahead group with plus group and required matcher', () => {
516
+
const node = match('node')`(?= ${/1/}+ ${/2/}) ${/\d/}`;
517
+
it.each`
518
+
input | result | lastIndex
519
+
${'12'} | ${['1']} | ${1}
520
+
${'112'} | ${['1']} | ${1}
521
+
${'1123'} | ${['1']} | ${1}
522
+
${'2'} | ${undefined} | ${0}
523
+
${'1'} | ${undefined} | ${0}
524
+
${'2'} | ${undefined} | ${0}
525
+
${'_'} | ${undefined} | ${0}
526
+
`(
527
+
'should return $result when $input is passed',
528
+
({ input, result, lastIndex }) => {
529
+
expectToParse(node, input, result, lastIndex);
530
+
}
531
+
);
532
+
});
533
+
534
+
describe('negative lookahead group', () => {
535
+
const node = match('node')`(?! ${/1/}) ${/\d/}`;
536
+
it.each`
537
+
input | result | lastIndex
538
+
${'2'} | ${['2']} | ${1}
539
+
${'23'} | ${['2']} | ${1}
540
+
${'1'} | ${undefined} | ${0}
541
+
${'1'} | ${undefined} | ${0}
542
+
${'_'} | ${undefined} | ${0}
543
+
`(
544
+
'should return $result when $input is passed',
545
+
({ input, result, lastIndex }) => {
546
+
expectToParse(node, input, result, lastIndex);
547
+
}
548
+
);
549
+
});
550
+
551
+
describe('negative lookahead shorthand', () => {
552
+
const node = match('node')`!${/1/} ${/\d/}`;
553
+
it.each`
554
+
input | result | lastIndex
555
+
${'2'} | ${['2']} | ${1}
556
+
${'23'} | ${['2']} | ${1}
557
+
${'1'} | ${undefined} | ${0}
558
+
${'1'} | ${undefined} | ${0}
559
+
${'_'} | ${undefined} | ${0}
560
+
`(
561
+
'should return $result when $input is passed',
562
+
({ input, result, lastIndex }) => {
563
+
expectToParse(node, input, result, lastIndex);
564
+
}
565
+
);
566
+
});
567
+
568
+
describe('longer negative lookahead group', () => {
569
+
const node = match('node')`${/1/} (?! ${/2/} ${/3/}) ${/\d/} ${/\d/}`;
570
+
it.each`
571
+
input | result | lastIndex
572
+
${'145'} | ${['1', '4', '5']} | ${3}
573
+
${'124'} | ${['1', '2', '4']} | ${3}
574
+
${'123'} | ${undefined} | ${0}
575
+
${'2'} | ${undefined} | ${0}
576
+
${'_'} | ${undefined} | ${0}
577
+
`(
578
+
'should return $result when $input is passed',
579
+
({ input, result, lastIndex }) => {
580
+
expectToParse(node, input, result, lastIndex);
581
+
}
582
+
);
583
+
});
584
+
585
+
describe('negative lookahead group with plus matcher', () => {
586
+
const node = match('node')`(?! ${/1/}+) ${/\d/}`;
587
+
it.each`
588
+
input | result | lastIndex
589
+
${'2'} | ${['2']} | ${1}
590
+
${'21'} | ${['2']} | ${1}
591
+
${'22'} | ${['2']} | ${1}
592
+
${'11'} | ${undefined} | ${0}
593
+
${'1'} | ${undefined} | ${0}
594
+
${'_'} | ${undefined} | ${0}
595
+
`(
596
+
'should return $result when $input is passed',
597
+
({ input, result, lastIndex }) => {
598
+
expectToParse(node, input, result, lastIndex);
599
+
}
600
+
);
601
+
});
602
+
603
+
describe('negative lookahead group with plus group and required matcher', () => {
604
+
const node = match('node')`(?! ${/1/}+ ${/2/}) ${/\d/}`;
605
+
it.each`
606
+
input | result | lastIndex
607
+
${'21'} | ${['2']} | ${1}
608
+
${'211'} | ${['2']} | ${1}
609
+
${'113'} | ${['1']} | ${1}
610
+
${'1'} | ${['1']} | ${1}
611
+
${'112'} | ${undefined} | ${0}
612
+
${'12'} | ${undefined} | ${0}
613
+
${'_'} | ${undefined} | ${0}
614
+
`(
615
+
'should return $result when $input is passed',
616
+
({ input, result, lastIndex }) => {
617
+
expectToParse(node, input, result, lastIndex);
618
+
}
619
+
);
620
+
});
621
+
622
+
describe('interpolation parsing', () => {
623
+
const node = match('node')`
624
+
${/1/}
625
+
${interpolation((x) => (x > 1 ? x : null))}
626
+
${/3/}
627
+
`;
628
+
629
+
it('matches interpolations', () => {
630
+
const expected = ['1', 2, '3'];
631
+
expected.tag = 'node';
632
+
expect(parse(node)`1${2}3`).toEqual(expected);
633
+
});
634
+
635
+
it('does not match invalid inputs', () => {
636
+
expect(parse(node)`13`).toBe(undefined);
637
+
expect(parse(node)`13${2}`).toBe(undefined);
638
+
expect(parse(node)`${2}13`).toBe(undefined);
639
+
expect(parse(node)`1${1}3`).toBe(undefined);
640
+
});
641
+
});
642
+
643
+
describe('string matching', () => {
644
+
const node = match('node')`
645
+
${'1'}
646
+
${'2'}
647
+
`;
648
+
649
+
it('matches strings', () => {
650
+
const expected = ['1', '2'];
651
+
expected.tag = 'node';
652
+
expect(parse(node)('12')).toEqual(expected);
653
+
expect(parse(node)('13')).toBe(undefined);
654
+
});
655
+
});
+35
-78
src/parser.js
+35
-78
src/parser.js
···
1
+
const syntaxError = (char) => {
2
+
throw new SyntaxError('Unexpected token "' + char + '"');
3
+
};
4
+
1
5
export const parse = (quasis, expressions) => {
2
6
let quasiIndex = 0;
3
7
let stackIndex = 0;
4
8
5
9
const sequenceStack = [];
6
-
const rootSequence = {
7
-
type: 'sequence',
8
-
sequence: [],
9
-
alternation: null,
10
-
};
10
+
const rootSequence = [];
11
11
12
12
let currentGroup = null;
13
13
let lastMatch;
14
14
let currentSequence = rootSequence;
15
+
let capture;
15
16
16
-
while (stackIndex < quasis.length + expressions.length) {
17
+
for (
18
+
let quasiIndex = 0, stackIndex = 0;
19
+
stackIndex < quasis.length + expressions.length;
20
+
stackIndex++
21
+
) {
17
22
if (stackIndex % 2 !== 0) {
18
23
const expression = expressions[stackIndex++ >> 1];
19
-
20
-
currentSequence.sequence.push({
21
-
type: 'expression',
22
-
expression,
23
-
quantifier: null,
24
-
});
24
+
currentSequence.push({ expression, capture });
25
+
capture = undefined;
25
26
}
26
27
27
28
const quasi = quasis[stackIndex >> 1];
28
-
while (quasiIndex < quasi.length) {
29
+
for (quasiIndex = 0; quasiIndex < quasi.length; ) {
29
30
const char = quasi[quasiIndex++];
30
-
31
31
if (char === ' ' || char === '\t' || char === '\r' || char === '\n') {
32
-
continue;
33
-
} else if (char === '|' && currentSequence.sequence.length > 0) {
34
-
currentSequence = currentSequence.alternation = {
35
-
type: 'sequence',
36
-
sequence: [],
37
-
alternation: null,
38
-
};
39
-
40
-
continue;
41
-
} else if (char === ')' && currentSequence.sequence.length > 0) {
32
+
} else if (char === '|' && currentSequence.length) {
33
+
currentSequence = currentSequence.alternation = [];
34
+
} else if (char === ')' && currentSequence.length) {
42
35
currentGroup = null;
43
36
currentSequence = sequenceStack.pop();
44
-
if (currentSequence) continue;
37
+
if (!currentSequence) syntaxError(char);
45
38
} else if (char === '(') {
46
-
currentGroup = {
47
-
type: 'group',
48
-
sequence: {
49
-
type: 'sequence',
50
-
sequence: [],
51
-
alternation: null,
52
-
},
53
-
capturing: true,
54
-
lookahead: null,
55
-
quantifier: null,
56
-
};
57
-
58
39
sequenceStack.push(currentSequence);
59
-
currentSequence.sequence.push(currentGroup);
40
+
currentSequence.push((currentGroup = { sequence: [], capture }));
60
41
currentSequence = currentGroup.sequence;
61
-
continue;
62
-
} else if (
63
-
char === '?' &&
64
-
currentSequence.sequence.length === 0 &&
65
-
currentGroup
66
-
) {
67
-
const nextChar = quasi[quasiIndex++];
68
-
if (!nextChar) {
69
-
throw new SyntaxError('Unexpected end of input after ' + char);
70
-
}
71
-
72
-
if (nextChar === ':') {
73
-
currentGroup.capturing = false;
74
-
continue;
75
-
} else if (nextChar === '=') {
76
-
currentGroup.capturing = false;
77
-
currentGroup.lookahead = 'positive';
78
-
continue;
79
-
} else if (nextChar === '!') {
80
-
currentGroup.capturing = false;
81
-
currentGroup.lookahead = 'negative';
82
-
continue;
42
+
capture = undefined;
43
+
} else if (char === ':' || char === '=' || char === '!') {
44
+
capture = char;
45
+
const nextChar = quasi[quasiIndex];
46
+
if (quasi[quasiIndex] && quasi[quasiIndex] !== '(') syntaxError(char);
47
+
} else if (char === '?' && !currentSequence.length && currentGroup) {
48
+
capture = quasi[quasiIndex++];
49
+
if (capture === ':' || capture === '=' || capture === '!') {
50
+
currentGroup.capture = capture;
51
+
capture = undefined;
52
+
} else {
53
+
syntaxError(char);
83
54
}
84
55
} else if (
85
56
(char === '?' || char === '+' || char === '*') &&
86
-
(lastMatch =
87
-
currentSequence.sequence[currentSequence.sequence.length - 1])
57
+
(lastMatch = currentSequence[currentSequence.length - 1])
88
58
) {
89
-
if (lastMatch.type === 'group' && lastMatch.lookahead) {
90
-
throw new SyntaxError('Unexpected quantifier on lookahead group');
91
-
}
92
-
93
-
lastMatch.quantifier = {
94
-
type: 'quantifier',
95
-
required: char === '+',
96
-
singular: char === '?',
97
-
};
98
-
99
-
continue;
59
+
lastMatch.quantifier = char;
60
+
} else {
61
+
syntaxError(char);
100
62
}
101
-
102
-
throw new SyntaxError('Unexpected token ' + char);
103
63
}
104
-
105
-
stackIndex++;
106
-
quasiIndex = 0;
107
64
}
108
65
109
66
return rootSequence;
+86
-118
src/parser.test.js
+86
-118
src/parser.test.js
···
2
2
3
3
const parseTag = (quasis, ...expressions) => parse(quasis, expressions);
4
4
5
-
it('supports parsing expressions', () => {
6
-
expect(parseTag`${1}`).toEqual({
7
-
type: 'sequence',
8
-
sequence: [
9
-
{
10
-
type: 'expression',
11
-
expression: 1,
12
-
quantifier: null,
13
-
},
14
-
],
15
-
alternation: null,
16
-
});
17
-
});
18
-
19
5
it('supports parsing expressions with quantifiers', () => {
20
6
let ast;
21
7
22
8
ast = parseTag`${1}?`;
23
-
expect(ast).toHaveProperty('sequence.0.type', 'expression');
24
-
expect(ast).toHaveProperty('sequence.0.quantifier', {
25
-
type: 'quantifier',
26
-
required: false,
27
-
singular: true,
28
-
});
9
+
expect(ast).toHaveProperty('0.quantifier', '?');
29
10
30
11
ast = parseTag`${1}+`;
31
-
expect(ast).toHaveProperty('sequence.0.type', 'expression');
32
-
expect(ast).toHaveProperty('sequence.0.quantifier', {
33
-
type: 'quantifier',
34
-
required: true,
35
-
singular: false,
36
-
});
12
+
expect(ast).toHaveProperty('0.quantifier', '+');
37
13
38
14
ast = parseTag`${1}*`;
39
-
expect(ast).toHaveProperty('sequence.0.type', 'expression');
40
-
expect(ast).toHaveProperty('sequence.0.quantifier', {
41
-
type: 'quantifier',
42
-
required: false,
43
-
singular: false,
44
-
});
15
+
expect(ast).toHaveProperty('0.quantifier', '*');
45
16
});
46
17
47
18
it('supports top-level alternations', () => {
48
19
let ast;
49
20
50
21
ast = parseTag`${1} | ${2}`;
51
-
expect(ast).toHaveProperty('sequence.length', 1);
52
-
expect(ast).toHaveProperty('sequence.0.type', 'expression');
53
-
expect(ast).toHaveProperty('sequence.0.expression', 1);
54
-
expect(ast).toHaveProperty('alternation.type', 'sequence');
55
-
expect(ast).toHaveProperty('alternation.sequence.0.expression', 2);
22
+
expect(ast).toHaveProperty('length', 1);
23
+
expect(ast).toHaveProperty('0.expression', 1);
24
+
expect(ast).toHaveProperty('alternation.0.expression', 2);
56
25
57
26
ast = parseTag`${1}? | ${2}?`;
58
-
expect(ast).toHaveProperty('sequence.0.quantifier.type', 'quantifier');
59
-
expect(ast).toHaveProperty(
60
-
'alternation.sequence.0.quantifier.type',
61
-
'quantifier'
62
-
);
27
+
expect(ast).toHaveProperty('0.quantifier', '?');
63
28
});
64
29
65
30
it('supports groups with quantifiers', () => {
66
31
let ast;
67
32
68
33
ast = parseTag`(${1} ${2})`;
69
-
expect(ast).toHaveProperty('sequence.length', 1);
70
-
expect(ast).toHaveProperty('sequence.0.type', 'group');
71
-
expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 2);
72
-
expect(ast).toHaveProperty('sequence.0.sequence.sequence.0.expression', 1);
73
-
expect(ast).toHaveProperty('sequence.0.sequence.sequence.1.expression', 2);
34
+
expect(ast).toHaveProperty('length', 1);
35
+
expect(ast).toHaveProperty('0.sequence.length', 2);
36
+
expect(ast).toHaveProperty('0.sequence.0.expression', 1);
37
+
expect(ast).toHaveProperty('0.sequence.1.expression', 2);
74
38
75
39
ast = parseTag`(${1} ${2}?)?`;
76
-
expect(ast).toHaveProperty('sequence.length', 1);
77
-
expect(ast).toHaveProperty('sequence.0.type', 'group');
78
-
expect(ast).toHaveProperty('sequence.0.quantifier.type', 'quantifier');
79
-
expect(ast).toHaveProperty('sequence.0.sequence.sequence.0.quantifier', null);
80
-
expect(ast).toHaveProperty(
81
-
'sequence.0.sequence.sequence.1.quantifier.type',
82
-
'quantifier'
83
-
);
40
+
expect(ast).toHaveProperty('length', 1);
41
+
expect(ast).toHaveProperty('0.quantifier', '?');
42
+
expect(ast).toHaveProperty('0.sequence.0.quantifier', undefined);
84
43
});
85
44
86
-
it('supports non-capturing groups', () => {
87
-
const ast = parseTag`(?: ${1})`;
88
-
expect(ast).toHaveProperty('sequence.length', 1);
89
-
expect(ast).toHaveProperty('sequence.0.type', 'group');
90
-
expect(ast).toHaveProperty('sequence.0.capturing', false);
91
-
expect(ast).toHaveProperty('sequence.0.lookahead', null);
92
-
expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 1);
93
-
});
45
+
describe('non-capturing syntax', () => {
46
+
it('supports regex-like syntax', () => {
47
+
const ast = parseTag`(?: ${1})`;
48
+
expect(ast).toHaveProperty('length', 1);
49
+
expect(ast).toHaveProperty('0.capture', ':');
50
+
expect(ast).toHaveProperty('0.sequence.length', 1);
51
+
});
52
+
53
+
it('supports shorthand', () => {
54
+
let ast = parseTag`:${1}`;
55
+
expect(ast).toHaveProperty('length', 1);
56
+
expect(ast).toHaveProperty('0.capture', ':');
57
+
expect(ast).toHaveProperty('0.expression', 1);
58
+
ast = parseTag`:(${1})`;
59
+
expect(ast).toHaveProperty('length', 1);
60
+
expect(ast).toHaveProperty('0.capture', ':');
61
+
expect(ast).toHaveProperty('0.sequence.length', 1);
62
+
});
94
63
95
-
it('supports positive lookahead groups', () => {
96
-
const ast = parseTag`(?= ${1})`;
97
-
expect(ast).toHaveProperty('sequence.length', 1);
98
-
expect(ast).toHaveProperty('sequence.0.type', 'group');
99
-
expect(ast).toHaveProperty('sequence.0.capturing', false);
100
-
expect(ast).toHaveProperty('sequence.0.lookahead', 'positive');
101
-
expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 1);
64
+
it('fails on invalid usage', () => {
65
+
expect(() => parseTag`${1} : ${2}`).toThrow();
66
+
expect(() => parseTag`${1} :|${2}`).toThrow();
67
+
});
102
68
});
103
69
104
-
it('supports negative lookahead groups', () => {
105
-
const ast = parseTag`(?! ${1})`;
106
-
expect(ast).toHaveProperty('sequence.length', 1);
107
-
expect(ast).toHaveProperty('sequence.0.type', 'group');
108
-
expect(ast).toHaveProperty('sequence.0.capturing', false);
109
-
expect(ast).toHaveProperty('sequence.0.lookahead', 'negative');
110
-
expect(ast).toHaveProperty('sequence.0.sequence.sequence.length', 1);
70
+
describe('positive lookaheads syntax', () => {
71
+
it('supports regex-like syntax', () => {
72
+
const ast = parseTag`(?= ${1})`;
73
+
expect(ast).toHaveProperty('length', 1);
74
+
expect(ast).toHaveProperty('0.capture', '=');
75
+
expect(ast).toHaveProperty('0.sequence.length', 1);
76
+
});
77
+
78
+
it('supports shorthand', () => {
79
+
let ast = parseTag`=${1}`;
80
+
expect(ast).toHaveProperty('length', 1);
81
+
expect(ast).toHaveProperty('0.capture', '=');
82
+
expect(ast).toHaveProperty('0.expression', 1);
83
+
ast = parseTag`=(${1})`;
84
+
expect(ast).toHaveProperty('length', 1);
85
+
expect(ast).toHaveProperty('0.capture', '=');
86
+
expect(ast).toHaveProperty('0.sequence.length', 1);
87
+
});
111
88
});
112
89
113
-
it('throws when a quantifier is combined with a lookahead', () => {
114
-
expect(() => parseTag`(?! ${1})+`).toThrow();
115
-
expect(() => parseTag`(?! ${1})?`).toThrow();
116
-
expect(() => parseTag`(?! ${1})*`).toThrow();
90
+
describe('negative lookaheads syntax', () => {
91
+
it('supports regex-like syntax', () => {
92
+
const ast = parseTag`(?! ${1})`;
93
+
expect(ast).toHaveProperty('length', 1);
94
+
expect(ast).toHaveProperty('0.capture', '!');
95
+
expect(ast).toHaveProperty('0.sequence.length', 1);
96
+
});
97
+
98
+
it('supports shorthand', () => {
99
+
let ast = parseTag`!${1}`;
100
+
expect(ast).toHaveProperty('length', 1);
101
+
expect(ast).toHaveProperty('0.capture', '!');
102
+
expect(ast).toHaveProperty('0.expression', 1);
103
+
ast = parseTag`!(${1})`;
104
+
expect(ast).toHaveProperty('length', 1);
105
+
expect(ast).toHaveProperty('0.capture', '!');
106
+
expect(ast).toHaveProperty('0.sequence.length', 1);
107
+
});
117
108
});
118
109
119
110
it('supports groups with alternates', () => {
120
111
expect(parseTag`(${1} | ${2}) ${3}`).toMatchInlineSnapshot(`
121
-
Object {
122
-
"alternation": null,
123
-
"sequence": Array [
124
-
Object {
125
-
"capturing": true,
126
-
"lookahead": null,
127
-
"quantifier": null,
128
-
"sequence": Object {
129
-
"alternation": Object {
130
-
"alternation": null,
131
-
"sequence": Array [
132
-
Object {
133
-
"expression": 2,
134
-
"quantifier": null,
135
-
"type": "expression",
136
-
},
137
-
],
138
-
"type": "sequence",
139
-
},
140
-
"sequence": Array [
141
-
Object {
142
-
"expression": 1,
143
-
"quantifier": null,
144
-
"type": "expression",
145
-
},
146
-
],
147
-
"type": "sequence",
112
+
Array [
113
+
Object {
114
+
"capture": undefined,
115
+
"sequence": Array [
116
+
Object {
117
+
"capture": undefined,
118
+
"expression": 1,
148
119
},
149
-
"type": "group",
150
-
},
151
-
Object {
152
-
"expression": 3,
153
-
"quantifier": null,
154
-
"type": "expression",
155
-
},
156
-
],
157
-
"type": "sequence",
158
-
}
120
+
],
121
+
},
122
+
Object {
123
+
"capture": undefined,
124
+
"expression": 3,
125
+
},
126
+
]
159
127
`);
160
128
});
+1463
-1868
yarn.lock
+1463
-1868
yarn.lock
···
2
2
# yarn lockfile v1
3
3
4
4
5
+
"@ampproject/remapping@0.2.0":
6
+
version "0.2.0"
7
+
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-0.2.0.tgz#07290a5c0f5eac8a4c33d38aa0d15a3416db432e"
8
+
integrity sha512-a4EztS9/GOVQjX5Ol+Iz33TFhaXvYBF7aB6D8+Qz0/SCIxOm3UNRhGZiwcCuJ8/Ifc6NCogp3S48kc5hFxRpUw==
9
+
dependencies:
10
+
"@jridgewell/resolve-uri" "1.0.0"
11
+
sourcemap-codec "1.4.8"
12
+
13
+
"@ampproject/rollup-plugin-closure-compiler@^0.27.0":
14
+
version "0.27.0"
15
+
resolved "https://registry.yarnpkg.com/@ampproject/rollup-plugin-closure-compiler/-/rollup-plugin-closure-compiler-0.27.0.tgz#fd98e7257946242cc6f3eaf8ae18d4a67a99ed40"
16
+
integrity sha512-stpAOn2ZZEJuAV39HFw9cnKJYNhEeHtcsoa83orpLDhSxsxSbVEKwHaWlFBaQYpQRSOdapC4eJhJnCzocZxnqg==
17
+
dependencies:
18
+
"@ampproject/remapping" "0.2.0"
19
+
acorn "7.3.1"
20
+
acorn-walk "7.1.1"
21
+
estree-walker "2.0.1"
22
+
google-closure-compiler "20210808.0.0"
23
+
magic-string "0.25.7"
24
+
uuid "8.1.0"
25
+
5
26
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
6
27
version "7.8.3"
7
28
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
···
9
30
dependencies:
10
31
"@babel/highlight" "^7.8.3"
11
32
12
-
"@babel/core@7.9.6", "@babel/core@^7.1.0", "@babel/core@^7.7.5":
33
+
"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5":
34
+
version "7.14.5"
35
+
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
36
+
integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
37
+
dependencies:
38
+
"@babel/highlight" "^7.14.5"
39
+
40
+
"@babel/compat-data@^7.15.0":
41
+
version "7.15.0"
42
+
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176"
43
+
integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==
44
+
45
+
"@babel/core@7.15.0", "@babel/core@^7.7.2":
46
+
version "7.15.0"
47
+
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8"
48
+
integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==
49
+
dependencies:
50
+
"@babel/code-frame" "^7.14.5"
51
+
"@babel/generator" "^7.15.0"
52
+
"@babel/helper-compilation-targets" "^7.15.0"
53
+
"@babel/helper-module-transforms" "^7.15.0"
54
+
"@babel/helpers" "^7.14.8"
55
+
"@babel/parser" "^7.15.0"
56
+
"@babel/template" "^7.14.5"
57
+
"@babel/traverse" "^7.15.0"
58
+
"@babel/types" "^7.15.0"
59
+
convert-source-map "^1.7.0"
60
+
debug "^4.1.0"
61
+
gensync "^1.0.0-beta.2"
62
+
json5 "^2.1.2"
63
+
semver "^6.3.0"
64
+
source-map "^0.5.0"
65
+
66
+
"@babel/core@^7.1.0", "@babel/core@^7.7.5":
13
67
version "7.9.6"
14
68
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
15
69
integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
···
31
85
semver "^5.4.1"
32
86
source-map "^0.5.0"
33
87
88
+
"@babel/generator@^7.15.0", "@babel/generator@^7.7.2":
89
+
version "7.15.0"
90
+
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15"
91
+
integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==
92
+
dependencies:
93
+
"@babel/types" "^7.15.0"
94
+
jsesc "^2.5.1"
95
+
source-map "^0.5.0"
96
+
34
97
"@babel/generator@^7.9.6":
35
98
version "7.9.6"
36
99
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
···
41
104
lodash "^4.17.13"
42
105
source-map "^0.5.0"
43
106
107
+
"@babel/helper-compilation-targets@^7.15.0":
108
+
version "7.15.0"
109
+
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz#973df8cbd025515f3ff25db0c05efc704fa79818"
110
+
integrity sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==
111
+
dependencies:
112
+
"@babel/compat-data" "^7.15.0"
113
+
"@babel/helper-validator-option" "^7.14.5"
114
+
browserslist "^4.16.6"
115
+
semver "^6.3.0"
116
+
117
+
"@babel/helper-function-name@^7.14.5":
118
+
version "7.14.5"
119
+
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4"
120
+
integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==
121
+
dependencies:
122
+
"@babel/helper-get-function-arity" "^7.14.5"
123
+
"@babel/template" "^7.14.5"
124
+
"@babel/types" "^7.14.5"
125
+
44
126
"@babel/helper-function-name@^7.9.5":
45
127
version "7.9.5"
46
128
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
···
50
132
"@babel/template" "^7.8.3"
51
133
"@babel/types" "^7.9.5"
52
134
135
+
"@babel/helper-get-function-arity@^7.14.5":
136
+
version "7.14.5"
137
+
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
138
+
integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==
139
+
dependencies:
140
+
"@babel/types" "^7.14.5"
141
+
53
142
"@babel/helper-get-function-arity@^7.8.3":
54
143
version "7.8.3"
55
144
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
56
145
integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
57
146
dependencies:
58
147
"@babel/types" "^7.8.3"
148
+
149
+
"@babel/helper-hoist-variables@^7.14.5":
150
+
version "7.14.5"
151
+
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
152
+
integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==
153
+
dependencies:
154
+
"@babel/types" "^7.14.5"
155
+
156
+
"@babel/helper-member-expression-to-functions@^7.15.0":
157
+
version "7.15.0"
158
+
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b"
159
+
integrity sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==
160
+
dependencies:
161
+
"@babel/types" "^7.15.0"
59
162
60
163
"@babel/helper-member-expression-to-functions@^7.8.3":
61
164
version "7.8.3"
···
64
167
dependencies:
65
168
"@babel/types" "^7.8.3"
66
169
67
-
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3":
170
+
"@babel/helper-module-imports@^7.14.5":
171
+
version "7.14.5"
172
+
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3"
173
+
integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==
174
+
dependencies:
175
+
"@babel/types" "^7.14.5"
176
+
177
+
"@babel/helper-module-imports@^7.8.3":
68
178
version "7.8.3"
69
179
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
70
180
integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
71
181
dependencies:
72
182
"@babel/types" "^7.8.3"
73
183
184
+
"@babel/helper-module-transforms@^7.15.0":
185
+
version "7.15.0"
186
+
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08"
187
+
integrity sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==
188
+
dependencies:
189
+
"@babel/helper-module-imports" "^7.14.5"
190
+
"@babel/helper-replace-supers" "^7.15.0"
191
+
"@babel/helper-simple-access" "^7.14.8"
192
+
"@babel/helper-split-export-declaration" "^7.14.5"
193
+
"@babel/helper-validator-identifier" "^7.14.9"
194
+
"@babel/template" "^7.14.5"
195
+
"@babel/traverse" "^7.15.0"
196
+
"@babel/types" "^7.15.0"
197
+
74
198
"@babel/helper-module-transforms@^7.9.0":
75
199
version "7.9.0"
76
200
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
···
84
208
"@babel/types" "^7.9.0"
85
209
lodash "^4.17.13"
86
210
211
+
"@babel/helper-optimise-call-expression@^7.14.5":
212
+
version "7.14.5"
213
+
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c"
214
+
integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==
215
+
dependencies:
216
+
"@babel/types" "^7.14.5"
217
+
87
218
"@babel/helper-optimise-call-expression@^7.8.3":
88
219
version "7.8.3"
89
220
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9"
···
96
227
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
97
228
integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
98
229
230
+
"@babel/helper-plugin-utils@^7.10.4":
231
+
version "7.10.4"
232
+
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
233
+
integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
234
+
235
+
"@babel/helper-plugin-utils@^7.14.5":
236
+
version "7.14.5"
237
+
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
238
+
integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
239
+
240
+
"@babel/helper-replace-supers@^7.15.0":
241
+
version "7.15.0"
242
+
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz#ace07708f5bf746bf2e6ba99572cce79b5d4e7f4"
243
+
integrity sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==
244
+
dependencies:
245
+
"@babel/helper-member-expression-to-functions" "^7.15.0"
246
+
"@babel/helper-optimise-call-expression" "^7.14.5"
247
+
"@babel/traverse" "^7.15.0"
248
+
"@babel/types" "^7.15.0"
249
+
99
250
"@babel/helper-replace-supers@^7.8.6":
100
251
version "7.9.6"
101
252
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
···
106
257
"@babel/traverse" "^7.9.6"
107
258
"@babel/types" "^7.9.6"
108
259
260
+
"@babel/helper-simple-access@^7.14.8":
261
+
version "7.14.8"
262
+
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924"
263
+
integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==
264
+
dependencies:
265
+
"@babel/types" "^7.14.8"
266
+
109
267
"@babel/helper-simple-access@^7.8.3":
110
268
version "7.8.3"
111
269
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae"
···
114
272
"@babel/template" "^7.8.3"
115
273
"@babel/types" "^7.8.3"
116
274
275
+
"@babel/helper-split-export-declaration@^7.14.5":
276
+
version "7.14.5"
277
+
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a"
278
+
integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==
279
+
dependencies:
280
+
"@babel/types" "^7.14.5"
281
+
117
282
"@babel/helper-split-export-declaration@^7.8.3":
118
283
version "7.8.3"
119
284
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
···
121
286
dependencies:
122
287
"@babel/types" "^7.8.3"
123
288
289
+
"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9":
290
+
version "7.14.9"
291
+
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48"
292
+
integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==
293
+
124
294
"@babel/helper-validator-identifier@^7.9.5":
125
295
version "7.9.5"
126
296
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
127
297
integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
128
298
299
+
"@babel/helper-validator-option@^7.14.5":
300
+
version "7.14.5"
301
+
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
302
+
integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
303
+
304
+
"@babel/helpers@^7.14.8":
305
+
version "7.15.3"
306
+
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.3.tgz#c96838b752b95dcd525b4e741ed40bb1dc2a1357"
307
+
integrity sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==
308
+
dependencies:
309
+
"@babel/template" "^7.14.5"
310
+
"@babel/traverse" "^7.15.0"
311
+
"@babel/types" "^7.15.0"
312
+
129
313
"@babel/helpers@^7.9.6":
130
314
version "7.9.6"
131
315
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
···
135
319
"@babel/traverse" "^7.9.6"
136
320
"@babel/types" "^7.9.6"
137
321
322
+
"@babel/highlight@^7.14.5":
323
+
version "7.14.5"
324
+
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
325
+
integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
326
+
dependencies:
327
+
"@babel/helper-validator-identifier" "^7.14.5"
328
+
chalk "^2.0.0"
329
+
js-tokens "^4.0.0"
330
+
138
331
"@babel/highlight@^7.8.3":
139
332
version "7.8.3"
140
333
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
···
148
341
version "7.9.6"
149
342
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
150
343
integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
344
+
345
+
"@babel/parser@^7.14.5", "@babel/parser@^7.15.0", "@babel/parser@^7.7.2":
346
+
version "7.15.3"
347
+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862"
348
+
integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==
151
349
152
350
"@babel/plugin-syntax-async-generators@^7.8.4":
153
351
version "7.8.4"
···
169
367
integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==
170
368
dependencies:
171
369
"@babel/helper-plugin-utils" "^7.8.3"
370
+
371
+
"@babel/plugin-syntax-import-meta@^7.8.3":
372
+
version "7.10.4"
373
+
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
374
+
integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
375
+
dependencies:
376
+
"@babel/helper-plugin-utils" "^7.10.4"
172
377
173
378
"@babel/plugin-syntax-json-strings@^7.8.3":
174
379
version "7.8.3"
···
219
424
dependencies:
220
425
"@babel/helper-plugin-utils" "^7.8.0"
221
426
222
-
"@babel/plugin-transform-modules-commonjs@^7.9.6":
223
-
version "7.9.6"
224
-
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277"
225
-
integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==
427
+
"@babel/plugin-syntax-top-level-await@^7.8.3":
428
+
version "7.14.5"
429
+
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
430
+
integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
226
431
dependencies:
227
-
"@babel/helper-module-transforms" "^7.9.0"
228
-
"@babel/helper-plugin-utils" "^7.8.3"
229
-
"@babel/helper-simple-access" "^7.8.3"
432
+
"@babel/helper-plugin-utils" "^7.14.5"
433
+
434
+
"@babel/plugin-syntax-typescript@^7.7.2":
435
+
version "7.14.5"
436
+
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716"
437
+
integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==
438
+
dependencies:
439
+
"@babel/helper-plugin-utils" "^7.14.5"
440
+
441
+
"@babel/plugin-transform-modules-commonjs@^7.15.0":
442
+
version "7.15.0"
443
+
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz#3305896e5835f953b5cdb363acd9e8c2219a5281"
444
+
integrity sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==
445
+
dependencies:
446
+
"@babel/helper-module-transforms" "^7.15.0"
447
+
"@babel/helper-plugin-utils" "^7.14.5"
448
+
"@babel/helper-simple-access" "^7.14.8"
230
449
babel-plugin-dynamic-import-node "^2.3.3"
231
450
232
-
"@babel/plugin-transform-object-assign@^7.8.3":
233
-
version "7.8.3"
234
-
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.8.3.tgz#dc3b8dd50ef03837868a37b7df791f64f288538e"
235
-
integrity sha512-i3LuN8tPDqUCRFu3dkzF2r1Nx0jp4scxtm7JxtIqI9he9Vk20YD+/zshdzR9JLsoBMlJlNR82a62vQExNEVx/Q==
451
+
"@babel/plugin-transform-template-literals@^7.14.5":
452
+
version "7.14.5"
453
+
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93"
454
+
integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==
455
+
dependencies:
456
+
"@babel/helper-plugin-utils" "^7.14.5"
457
+
458
+
"@babel/template@^7.14.5":
459
+
version "7.14.5"
460
+
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
461
+
integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==
236
462
dependencies:
237
-
"@babel/helper-plugin-utils" "^7.8.3"
463
+
"@babel/code-frame" "^7.14.5"
464
+
"@babel/parser" "^7.14.5"
465
+
"@babel/types" "^7.14.5"
238
466
239
467
"@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
240
468
version "7.8.6"
···
260
488
globals "^11.1.0"
261
489
lodash "^4.17.13"
262
490
491
+
"@babel/traverse@^7.15.0", "@babel/traverse@^7.7.2":
492
+
version "7.15.0"
493
+
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98"
494
+
integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==
495
+
dependencies:
496
+
"@babel/code-frame" "^7.14.5"
497
+
"@babel/generator" "^7.15.0"
498
+
"@babel/helper-function-name" "^7.14.5"
499
+
"@babel/helper-hoist-variables" "^7.14.5"
500
+
"@babel/helper-split-export-declaration" "^7.14.5"
501
+
"@babel/parser" "^7.15.0"
502
+
"@babel/types" "^7.15.0"
503
+
debug "^4.1.0"
504
+
globals "^11.1.0"
505
+
263
506
"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6":
264
507
version "7.9.6"
265
508
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
···
269
512
lodash "^4.17.13"
270
513
to-fast-properties "^2.0.0"
271
514
515
+
"@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.15.0":
516
+
version "7.15.0"
517
+
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
518
+
integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==
519
+
dependencies:
520
+
"@babel/helper-validator-identifier" "^7.14.9"
521
+
to-fast-properties "^2.0.0"
522
+
272
523
"@bcoe/v8-coverage@^0.2.3":
273
524
version "0.2.3"
274
525
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
275
526
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
276
-
277
-
"@cnakazawa/watch@^1.0.3":
278
-
version "1.0.4"
279
-
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
280
-
integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==
281
-
dependencies:
282
-
exec-sh "^0.3.2"
283
-
minimist "^1.2.0"
284
527
285
528
"@istanbuljs/load-nyc-config@^1.0.0":
286
529
version "1.0.0"
···
297
540
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
298
541
integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
299
542
300
-
"@jest/console@^26.0.1":
301
-
version "26.0.1"
302
-
resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.0.1.tgz#62b3b2fa8990f3cbffbef695c42ae9ddbc8f4b39"
303
-
integrity sha512-9t1KUe/93coV1rBSxMmBAOIK3/HVpwxArCA1CxskKyRiv6o8J70V8C/V3OJminVCTa2M0hQI9AWRd5wxu2dAHw==
543
+
"@jest/console@^27.1.0":
544
+
version "27.1.0"
545
+
resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.1.0.tgz#de13b603cb1d389b50c0dc6296e86e112381e43c"
546
+
integrity sha512-+Vl+xmLwAXLNlqT61gmHEixeRbS4L8MUzAjtpBCOPWH+izNI/dR16IeXjkXJdRtIVWVSf9DO1gdp67B1XorZhQ==
304
547
dependencies:
305
-
"@jest/types" "^26.0.1"
548
+
"@jest/types" "^27.1.0"
549
+
"@types/node" "*"
306
550
chalk "^4.0.0"
307
-
jest-message-util "^26.0.1"
308
-
jest-util "^26.0.1"
551
+
jest-message-util "^27.1.0"
552
+
jest-util "^27.1.0"
309
553
slash "^3.0.0"
310
554
311
-
"@jest/core@^26.0.1":
312
-
version "26.0.1"
313
-
resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.0.1.tgz#aa538d52497dfab56735efb00e506be83d841fae"
314
-
integrity sha512-Xq3eqYnxsG9SjDC+WLeIgf7/8KU6rddBxH+SCt18gEpOhAGYC/Mq+YbtlNcIdwjnnT+wDseXSbU0e5X84Y4jTQ==
555
+
"@jest/core@^27.1.0":
556
+
version "27.1.0"
557
+
resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.1.0.tgz#622220f18032f5869e579cecbe744527238648bf"
558
+
integrity sha512-3l9qmoknrlCFKfGdrmiQiPne+pUR4ALhKwFTYyOeKw6egfDwJkO21RJ1xf41rN8ZNFLg5W+w6+P4fUqq4EMRWA==
315
559
dependencies:
316
-
"@jest/console" "^26.0.1"
317
-
"@jest/reporters" "^26.0.1"
318
-
"@jest/test-result" "^26.0.1"
319
-
"@jest/transform" "^26.0.1"
320
-
"@jest/types" "^26.0.1"
560
+
"@jest/console" "^27.1.0"
561
+
"@jest/reporters" "^27.1.0"
562
+
"@jest/test-result" "^27.1.0"
563
+
"@jest/transform" "^27.1.0"
564
+
"@jest/types" "^27.1.0"
565
+
"@types/node" "*"
321
566
ansi-escapes "^4.2.1"
322
567
chalk "^4.0.0"
568
+
emittery "^0.8.1"
323
569
exit "^0.1.2"
324
570
graceful-fs "^4.2.4"
325
-
jest-changed-files "^26.0.1"
326
-
jest-config "^26.0.1"
327
-
jest-haste-map "^26.0.1"
328
-
jest-message-util "^26.0.1"
329
-
jest-regex-util "^26.0.0"
330
-
jest-resolve "^26.0.1"
331
-
jest-resolve-dependencies "^26.0.1"
332
-
jest-runner "^26.0.1"
333
-
jest-runtime "^26.0.1"
334
-
jest-snapshot "^26.0.1"
335
-
jest-util "^26.0.1"
336
-
jest-validate "^26.0.1"
337
-
jest-watcher "^26.0.1"
338
-
micromatch "^4.0.2"
571
+
jest-changed-files "^27.1.0"
572
+
jest-config "^27.1.0"
573
+
jest-haste-map "^27.1.0"
574
+
jest-message-util "^27.1.0"
575
+
jest-regex-util "^27.0.6"
576
+
jest-resolve "^27.1.0"
577
+
jest-resolve-dependencies "^27.1.0"
578
+
jest-runner "^27.1.0"
579
+
jest-runtime "^27.1.0"
580
+
jest-snapshot "^27.1.0"
581
+
jest-util "^27.1.0"
582
+
jest-validate "^27.1.0"
583
+
jest-watcher "^27.1.0"
584
+
micromatch "^4.0.4"
339
585
p-each-series "^2.1.0"
340
586
rimraf "^3.0.0"
341
587
slash "^3.0.0"
342
588
strip-ansi "^6.0.0"
343
589
344
-
"@jest/environment@^26.0.1":
345
-
version "26.0.1"
346
-
resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.0.1.tgz#82f519bba71959be9b483675ee89de8c8f72a5c8"
347
-
integrity sha512-xBDxPe8/nx251u0VJ2dFAFz2H23Y98qdIaNwnMK6dFQr05jc+Ne/2np73lOAx+5mSBO/yuQldRrQOf6hP1h92g==
590
+
"@jest/environment@^27.1.0":
591
+
version "27.1.0"
592
+
resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.1.0.tgz#c7224a67004759ec203d8fa44e8bc0db93f66c44"
593
+
integrity sha512-wRp50aAMY2w1U2jP1G32d6FUVBNYqmk8WaGkiIEisU48qyDV0WPtw3IBLnl7orBeggveommAkuijY+RzVnNDOQ==
348
594
dependencies:
349
-
"@jest/fake-timers" "^26.0.1"
350
-
"@jest/types" "^26.0.1"
351
-
jest-mock "^26.0.1"
595
+
"@jest/fake-timers" "^27.1.0"
596
+
"@jest/types" "^27.1.0"
597
+
"@types/node" "*"
598
+
jest-mock "^27.1.0"
352
599
353
-
"@jest/fake-timers@^26.0.1":
354
-
version "26.0.1"
355
-
resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.0.1.tgz#f7aeff13b9f387e9d0cac9a8de3bba538d19d796"
356
-
integrity sha512-Oj/kCBnTKhm7CR+OJSjZty6N1bRDr9pgiYQr4wY221azLz5PHi08x/U+9+QpceAYOWheauLP8MhtSVFrqXQfhg==
600
+
"@jest/fake-timers@^27.1.0":
601
+
version "27.1.0"
602
+
resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.1.0.tgz#c0b343d8a16af17eab2cb6862e319947c0ea2abe"
603
+
integrity sha512-22Zyn8il8DzpS+30jJNVbTlm7vAtnfy1aYvNeOEHloMlGy1PCYLHa4PWlSws0hvNsMM5bON6GISjkLoQUV3oMA==
357
604
dependencies:
358
-
"@jest/types" "^26.0.1"
359
-
"@sinonjs/fake-timers" "^6.0.1"
360
-
jest-message-util "^26.0.1"
361
-
jest-mock "^26.0.1"
362
-
jest-util "^26.0.1"
605
+
"@jest/types" "^27.1.0"
606
+
"@sinonjs/fake-timers" "^7.0.2"
607
+
"@types/node" "*"
608
+
jest-message-util "^27.1.0"
609
+
jest-mock "^27.1.0"
610
+
jest-util "^27.1.0"
363
611
364
-
"@jest/globals@^26.0.1":
365
-
version "26.0.1"
366
-
resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.0.1.tgz#3f67b508a7ce62b6e6efc536f3d18ec9deb19a9c"
367
-
integrity sha512-iuucxOYB7BRCvT+TYBzUqUNuxFX1hqaR6G6IcGgEqkJ5x4htNKo1r7jk1ji9Zj8ZMiMw0oB5NaA7k5Tx6MVssA==
612
+
"@jest/globals@^27.1.0":
613
+
version "27.1.0"
614
+
resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.1.0.tgz#e093a49c718dd678a782c197757775534c88d3f2"
615
+
integrity sha512-73vLV4aNHAlAgjk0/QcSIzzCZSqVIPbmFROJJv9D3QUR7BI4f517gVdJpSrCHxuRH3VZFhe0yGG/tmttlMll9g==
368
616
dependencies:
369
-
"@jest/environment" "^26.0.1"
370
-
"@jest/types" "^26.0.1"
371
-
expect "^26.0.1"
617
+
"@jest/environment" "^27.1.0"
618
+
"@jest/types" "^27.1.0"
619
+
expect "^27.1.0"
372
620
373
-
"@jest/reporters@^26.0.1":
374
-
version "26.0.1"
375
-
resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.0.1.tgz#14ae00e7a93e498cec35b0c00ab21c375d9b078f"
376
-
integrity sha512-NWWy9KwRtE1iyG/m7huiFVF9YsYv/e+mbflKRV84WDoJfBqUrNRyDbL/vFxQcYLl8IRqI4P3MgPn386x76Gf2g==
621
+
"@jest/reporters@^27.1.0":
622
+
version "27.1.0"
623
+
resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.1.0.tgz#02ed1e6601552c2f6447378533f77aad002781d4"
624
+
integrity sha512-5T/zlPkN2HnK3Sboeg64L5eC8iiaZueLpttdktWTJsvALEtP2YMkC5BQxwjRWQACG9SwDmz+XjjkoxXUDMDgdw==
377
625
dependencies:
378
626
"@bcoe/v8-coverage" "^0.2.3"
379
-
"@jest/console" "^26.0.1"
380
-
"@jest/test-result" "^26.0.1"
381
-
"@jest/transform" "^26.0.1"
382
-
"@jest/types" "^26.0.1"
627
+
"@jest/console" "^27.1.0"
628
+
"@jest/test-result" "^27.1.0"
629
+
"@jest/transform" "^27.1.0"
630
+
"@jest/types" "^27.1.0"
383
631
chalk "^4.0.0"
384
632
collect-v8-coverage "^1.0.0"
385
633
exit "^0.1.2"
386
634
glob "^7.1.2"
387
635
graceful-fs "^4.2.4"
388
636
istanbul-lib-coverage "^3.0.0"
389
-
istanbul-lib-instrument "^4.0.0"
637
+
istanbul-lib-instrument "^4.0.3"
390
638
istanbul-lib-report "^3.0.0"
391
639
istanbul-lib-source-maps "^4.0.0"
392
640
istanbul-reports "^3.0.2"
393
-
jest-haste-map "^26.0.1"
394
-
jest-resolve "^26.0.1"
395
-
jest-util "^26.0.1"
396
-
jest-worker "^26.0.0"
641
+
jest-haste-map "^27.1.0"
642
+
jest-resolve "^27.1.0"
643
+
jest-util "^27.1.0"
644
+
jest-worker "^27.1.0"
397
645
slash "^3.0.0"
398
646
source-map "^0.6.0"
399
647
string-length "^4.0.1"
400
648
terminal-link "^2.0.0"
401
-
v8-to-istanbul "^4.1.3"
402
-
optionalDependencies:
403
-
node-notifier "^7.0.0"
649
+
v8-to-istanbul "^8.0.0"
404
650
405
-
"@jest/source-map@^26.0.0":
406
-
version "26.0.0"
407
-
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.0.0.tgz#fd7706484a7d3faf7792ae29783933bbf48a4749"
408
-
integrity sha512-S2Z+Aj/7KOSU2TfW0dyzBze7xr95bkm5YXNUqqCek+HE0VbNNSNzrRwfIi5lf7wvzDTSS0/ib8XQ1krFNyYgbQ==
651
+
"@jest/source-map@^27.0.6":
652
+
version "27.0.6"
653
+
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f"
654
+
integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==
409
655
dependencies:
410
656
callsites "^3.0.0"
411
657
graceful-fs "^4.2.4"
412
658
source-map "^0.6.0"
413
659
414
-
"@jest/test-result@^26.0.1":
415
-
version "26.0.1"
416
-
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.0.1.tgz#1ffdc1ba4bc289919e54b9414b74c9c2f7b2b718"
417
-
integrity sha512-oKwHvOI73ICSYRPe8WwyYPTtiuOAkLSbY8/MfWF3qDEd/sa8EDyZzin3BaXTqufir/O/Gzea4E8Zl14XU4Mlyg==
660
+
"@jest/test-result@^27.1.0":
661
+
version "27.1.0"
662
+
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.1.0.tgz#9345ae5f97f6a5287af9ebd54716cd84331d42e8"
663
+
integrity sha512-Aoz00gpDL528ODLghat3QSy6UBTD5EmmpjrhZZMK/v1Q2/rRRqTGnFxHuEkrD4z/Py96ZdOHxIWkkCKRpmnE1A==
418
664
dependencies:
419
-
"@jest/console" "^26.0.1"
420
-
"@jest/types" "^26.0.1"
665
+
"@jest/console" "^27.1.0"
666
+
"@jest/types" "^27.1.0"
421
667
"@types/istanbul-lib-coverage" "^2.0.0"
422
668
collect-v8-coverage "^1.0.0"
423
669
424
-
"@jest/test-sequencer@^26.0.1":
425
-
version "26.0.1"
426
-
resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.0.1.tgz#b0563424728f3fe9e75d1442b9ae4c11da73f090"
427
-
integrity sha512-ssga8XlwfP8YjbDcmVhwNlrmblddMfgUeAkWIXts1V22equp2GMIHxm7cyeD5Q/B0ZgKPK/tngt45sH99yLLGg==
670
+
"@jest/test-sequencer@^27.1.0":
671
+
version "27.1.0"
672
+
resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.1.0.tgz#04e8b3bd735570d3d48865e74977a14dc99bff2d"
673
+
integrity sha512-lnCWawDr6Z1DAAK9l25o3AjmKGgcutq1iIbp+hC10s/HxnB8ZkUsYq1FzjOoxxZ5hW+1+AthBtvS4x9yno3V1A==
428
674
dependencies:
429
-
"@jest/test-result" "^26.0.1"
675
+
"@jest/test-result" "^27.1.0"
430
676
graceful-fs "^4.2.4"
431
-
jest-haste-map "^26.0.1"
432
-
jest-runner "^26.0.1"
433
-
jest-runtime "^26.0.1"
677
+
jest-haste-map "^27.1.0"
678
+
jest-runtime "^27.1.0"
434
679
435
-
"@jest/transform@^26.0.1":
436
-
version "26.0.1"
437
-
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.0.1.tgz#0e3ecbb34a11cd4b2080ed0a9c4856cf0ceb0639"
438
-
integrity sha512-pPRkVkAQ91drKGbzCfDOoHN838+FSbYaEAvBXvKuWeeRRUD8FjwXkqfUNUZL6Ke48aA/1cqq/Ni7kVMCoqagWA==
680
+
"@jest/transform@^27.1.0":
681
+
version "27.1.0"
682
+
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.1.0.tgz#962e385517e3d1f62827fa39c305edcc3ca8544b"
683
+
integrity sha512-ZRGCA2ZEVJ00ubrhkTG87kyLbN6n55g1Ilq0X9nJb5bX3MhMp3O6M7KG+LvYu+nZRqG5cXsQnJEdZbdpTAV8pQ==
439
684
dependencies:
440
685
"@babel/core" "^7.1.0"
441
-
"@jest/types" "^26.0.1"
686
+
"@jest/types" "^27.1.0"
442
687
babel-plugin-istanbul "^6.0.0"
443
688
chalk "^4.0.0"
444
689
convert-source-map "^1.4.0"
445
690
fast-json-stable-stringify "^2.0.0"
446
691
graceful-fs "^4.2.4"
447
-
jest-haste-map "^26.0.1"
448
-
jest-regex-util "^26.0.0"
449
-
jest-util "^26.0.1"
450
-
micromatch "^4.0.2"
692
+
jest-haste-map "^27.1.0"
693
+
jest-regex-util "^27.0.6"
694
+
jest-util "^27.1.0"
695
+
micromatch "^4.0.4"
451
696
pirates "^4.0.1"
452
697
slash "^3.0.0"
453
698
source-map "^0.6.1"
454
699
write-file-atomic "^3.0.0"
455
700
456
-
"@jest/types@^26.0.1":
457
-
version "26.0.1"
458
-
resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.0.1.tgz#b78333fbd113fa7aec8d39de24f88de8686dac67"
459
-
integrity sha512-IbtjvqI9+eS1qFnOIEL7ggWmT+iK/U+Vde9cGWtYb/b6XgKb3X44ZAe/z9YZzoAAZ/E92m0DqrilF934IGNnQA==
701
+
"@jest/types@^27.1.0":
702
+
version "27.1.0"
703
+
resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.1.0.tgz#674a40325eab23c857ebc0689e7e191a3c5b10cc"
704
+
integrity sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==
460
705
dependencies:
461
706
"@types/istanbul-lib-coverage" "^2.0.0"
462
-
"@types/istanbul-reports" "^1.1.1"
463
-
"@types/yargs" "^15.0.0"
707
+
"@types/istanbul-reports" "^3.0.0"
708
+
"@types/node" "*"
709
+
"@types/yargs" "^16.0.0"
464
710
chalk "^4.0.0"
465
711
712
+
"@jridgewell/resolve-uri@1.0.0":
713
+
version "1.0.0"
714
+
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83"
715
+
integrity sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==
716
+
466
717
"@rollup/plugin-buble@^0.21.3":
467
718
version "0.21.3"
468
719
resolved "https://registry.yarnpkg.com/@rollup/plugin-buble/-/plugin-buble-0.21.3.tgz#1649a915b1d051a4f430d40e7734a7f67a69b33e"
···
472
723
"@types/buble" "^0.19.2"
473
724
buble "^0.20.0"
474
725
475
-
"@rollup/plugin-commonjs@^11.1.0":
476
-
version "11.1.0"
477
-
resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef"
478
-
integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==
726
+
"@rollup/plugin-commonjs@^20.0.0":
727
+
version "20.0.0"
728
+
resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz#3246872dcbcb18a54aaa6277a8c7d7f1b155b745"
729
+
integrity sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg==
479
730
dependencies:
480
-
"@rollup/pluginutils" "^3.0.8"
731
+
"@rollup/pluginutils" "^3.1.0"
481
732
commondir "^1.0.1"
482
-
estree-walker "^1.0.1"
483
-
glob "^7.1.2"
484
-
is-reference "^1.1.2"
485
-
magic-string "^0.25.2"
486
-
resolve "^1.11.0"
733
+
estree-walker "^2.0.1"
734
+
glob "^7.1.6"
735
+
is-reference "^1.2.1"
736
+
magic-string "^0.25.7"
737
+
resolve "^1.17.0"
487
738
488
-
"@rollup/plugin-node-resolve@^7.1.3":
489
-
version "7.1.3"
490
-
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca"
491
-
integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==
739
+
"@rollup/plugin-node-resolve@^13.0.4":
740
+
version "13.0.4"
741
+
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0"
742
+
integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w==
492
743
dependencies:
493
-
"@rollup/pluginutils" "^3.0.8"
494
-
"@types/resolve" "0.0.8"
744
+
"@rollup/pluginutils" "^3.1.0"
745
+
"@types/resolve" "1.17.1"
495
746
builtin-modules "^3.1.0"
747
+
deepmerge "^4.2.2"
496
748
is-module "^1.0.0"
497
-
resolve "^1.14.2"
749
+
resolve "^1.19.0"
498
750
499
751
"@rollup/pluginutils@^3.0.8":
500
752
version "3.0.10"
···
505
757
estree-walker "^1.0.1"
506
758
picomatch "^2.2.2"
507
759
508
-
"@samverschueren/stream-to-observable@^0.3.0":
509
-
version "0.3.0"
510
-
resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f"
511
-
integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==
760
+
"@rollup/pluginutils@^3.1.0":
761
+
version "3.1.0"
762
+
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
763
+
integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
512
764
dependencies:
513
-
any-observable "^0.3.0"
765
+
"@types/estree" "0.0.39"
766
+
estree-walker "^1.0.1"
767
+
picomatch "^2.2.2"
768
+
769
+
"@rollup/pluginutils@^4.1.1":
770
+
version "4.1.1"
771
+
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec"
772
+
integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==
773
+
dependencies:
774
+
estree-walker "^2.0.1"
775
+
picomatch "^2.2.2"
514
776
515
777
"@sinonjs/commons@^1.7.0":
516
778
version "1.7.2"
···
519
781
dependencies:
520
782
type-detect "4.0.8"
521
783
522
-
"@sinonjs/fake-timers@^6.0.1":
523
-
version "6.0.1"
524
-
resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40"
525
-
integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==
784
+
"@sinonjs/fake-timers@^7.0.2":
785
+
version "7.1.2"
786
+
resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5"
787
+
integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==
526
788
dependencies:
527
789
"@sinonjs/commons" "^1.7.0"
528
790
529
-
"@types/babel__core@^7.1.7":
530
-
version "7.1.7"
531
-
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89"
532
-
integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==
791
+
"@sucrase/jest-plugin@^2.1.1":
792
+
version "2.1.1"
793
+
resolved "https://registry.yarnpkg.com/@sucrase/jest-plugin/-/jest-plugin-2.1.1.tgz#b1e5192e7057fec159151b6aed96eb5b3c08d5c4"
794
+
integrity sha512-1j+exUcbLRgka2lq/i0IVOYcmrMW1wYPtxJY/+RvZkAQG9GD7lygj5OiHWFKWmynltAg9+x1d5NWQQYNdBTkpQ==
795
+
dependencies:
796
+
sucrase "^3.18.0"
797
+
798
+
"@tootallnate/once@1":
799
+
version "1.1.2"
800
+
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
801
+
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
802
+
803
+
"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
804
+
version "7.1.15"
805
+
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024"
806
+
integrity sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==
533
807
dependencies:
534
808
"@babel/parser" "^7.1.0"
535
809
"@babel/types" "^7.0.0"
···
559
833
dependencies:
560
834
"@babel/types" "^7.3.0"
561
835
836
+
"@types/babel__traverse@^7.0.4":
837
+
version "7.14.2"
838
+
resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43"
839
+
integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==
840
+
dependencies:
841
+
"@babel/types" "^7.3.0"
842
+
562
843
"@types/buble@^0.19.2":
563
844
version "0.19.2"
564
845
resolved "https://registry.yarnpkg.com/@types/buble/-/buble-0.19.2.tgz#a4289d20b175b3c206aaad80caabdabe3ecdfdd1"
···
570
851
version "1.1.1"
571
852
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
572
853
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
854
+
855
+
"@types/estree@*":
856
+
version "0.0.50"
857
+
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
858
+
integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
573
859
574
860
"@types/estree@0.0.39":
575
861
version "0.0.39"
···
595
881
dependencies:
596
882
"@types/istanbul-lib-coverage" "*"
597
883
598
-
"@types/istanbul-reports@^1.1.1":
599
-
version "1.1.2"
600
-
resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2"
601
-
integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==
884
+
"@types/istanbul-reports@^3.0.0":
885
+
version "3.0.1"
886
+
resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
887
+
integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
602
888
dependencies:
603
-
"@types/istanbul-lib-coverage" "*"
604
889
"@types/istanbul-lib-report" "*"
605
890
606
891
"@types/node@*":
···
608
893
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c"
609
894
integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==
610
895
611
-
"@types/normalize-package-data@^2.4.0":
612
-
version "2.4.0"
613
-
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
614
-
integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
615
-
616
896
"@types/parse-json@^4.0.0":
617
897
version "4.0.0"
618
898
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
619
899
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
620
900
621
-
"@types/prettier@^2.0.0":
622
-
version "2.0.0"
623
-
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.0.tgz#dc85454b953178cc6043df5208b9e949b54a3bc4"
624
-
integrity sha512-/rM+sWiuOZ5dvuVzV37sUuklsbg+JPOP8d+nNFlo2ZtfpzPiPvh1/gc8liWOLBqe+sR+ZM7guPaIcTt6UZTo7Q==
901
+
"@types/prettier@^2.1.5":
902
+
version "2.3.2"
903
+
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3"
904
+
integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==
625
905
626
-
"@types/resolve@0.0.8":
627
-
version "0.0.8"
628
-
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
629
-
integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
906
+
"@types/resolve@1.17.1":
907
+
version "1.17.1"
908
+
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
909
+
integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
630
910
dependencies:
631
911
"@types/node" "*"
632
912
633
-
"@types/stack-utils@^1.0.1":
634
-
version "1.0.1"
635
-
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
636
-
integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
913
+
"@types/stack-utils@^2.0.0":
914
+
version "2.0.1"
915
+
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
916
+
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
637
917
638
918
"@types/yargs-parser@*":
639
919
version "15.0.0"
640
920
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
641
921
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
642
922
643
-
"@types/yargs@^15.0.0":
644
-
version "15.0.5"
645
-
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79"
646
-
integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==
923
+
"@types/yargs@^16.0.0":
924
+
version "16.0.4"
925
+
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
926
+
integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
647
927
dependencies:
648
928
"@types/yargs-parser" "*"
649
929
···
651
931
version "2.0.3"
652
932
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
653
933
integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
934
+
935
+
abab@^2.0.5:
936
+
version "2.0.5"
937
+
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
938
+
integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
654
939
655
940
acorn-dynamic-import@^4.0.0:
656
941
version "4.0.0"
···
670
955
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
671
956
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
672
957
673
-
acorn-walk@^7.1.1:
958
+
acorn-walk@7.1.1, acorn-walk@^7.1.1:
674
959
version "7.1.1"
675
960
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
676
961
integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
677
962
963
+
acorn@7.3.1:
964
+
version "7.3.1"
965
+
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
966
+
integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
967
+
678
968
acorn@^6.4.1:
679
969
version "6.4.1"
680
970
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
···
684
974
version "7.2.0"
685
975
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe"
686
976
integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==
977
+
978
+
acorn@^8.2.4:
979
+
version "8.4.1"
980
+
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c"
981
+
integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==
982
+
983
+
agent-base@6:
984
+
version "6.0.2"
985
+
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
986
+
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
987
+
dependencies:
988
+
debug "4"
687
989
688
990
aggregate-error@^3.0.0:
689
991
version "3.0.1"
···
693
995
clean-stack "^2.0.0"
694
996
indent-string "^4.0.0"
695
997
696
-
ajv@^6.5.5:
697
-
version "6.12.2"
698
-
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
699
-
integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
700
-
dependencies:
701
-
fast-deep-equal "^3.1.1"
702
-
fast-json-stable-stringify "^2.0.0"
703
-
json-schema-traverse "^0.4.1"
704
-
uri-js "^4.2.2"
705
-
706
-
ansi-colors@^3.2.1:
707
-
version "3.2.4"
708
-
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
709
-
integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
998
+
ansi-colors@^4.1.1:
999
+
version "4.1.1"
1000
+
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
1001
+
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
710
1002
711
1003
ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
712
1004
version "4.3.1"
···
735
1027
"@types/color-name" "^1.1.1"
736
1028
color-convert "^2.0.1"
737
1029
738
-
any-observable@^0.3.0:
739
-
version "0.3.0"
740
-
resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
741
-
integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
1030
+
ansi-styles@^5.0.0:
1031
+
version "5.2.0"
1032
+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
1033
+
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
742
1034
743
-
anymatch@^2.0.0:
744
-
version "2.0.0"
745
-
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
746
-
integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
747
-
dependencies:
748
-
micromatch "^3.1.4"
749
-
normalize-path "^2.1.1"
1035
+
any-promise@^1.0.0:
1036
+
version "1.3.0"
1037
+
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
1038
+
integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
750
1039
751
1040
anymatch@^3.0.3:
752
1041
version "3.1.1"
···
763
1052
dependencies:
764
1053
sprintf-js "~1.0.2"
765
1054
766
-
arr-diff@^4.0.0:
767
-
version "4.0.0"
768
-
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
769
-
integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
770
-
771
-
arr-flatten@^1.1.0:
772
-
version "1.1.0"
773
-
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
774
-
integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
775
-
776
-
arr-union@^3.1.0:
777
-
version "3.1.0"
778
-
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
779
-
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
780
-
781
-
array-unique@^0.3.2:
782
-
version "0.3.2"
783
-
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
784
-
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
785
-
786
-
asn1@~0.2.3:
787
-
version "0.2.4"
788
-
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
789
-
integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
790
-
dependencies:
791
-
safer-buffer "~2.1.0"
792
-
793
-
assert-plus@1.0.0, assert-plus@^1.0.0:
794
-
version "1.0.0"
795
-
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
796
-
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
797
-
798
-
assign-symbols@^1.0.0:
799
-
version "1.0.0"
800
-
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
801
-
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
802
-
803
1055
astral-regex@^2.0.0:
804
1056
version "2.0.0"
805
1057
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
···
810
1062
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
811
1063
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
812
1064
813
-
atob@^2.1.2:
814
-
version "2.1.2"
815
-
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
816
-
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
817
-
818
-
aws-sign2@~0.7.0:
819
-
version "0.7.0"
820
-
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
821
-
integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
822
-
823
-
aws4@^1.8.0:
824
-
version "1.9.1"
825
-
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
826
-
integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
827
-
828
-
babel-jest@^26.0.1:
829
-
version "26.0.1"
830
-
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.0.1.tgz#450139ce4b6c17174b136425bda91885c397bc46"
831
-
integrity sha512-Z4GGmSNQ8pX3WS1O+6v3fo41YItJJZsVxG5gIQ+HuB/iuAQBJxMTHTwz292vuYws1LnHfwSRgoqI+nxdy/pcvw==
1065
+
babel-jest@^27.1.0:
1066
+
version "27.1.0"
1067
+
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.1.0.tgz#e96ca04554fd32274439869e2b6d24de9d91bc4e"
1068
+
integrity sha512-6NrdqzaYemALGCuR97QkC/FkFIEBWP5pw5TMJoUHZTVXyOgocujp6A0JE2V6gE0HtqAAv6VKU/nI+OCR1Z4gHA==
832
1069
dependencies:
833
-
"@jest/transform" "^26.0.1"
834
-
"@jest/types" "^26.0.1"
835
-
"@types/babel__core" "^7.1.7"
1070
+
"@jest/transform" "^27.1.0"
1071
+
"@jest/types" "^27.1.0"
1072
+
"@types/babel__core" "^7.1.14"
836
1073
babel-plugin-istanbul "^6.0.0"
837
-
babel-preset-jest "^26.0.0"
1074
+
babel-preset-jest "^27.0.6"
838
1075
chalk "^4.0.0"
839
1076
graceful-fs "^4.2.4"
840
1077
slash "^3.0.0"
841
1078
842
-
babel-plugin-closure-elimination@^1.3.1:
843
-
version "1.3.1"
844
-
resolved "https://registry.yarnpkg.com/babel-plugin-closure-elimination/-/babel-plugin-closure-elimination-1.3.1.tgz#c5143ae2cceed6e8451c71ca164bbe1f84852087"
845
-
integrity sha512-9B85Xh/S32Crdq8K398NZdh2Sl3crBMTpsy8k7OEij41ZztPYc1CACIZ8D1ZNTHuj62HWaStXkevIOF+DjfuWg==
1079
+
babel-plugin-closure-elimination@^1.3.2:
1080
+
version "1.3.2"
1081
+
resolved "https://registry.yarnpkg.com/babel-plugin-closure-elimination/-/babel-plugin-closure-elimination-1.3.2.tgz#2c9a90360bdf888fd3b3694391a745a70ce18c34"
1082
+
integrity sha512-GJnezbVp5ejiwh74fXJPznsrrWHR9bTuJV20FhXivbgEtg1WyNG/9KaDyHEpfU7G9iB6Gy+F2UffYLZ7DJh+Jw==
846
1083
847
1084
babel-plugin-dynamic-import-node@^2.3.3:
848
1085
version "2.3.3"
···
862
1099
istanbul-lib-instrument "^4.0.0"
863
1100
test-exclude "^6.0.0"
864
1101
865
-
babel-plugin-jest-hoist@^26.0.0:
866
-
version "26.0.0"
867
-
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.0.0.tgz#fd1d35f95cf8849fc65cb01b5e58aedd710b34a8"
868
-
integrity sha512-+AuoehOrjt9irZL7DOt2+4ZaTM6dlu1s5TTS46JBa0/qem4dy7VNW3tMb96qeEqcIh20LD73TVNtmVEeymTG7w==
1102
+
babel-plugin-jest-hoist@^27.0.6:
1103
+
version "27.0.6"
1104
+
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz#f7c6b3d764af21cb4a2a1ab6870117dbde15b456"
1105
+
integrity sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==
869
1106
dependencies:
870
1107
"@babel/template" "^7.3.3"
871
1108
"@babel/types" "^7.3.3"
1109
+
"@types/babel__core" "^7.0.0"
872
1110
"@types/babel__traverse" "^7.0.6"
873
1111
874
-
babel-preset-current-node-syntax@^0.1.2:
875
-
version "0.1.2"
876
-
resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6"
877
-
integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==
1112
+
babel-preset-current-node-syntax@^1.0.0:
1113
+
version "1.0.1"
1114
+
resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
1115
+
integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
878
1116
dependencies:
879
1117
"@babel/plugin-syntax-async-generators" "^7.8.4"
880
1118
"@babel/plugin-syntax-bigint" "^7.8.3"
881
1119
"@babel/plugin-syntax-class-properties" "^7.8.3"
1120
+
"@babel/plugin-syntax-import-meta" "^7.8.3"
882
1121
"@babel/plugin-syntax-json-strings" "^7.8.3"
883
1122
"@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
884
1123
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
···
886
1125
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
887
1126
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
888
1127
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
1128
+
"@babel/plugin-syntax-top-level-await" "^7.8.3"
889
1129
890
-
babel-preset-jest@^26.0.0:
891
-
version "26.0.0"
892
-
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.0.0.tgz#1eac82f513ad36c4db2e9263d7c485c825b1faa6"
893
-
integrity sha512-9ce+DatAa31DpR4Uir8g4Ahxs5K4W4L8refzt+qHWQANb6LhGcAEfIFgLUwk67oya2cCUd6t4eUMtO/z64ocNw==
1130
+
babel-preset-jest@^27.0.6:
1131
+
version "27.0.6"
1132
+
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz#909ef08e9f24a4679768be2f60a3df0856843f9d"
1133
+
integrity sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==
894
1134
dependencies:
895
-
babel-plugin-jest-hoist "^26.0.0"
896
-
babel-preset-current-node-syntax "^0.1.2"
1135
+
babel-plugin-jest-hoist "^27.0.6"
1136
+
babel-preset-current-node-syntax "^1.0.0"
897
1137
898
1138
balanced-match@^1.0.0:
899
1139
version "1.0.0"
900
1140
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
901
1141
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
902
1142
903
-
base@^0.11.1:
904
-
version "0.11.2"
905
-
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
906
-
integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
907
-
dependencies:
908
-
cache-base "^1.0.1"
909
-
class-utils "^0.3.5"
910
-
component-emitter "^1.2.1"
911
-
define-property "^1.0.0"
912
-
isobject "^3.0.1"
913
-
mixin-deep "^1.2.0"
914
-
pascalcase "^0.1.1"
915
-
916
-
bcrypt-pbkdf@^1.0.0:
917
-
version "1.0.2"
918
-
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
919
-
integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
920
-
dependencies:
921
-
tweetnacl "^0.14.3"
922
-
923
1143
brace-expansion@^1.1.7:
924
1144
version "1.1.11"
925
1145
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
···
928
1148
balanced-match "^1.0.0"
929
1149
concat-map "0.0.1"
930
1150
931
-
braces@^2.3.1:
932
-
version "2.3.2"
933
-
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
934
-
integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
935
-
dependencies:
936
-
arr-flatten "^1.1.0"
937
-
array-unique "^0.3.2"
938
-
extend-shallow "^2.0.1"
939
-
fill-range "^4.0.0"
940
-
isobject "^3.0.1"
941
-
repeat-element "^1.1.2"
942
-
snapdragon "^0.8.1"
943
-
snapdragon-node "^2.0.1"
944
-
split-string "^3.0.2"
945
-
to-regex "^3.0.1"
946
-
947
1151
braces@^3.0.1:
948
1152
version "3.0.2"
949
1153
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
···
955
1159
version "1.0.0"
956
1160
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
957
1161
integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
1162
+
1163
+
browserslist@^4.16.6:
1164
+
version "4.16.8"
1165
+
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0"
1166
+
integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==
1167
+
dependencies:
1168
+
caniuse-lite "^1.0.30001251"
1169
+
colorette "^1.3.0"
1170
+
electron-to-chromium "^1.3.811"
1171
+
escalade "^3.1.1"
1172
+
node-releases "^1.1.75"
958
1173
959
1174
bser@2.1.1:
960
1175
version "2.1.1"
···
986
1201
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
987
1202
integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
988
1203
989
-
cache-base@^1.0.1:
990
-
version "1.0.1"
991
-
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
992
-
integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
993
-
dependencies:
994
-
collection-visit "^1.0.0"
995
-
component-emitter "^1.2.1"
996
-
get-value "^2.0.6"
997
-
has-value "^1.0.0"
998
-
isobject "^3.0.1"
999
-
set-value "^2.0.0"
1000
-
to-object-path "^0.3.0"
1001
-
union-value "^1.0.0"
1002
-
unset-value "^1.0.0"
1003
-
1004
1204
callsites@^3.0.0:
1005
1205
version "3.1.0"
1006
1206
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
1007
1207
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
1008
1208
1009
-
camelcase@^5.0.0, camelcase@^5.3.1:
1209
+
camelcase@^5.3.1:
1010
1210
version "5.3.1"
1011
1211
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
1012
1212
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
1013
1213
1014
-
camelcase@^6.0.0:
1015
-
version "6.0.0"
1016
-
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e"
1017
-
integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==
1214
+
camelcase@^6.2.0:
1215
+
version "6.2.0"
1216
+
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
1217
+
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
1018
1218
1019
-
capture-exit@^2.0.0:
1020
-
version "2.0.0"
1021
-
resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
1022
-
integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==
1023
-
dependencies:
1024
-
rsvp "^4.8.4"
1219
+
caniuse-lite@^1.0.30001251:
1220
+
version "1.0.30001252"
1221
+
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz#cb16e4e3dafe948fc4a9bb3307aea054b912019a"
1222
+
integrity sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==
1025
1223
1026
-
caseless@~0.12.0:
1027
-
version "0.12.0"
1028
-
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
1029
-
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
1030
-
1031
-
chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
1224
+
chalk@2.x, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
1032
1225
version "2.4.2"
1033
1226
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
1034
1227
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
···
1037
1230
escape-string-regexp "^1.0.5"
1038
1231
supports-color "^5.3.0"
1039
1232
1040
-
chalk@^3.0.0:
1041
-
version "3.0.0"
1042
-
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
1043
-
integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
1044
-
dependencies:
1045
-
ansi-styles "^4.1.0"
1046
-
supports-color "^7.1.0"
1047
-
1048
1233
chalk@^4.0.0:
1049
1234
version "4.0.0"
1050
1235
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
···
1053
1238
ansi-styles "^4.1.0"
1054
1239
supports-color "^7.1.0"
1055
1240
1241
+
chalk@^4.1.0, chalk@^4.1.1:
1242
+
version "4.1.2"
1243
+
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
1244
+
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
1245
+
dependencies:
1246
+
ansi-styles "^4.1.0"
1247
+
supports-color "^7.1.0"
1248
+
1056
1249
char-regex@^1.0.2:
1057
1250
version "1.0.2"
1058
1251
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
···
1063
1256
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
1064
1257
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
1065
1258
1066
-
class-utils@^0.3.5:
1067
-
version "0.3.6"
1068
-
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
1069
-
integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
1070
-
dependencies:
1071
-
arr-union "^3.1.0"
1072
-
define-property "^0.2.5"
1073
-
isobject "^3.0.0"
1074
-
static-extend "^0.1.1"
1259
+
ci-info@^3.1.1:
1260
+
version "3.2.0"
1261
+
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
1262
+
integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
1263
+
1264
+
cjs-module-lexer@^1.0.0:
1265
+
version "1.2.2"
1266
+
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
1267
+
integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
1075
1268
1076
1269
clean-stack@^2.0.0:
1077
1270
version "2.2.0"
···
1093
1286
slice-ansi "^3.0.0"
1094
1287
string-width "^4.2.0"
1095
1288
1096
-
cliui@^6.0.0:
1097
-
version "6.0.0"
1098
-
resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
1099
-
integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
1289
+
cliui@^7.0.2:
1290
+
version "7.0.4"
1291
+
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
1292
+
integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
1100
1293
dependencies:
1101
1294
string-width "^4.2.0"
1102
1295
strip-ansi "^6.0.0"
1103
-
wrap-ansi "^6.2.0"
1296
+
wrap-ansi "^7.0.0"
1104
1297
1105
-
clone@^1.0.2:
1106
-
version "1.0.4"
1107
-
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
1108
-
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
1298
+
clone-buffer@^1.0.0:
1299
+
version "1.0.0"
1300
+
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
1301
+
integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
1302
+
1303
+
clone-stats@^1.0.0:
1304
+
version "1.0.0"
1305
+
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
1306
+
integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
1307
+
1308
+
clone@^2.1.1:
1309
+
version "2.1.2"
1310
+
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
1311
+
integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
1312
+
1313
+
cloneable-readable@^1.0.0:
1314
+
version "1.1.3"
1315
+
resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec"
1316
+
integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
1317
+
dependencies:
1318
+
inherits "^2.0.1"
1319
+
process-nextick-args "^2.0.0"
1320
+
readable-stream "^2.3.5"
1109
1321
1110
1322
co@^4.6.0:
1111
1323
version "4.6.0"
···
1116
1328
version "1.0.1"
1117
1329
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
1118
1330
integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
1119
-
1120
-
collection-visit@^1.0.0:
1121
-
version "1.0.0"
1122
-
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
1123
-
integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
1124
-
dependencies:
1125
-
map-visit "^1.0.0"
1126
-
object-visit "^1.0.0"
1127
1331
1128
1332
color-convert@^1.9.0:
1129
1333
version "1.9.3"
···
1149
1353
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
1150
1354
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
1151
1355
1152
-
combined-stream@^1.0.6, combined-stream@~1.0.6:
1356
+
colorette@^1.2.2, colorette@^1.3.0:
1357
+
version "1.3.0"
1358
+
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af"
1359
+
integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==
1360
+
1361
+
combined-stream@^1.0.8:
1153
1362
version "1.0.8"
1154
1363
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
1155
1364
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
1156
1365
dependencies:
1157
1366
delayed-stream "~1.0.0"
1158
1367
1159
-
commander@^5.0.0:
1160
-
version "5.1.0"
1161
-
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
1162
-
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
1368
+
commander@^4.0.0:
1369
+
version "4.1.1"
1370
+
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
1371
+
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
1372
+
1373
+
commander@^7.2.0:
1374
+
version "7.2.0"
1375
+
resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
1376
+
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
1163
1377
1164
1378
commondir@^1.0.1:
1165
1379
version "1.0.1"
···
1171
1385
resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
1172
1386
integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
1173
1387
1174
-
component-emitter@^1.2.1:
1175
-
version "1.3.0"
1176
-
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
1177
-
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
1178
-
1179
1388
concat-map@0.0.1:
1180
1389
version "0.0.1"
1181
1390
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
···
1188
1397
dependencies:
1189
1398
safe-buffer "~5.1.1"
1190
1399
1191
-
copy-descriptor@^0.1.0:
1192
-
version "0.1.1"
1193
-
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
1194
-
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
1195
-
1196
-
core-util-is@1.0.2:
1400
+
core-util-is@~1.0.0:
1197
1401
version "1.0.2"
1198
1402
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
1199
1403
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
1200
1404
1201
-
cosmiconfig@^6.0.0:
1202
-
version "6.0.0"
1203
-
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
1204
-
integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
1405
+
cosmiconfig@^7.0.0:
1406
+
version "7.0.1"
1407
+
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
1408
+
integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
1205
1409
dependencies:
1206
1410
"@types/parse-json" "^4.0.0"
1207
-
import-fresh "^3.1.0"
1411
+
import-fresh "^3.2.1"
1208
1412
parse-json "^5.0.0"
1209
1413
path-type "^4.0.0"
1210
-
yaml "^1.7.2"
1414
+
yaml "^1.10.0"
1211
1415
1212
-
cross-spawn@^6.0.0, cross-spawn@^6.0.5:
1416
+
cross-spawn@^6.0.5:
1213
1417
version "6.0.5"
1214
1418
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
1215
1419
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
···
1220
1424
shebang-command "^1.2.0"
1221
1425
which "^1.2.9"
1222
1426
1223
-
cross-spawn@^7.0.0:
1224
-
version "7.0.2"
1225
-
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6"
1226
-
integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==
1427
+
cross-spawn@^7.0.3:
1428
+
version "7.0.3"
1429
+
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
1430
+
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
1227
1431
dependencies:
1228
1432
path-key "^3.1.0"
1229
1433
shebang-command "^2.0.0"
···
1239
1443
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
1240
1444
integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
1241
1445
1242
-
cssstyle@^2.2.0:
1446
+
cssstyle@^2.3.0:
1243
1447
version "2.3.0"
1244
1448
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
1245
1449
integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
1246
1450
dependencies:
1247
1451
cssom "~0.3.6"
1248
1452
1249
-
dashdash@^1.12.0:
1250
-
version "1.14.1"
1251
-
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
1252
-
integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
1253
-
dependencies:
1254
-
assert-plus "^1.0.0"
1255
-
1256
1453
data-urls@^2.0.0:
1257
1454
version "2.0.0"
1258
1455
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
···
1262
1459
whatwg-mimetype "^2.3.0"
1263
1460
whatwg-url "^8.0.0"
1264
1461
1265
-
debug@^2.2.0, debug@^2.3.3:
1266
-
version "2.6.9"
1267
-
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
1268
-
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
1462
+
debug@4, debug@^4.3.1:
1463
+
version "4.3.2"
1464
+
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
1465
+
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
1269
1466
dependencies:
1270
-
ms "2.0.0"
1467
+
ms "2.1.2"
1271
1468
1272
1469
debug@^4.1.0, debug@^4.1.1:
1273
1470
version "4.1.1"
···
1276
1473
dependencies:
1277
1474
ms "^2.1.1"
1278
1475
1279
-
decamelize@^1.2.0:
1280
-
version "1.2.0"
1281
-
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
1282
-
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
1283
-
1284
-
decimal.js@^10.2.0:
1285
-
version "10.2.0"
1286
-
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231"
1287
-
integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==
1288
-
1289
-
decode-uri-component@^0.2.0:
1290
-
version "0.2.0"
1291
-
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
1292
-
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
1476
+
decimal.js@^10.2.1:
1477
+
version "10.3.1"
1478
+
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
1479
+
integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==
1293
1480
1294
1481
dedent@^0.7.0:
1295
1482
version "0.7.0"
···
1306
1493
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
1307
1494
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
1308
1495
1309
-
defaults@^1.0.3:
1310
-
version "1.0.3"
1311
-
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
1312
-
integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
1313
-
dependencies:
1314
-
clone "^1.0.2"
1315
-
1316
1496
define-properties@^1.1.2, define-properties@^1.1.3:
1317
1497
version "1.1.3"
1318
1498
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
···
1320
1500
dependencies:
1321
1501
object-keys "^1.0.12"
1322
1502
1323
-
define-property@^0.2.5:
1324
-
version "0.2.5"
1325
-
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
1326
-
integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
1327
-
dependencies:
1328
-
is-descriptor "^0.1.0"
1329
-
1330
-
define-property@^1.0.0:
1331
-
version "1.0.0"
1332
-
resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
1333
-
integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
1334
-
dependencies:
1335
-
is-descriptor "^1.0.0"
1336
-
1337
-
define-property@^2.0.2:
1338
-
version "2.0.2"
1339
-
resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
1340
-
integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
1341
-
dependencies:
1342
-
is-descriptor "^1.0.2"
1343
-
isobject "^3.0.1"
1344
-
1345
1503
delayed-stream@~1.0.0:
1346
1504
version "1.0.0"
1347
1505
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
···
1352
1510
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
1353
1511
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
1354
1512
1355
-
diff-sequences@^26.0.0:
1356
-
version "26.0.0"
1357
-
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6"
1358
-
integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==
1513
+
diff-sequences@^27.0.6:
1514
+
version "27.0.6"
1515
+
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723"
1516
+
integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==
1359
1517
1360
1518
domexception@^2.0.1:
1361
1519
version "2.0.1"
···
1364
1522
dependencies:
1365
1523
webidl-conversions "^5.0.0"
1366
1524
1367
-
ecc-jsbn@~0.1.1:
1368
-
version "0.1.2"
1369
-
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
1370
-
integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
1371
-
dependencies:
1372
-
jsbn "~0.1.0"
1373
-
safer-buffer "^2.1.0"
1525
+
electron-to-chromium@^1.3.811:
1526
+
version "1.3.822"
1527
+
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.822.tgz#7036edc7f669b0aa79e9801dc5f56866c6ddc0b2"
1528
+
integrity sha512-k7jG5oYYHxF4jx6PcqwHX3JVME/OjzolqOZiIogi9xtsfsmTjTdie4x88OakYFPEa8euciTgCCzvVNwvmjHb1Q==
1374
1529
1375
-
elegant-spinner@^2.0.0:
1376
-
version "2.0.0"
1377
-
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-2.0.0.tgz#f236378985ecd16da75488d166be4b688fd5af94"
1378
-
integrity sha512-5YRYHhvhYzV/FC4AiMdeSIg3jAYGq9xFvbhZMpPlJoBsfYgrw2DSCYeXfat6tYBu45PWiyRr3+flaCPPmviPaA==
1530
+
emittery@^0.8.1:
1531
+
version "0.8.1"
1532
+
resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860"
1533
+
integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==
1379
1534
1380
1535
emoji-regex@^8.0.0:
1381
1536
version "8.0.0"
1382
1537
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
1383
1538
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
1384
1539
1385
-
end-of-stream@^1.1.0:
1386
-
version "1.4.4"
1387
-
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
1388
-
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
1389
-
dependencies:
1390
-
once "^1.4.0"
1391
-
1392
-
enquirer@^2.3.4:
1393
-
version "2.3.5"
1394
-
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381"
1395
-
integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==
1540
+
enquirer@^2.3.6:
1541
+
version "2.3.6"
1542
+
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
1543
+
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
1396
1544
dependencies:
1397
-
ansi-colors "^3.2.1"
1545
+
ansi-colors "^4.1.1"
1398
1546
1399
1547
error-ex@^1.3.1:
1400
1548
version "1.3.2"
···
1429
1577
is-date-object "^1.0.1"
1430
1578
is-symbol "^1.0.2"
1431
1579
1580
+
escalade@^3.1.1:
1581
+
version "3.1.1"
1582
+
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
1583
+
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
1584
+
1432
1585
escape-string-regexp@^1.0.5:
1433
1586
version "1.0.5"
1434
1587
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
···
1439
1592
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
1440
1593
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
1441
1594
1442
-
escodegen@^1.14.1:
1443
-
version "1.14.1"
1444
-
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457"
1445
-
integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==
1595
+
escodegen@^2.0.0:
1596
+
version "2.0.0"
1597
+
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
1598
+
integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
1446
1599
dependencies:
1447
1600
esprima "^4.0.1"
1448
-
estraverse "^4.2.0"
1601
+
estraverse "^5.2.0"
1449
1602
esutils "^2.0.2"
1450
1603
optionator "^0.8.1"
1451
1604
optionalDependencies:
···
1456
1609
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
1457
1610
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
1458
1611
1459
-
estraverse@^4.2.0:
1460
-
version "4.3.0"
1461
-
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
1462
-
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
1612
+
estraverse@^5.2.0:
1613
+
version "5.2.0"
1614
+
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
1615
+
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
1463
1616
1464
-
estree-walker@^0.6.1:
1465
-
version "0.6.1"
1466
-
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
1467
-
integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
1617
+
estree-walker@2.0.1, estree-walker@^2.0.1:
1618
+
version "2.0.1"
1619
+
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.1.tgz#f8e030fb21cefa183b44b7ad516b747434e7a3e0"
1620
+
integrity sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==
1468
1621
1469
1622
estree-walker@^1.0.1:
1470
1623
version "1.0.1"
···
1476
1629
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1477
1630
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1478
1631
1479
-
exec-sh@^0.3.2:
1480
-
version "0.3.4"
1481
-
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
1482
-
integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==
1483
-
1484
-
execa@^1.0.0:
1485
-
version "1.0.0"
1486
-
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
1487
-
integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
1488
-
dependencies:
1489
-
cross-spawn "^6.0.0"
1490
-
get-stream "^4.0.0"
1491
-
is-stream "^1.1.0"
1492
-
npm-run-path "^2.0.0"
1493
-
p-finally "^1.0.0"
1494
-
signal-exit "^3.0.0"
1495
-
strip-eof "^1.0.0"
1496
-
1497
-
execa@^4.0.0:
1498
-
version "4.0.1"
1499
-
resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.1.tgz#988488781f1f0238cd156f7aaede11c3e853b4c1"
1500
-
integrity sha512-SCjM/zlBdOK8Q5TIjOn6iEHZaPHFsMoTxXQ2nvUvtPnuohz3H2dIozSg+etNR98dGoYUp2ENSKLL/XaMmbxVgw==
1632
+
execa@^5.0.0:
1633
+
version "5.1.1"
1634
+
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
1635
+
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
1501
1636
dependencies:
1502
-
cross-spawn "^7.0.0"
1503
-
get-stream "^5.0.0"
1504
-
human-signals "^1.1.1"
1637
+
cross-spawn "^7.0.3"
1638
+
get-stream "^6.0.0"
1639
+
human-signals "^2.1.0"
1505
1640
is-stream "^2.0.0"
1506
1641
merge-stream "^2.0.0"
1507
-
npm-run-path "^4.0.0"
1508
-
onetime "^5.1.0"
1509
-
signal-exit "^3.0.2"
1642
+
npm-run-path "^4.0.1"
1643
+
onetime "^5.1.2"
1644
+
signal-exit "^3.0.3"
1510
1645
strip-final-newline "^2.0.0"
1511
1646
1512
1647
exit@^0.1.2:
···
1514
1649
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
1515
1650
integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
1516
1651
1517
-
expand-brackets@^2.1.4:
1518
-
version "2.1.4"
1519
-
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
1520
-
integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
1521
-
dependencies:
1522
-
debug "^2.3.3"
1523
-
define-property "^0.2.5"
1524
-
extend-shallow "^2.0.1"
1525
-
posix-character-classes "^0.1.0"
1526
-
regex-not "^1.0.0"
1527
-
snapdragon "^0.8.1"
1528
-
to-regex "^3.0.1"
1529
-
1530
-
expect@^26.0.1:
1531
-
version "26.0.1"
1532
-
resolved "https://registry.yarnpkg.com/expect/-/expect-26.0.1.tgz#18697b9611a7e2725e20ba3ceadda49bc9865421"
1533
-
integrity sha512-QcCy4nygHeqmbw564YxNbHTJlXh47dVID2BUP52cZFpLU9zHViMFK6h07cC1wf7GYCTIigTdAXhVua8Yl1FkKg==
1534
-
dependencies:
1535
-
"@jest/types" "^26.0.1"
1536
-
ansi-styles "^4.0.0"
1537
-
jest-get-type "^26.0.0"
1538
-
jest-matcher-utils "^26.0.1"
1539
-
jest-message-util "^26.0.1"
1540
-
jest-regex-util "^26.0.0"
1541
-
1542
-
extend-shallow@^2.0.1:
1543
-
version "2.0.1"
1544
-
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
1545
-
integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
1652
+
expect@^27.1.0:
1653
+
version "27.1.0"
1654
+
resolved "https://registry.yarnpkg.com/expect/-/expect-27.1.0.tgz#380de0abb3a8f2299c4c6c66bbe930483b5dba9b"
1655
+
integrity sha512-9kJngV5hOJgkFil4F/uXm3hVBubUK2nERVfvqNNwxxuW8ZOUwSTTSysgfzckYtv/LBzj/LJXbiAF7okHCXgdug==
1546
1656
dependencies:
1547
-
is-extendable "^0.1.0"
1548
-
1549
-
extend-shallow@^3.0.0, extend-shallow@^3.0.2:
1550
-
version "3.0.2"
1551
-
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
1552
-
integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
1553
-
dependencies:
1554
-
assign-symbols "^1.0.0"
1555
-
is-extendable "^1.0.1"
1556
-
1557
-
extend@~3.0.2:
1558
-
version "3.0.2"
1559
-
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
1560
-
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
1561
-
1562
-
extglob@^2.0.4:
1563
-
version "2.0.4"
1564
-
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
1565
-
integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
1566
-
dependencies:
1567
-
array-unique "^0.3.2"
1568
-
define-property "^1.0.0"
1569
-
expand-brackets "^2.1.4"
1570
-
extend-shallow "^2.0.1"
1571
-
fragment-cache "^0.2.1"
1572
-
regex-not "^1.0.0"
1573
-
snapdragon "^0.8.1"
1574
-
to-regex "^3.0.1"
1575
-
1576
-
extsprintf@1.3.0:
1577
-
version "1.3.0"
1578
-
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
1579
-
integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
1580
-
1581
-
extsprintf@^1.2.0:
1582
-
version "1.4.0"
1583
-
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
1584
-
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
1585
-
1586
-
fast-deep-equal@^3.1.1:
1587
-
version "3.1.1"
1588
-
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
1589
-
integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
1657
+
"@jest/types" "^27.1.0"
1658
+
ansi-styles "^5.0.0"
1659
+
jest-get-type "^27.0.6"
1660
+
jest-matcher-utils "^27.1.0"
1661
+
jest-message-util "^27.1.0"
1662
+
jest-regex-util "^27.0.6"
1590
1663
1591
1664
fast-json-stable-stringify@^2.0.0:
1592
1665
version "2.1.0"
···
1605
1678
dependencies:
1606
1679
bser "2.1.1"
1607
1680
1608
-
figures@^3.2.0:
1609
-
version "3.2.0"
1610
-
resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
1611
-
integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
1612
-
dependencies:
1613
-
escape-string-regexp "^1.0.5"
1614
-
1615
-
fill-range@^4.0.0:
1616
-
version "4.0.0"
1617
-
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
1618
-
integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
1619
-
dependencies:
1620
-
extend-shallow "^2.0.1"
1621
-
is-number "^3.0.0"
1622
-
repeat-string "^1.6.1"
1623
-
to-regex-range "^2.1.0"
1624
-
1625
1681
fill-range@^7.0.1:
1626
1682
version "7.0.1"
1627
1683
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
···
1637
1693
locate-path "^5.0.0"
1638
1694
path-exists "^4.0.0"
1639
1695
1640
-
find-versions@^3.2.0:
1641
-
version "3.2.0"
1642
-
resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e"
1643
-
integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==
1696
+
find-up@^5.0.0:
1697
+
version "5.0.0"
1698
+
resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
1699
+
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
1644
1700
dependencies:
1645
-
semver-regex "^2.0.0"
1701
+
locate-path "^6.0.0"
1702
+
path-exists "^4.0.0"
1646
1703
1647
-
for-in@^1.0.2:
1648
-
version "1.0.2"
1649
-
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
1650
-
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
1651
-
1652
-
forever-agent@~0.6.1:
1653
-
version "0.6.1"
1654
-
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1655
-
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
1704
+
find-versions@^4.0.0:
1705
+
version "4.0.0"
1706
+
resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965"
1707
+
integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==
1708
+
dependencies:
1709
+
semver-regex "^3.1.2"
1656
1710
1657
-
form-data@~2.3.2:
1658
-
version "2.3.3"
1659
-
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
1660
-
integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
1711
+
form-data@^3.0.0:
1712
+
version "3.0.1"
1713
+
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
1714
+
integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
1661
1715
dependencies:
1662
1716
asynckit "^0.4.0"
1663
-
combined-stream "^1.0.6"
1717
+
combined-stream "^1.0.8"
1664
1718
mime-types "^2.1.12"
1665
1719
1666
-
fragment-cache@^0.2.1:
1667
-
version "0.2.1"
1668
-
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
1669
-
integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
1670
-
dependencies:
1671
-
map-cache "^0.2.2"
1672
-
1673
1720
fs.realpath@^1.0.0:
1674
1721
version "1.0.0"
1675
1722
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1676
1723
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1677
1724
1678
-
fsevents@^2.1.2, fsevents@~2.1.2:
1679
-
version "2.1.3"
1680
-
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
1681
-
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
1725
+
fsevents@^2.3.2, fsevents@~2.3.2:
1726
+
version "2.3.2"
1727
+
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1728
+
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1682
1729
1683
1730
function-bind@^1.1.1:
1684
1731
version "1.1.1"
···
1690
1737
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
1691
1738
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
1692
1739
1693
-
get-caller-file@^2.0.1:
1740
+
gensync@^1.0.0-beta.2:
1741
+
version "1.0.0-beta.2"
1742
+
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
1743
+
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
1744
+
1745
+
get-caller-file@^2.0.5:
1694
1746
version "2.0.5"
1695
1747
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1696
1748
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
···
1700
1752
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
1701
1753
integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
1702
1754
1703
-
get-stream@^4.0.0:
1704
-
version "4.1.0"
1705
-
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
1706
-
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
1707
-
dependencies:
1708
-
pump "^3.0.0"
1709
-
1710
-
get-stream@^5.0.0:
1711
-
version "5.1.0"
1712
-
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
1713
-
integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
1714
-
dependencies:
1715
-
pump "^3.0.0"
1716
-
1717
-
get-value@^2.0.3, get-value@^2.0.6:
1718
-
version "2.0.6"
1719
-
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
1720
-
integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
1721
-
1722
-
getpass@^0.1.1:
1723
-
version "0.1.7"
1724
-
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
1725
-
integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
1726
-
dependencies:
1727
-
assert-plus "^1.0.0"
1755
+
get-stream@^6.0.0:
1756
+
version "6.0.1"
1757
+
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
1758
+
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
1728
1759
1729
-
glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
1760
+
glob@7.1.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
1730
1761
version "7.1.6"
1731
1762
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
1732
1763
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
···
1738
1769
once "^1.3.0"
1739
1770
path-is-absolute "^1.0.0"
1740
1771
1772
+
glob@^7.1.6:
1773
+
version "7.1.7"
1774
+
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
1775
+
integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
1776
+
dependencies:
1777
+
fs.realpath "^1.0.0"
1778
+
inflight "^1.0.4"
1779
+
inherits "2"
1780
+
minimatch "^3.0.4"
1781
+
once "^1.3.0"
1782
+
path-is-absolute "^1.0.0"
1783
+
1741
1784
globals@^11.1.0:
1742
1785
version "11.12.0"
1743
1786
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1744
1787
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1745
1788
1746
-
graceful-fs@^4.1.2, graceful-fs@^4.2.4:
1747
-
version "4.2.4"
1748
-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
1749
-
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
1789
+
google-closure-compiler-java@^20210808.0.0:
1790
+
version "20210808.0.0"
1791
+
resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20210808.0.0.tgz#9722073e2ace0ed1a9934423e6277c9994418e84"
1792
+
integrity sha512-7dEQfBzOdwdjwa/Pq8VAypNBKyWRrOcKjnNYOO9gEg2hjh8XVMeQzTqw4uANfVvvANGdE/JjD+HF6zHVgLRwjg==
1750
1793
1751
-
growly@^1.3.0:
1752
-
version "1.3.0"
1753
-
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
1754
-
integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
1794
+
google-closure-compiler-linux@^20210808.0.0:
1795
+
version "20210808.0.0"
1796
+
resolved "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20210808.0.0.tgz#42b844cef30cce6570d21f5d75c71f1af36fc070"
1797
+
integrity sha512-byKi5ITUiWRvEIcQo76i1siVnOwrTmG+GNcBG4cJ7x8IE6+4ki9rG5pUe4+DOYHkfk52XU6XHt9aAAgCcFDKpg==
1755
1798
1756
-
har-schema@^2.0.0:
1757
-
version "2.0.0"
1758
-
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
1759
-
integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
1799
+
google-closure-compiler-osx@^20210808.0.0:
1800
+
version "20210808.0.0"
1801
+
resolved "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20210808.0.0.tgz#6fe601c80d19a998d2703de6bb5a8c4d41f75e24"
1802
+
integrity sha512-iwyAY6dGj1FrrBdmfwKXkjtTGJnqe8F+9WZbfXxiBjkWLtIsJt2dD1+q7g/sw3w8mdHrGQAdxtDZP/usMwj/Rg==
1760
1803
1761
-
har-validator@~5.1.3:
1762
-
version "5.1.3"
1763
-
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
1764
-
integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
1804
+
google-closure-compiler-windows@^20210808.0.0:
1805
+
version "20210808.0.0"
1806
+
resolved "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20210808.0.0.tgz#f907fa046d8a25d820485cb4482fbd5bada9cf03"
1807
+
integrity sha512-VI+UUYwtGWDYwpiixrWRD8EklHgl6PMbiEaHxQSrQbH8PDXytwaOKqmsaH2lWYd5Y/BOZie2MzjY7F5JI69q1w==
1808
+
1809
+
google-closure-compiler@20210808.0.0:
1810
+
version "20210808.0.0"
1811
+
resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20210808.0.0.tgz#0638e71f1073f71682277200db71d0ea05b3de1d"
1812
+
integrity sha512-+R2+P1tT1lEnDDGk8b+WXfyVZgWjcCK9n1mmZe8pMEzPaPWxqK7GMetLVWnqfTDJ5Q+LRspOiFBv3Is+0yuhCA==
1765
1813
dependencies:
1766
-
ajv "^6.5.5"
1767
-
har-schema "^2.0.0"
1814
+
chalk "2.x"
1815
+
google-closure-compiler-java "^20210808.0.0"
1816
+
minimist "1.x"
1817
+
vinyl "2.x"
1818
+
vinyl-sourcemaps-apply "^0.2.0"
1819
+
optionalDependencies:
1820
+
google-closure-compiler-linux "^20210808.0.0"
1821
+
google-closure-compiler-osx "^20210808.0.0"
1822
+
google-closure-compiler-windows "^20210808.0.0"
1823
+
1824
+
graceful-fs@^4.1.2, graceful-fs@^4.2.4:
1825
+
version "4.2.4"
1826
+
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
1827
+
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
1768
1828
1769
1829
has-flag@^3.0.0:
1770
1830
version "3.0.0"
···
1781
1841
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
1782
1842
integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
1783
1843
1784
-
has-value@^0.3.1:
1785
-
version "0.3.1"
1786
-
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
1787
-
integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
1788
-
dependencies:
1789
-
get-value "^2.0.3"
1790
-
has-values "^0.1.4"
1791
-
isobject "^2.0.0"
1792
-
1793
-
has-value@^1.0.0:
1794
-
version "1.0.0"
1795
-
resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
1796
-
integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
1797
-
dependencies:
1798
-
get-value "^2.0.6"
1799
-
has-values "^1.0.0"
1800
-
isobject "^3.0.0"
1801
-
1802
-
has-values@^0.1.4:
1803
-
version "0.1.4"
1804
-
resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
1805
-
integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
1806
-
1807
-
has-values@^1.0.0:
1808
-
version "1.0.0"
1809
-
resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
1810
-
integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
1811
-
dependencies:
1812
-
is-number "^3.0.0"
1813
-
kind-of "^4.0.0"
1814
-
1815
1844
has@^1.0.3:
1816
1845
version "1.0.3"
1817
1846
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
···
1836
1865
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
1837
1866
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
1838
1867
1839
-
http-signature@~1.2.0:
1840
-
version "1.2.0"
1841
-
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
1842
-
integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
1868
+
http-proxy-agent@^4.0.1:
1869
+
version "4.0.1"
1870
+
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
1871
+
integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
1843
1872
dependencies:
1844
-
assert-plus "^1.0.0"
1845
-
jsprim "^1.2.2"
1846
-
sshpk "^1.7.0"
1873
+
"@tootallnate/once" "1"
1874
+
agent-base "6"
1875
+
debug "4"
1847
1876
1848
-
human-signals@^1.1.1:
1849
-
version "1.1.1"
1850
-
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
1851
-
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
1877
+
https-proxy-agent@^5.0.0:
1878
+
version "5.0.0"
1879
+
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
1880
+
integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
1881
+
dependencies:
1882
+
agent-base "6"
1883
+
debug "4"
1852
1884
1853
-
husky@^4.2.5:
1854
-
version "4.2.5"
1855
-
resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36"
1856
-
integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==
1885
+
human-signals@^2.1.0:
1886
+
version "2.1.0"
1887
+
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
1888
+
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
1889
+
1890
+
husky-v4@^4.3.8:
1891
+
version "4.3.8"
1892
+
resolved "https://registry.yarnpkg.com/husky-v4/-/husky-v4-4.3.8.tgz#af3be56a8b62b941371b5190e265f76dd1af2e57"
1893
+
integrity sha512-M7A9u/t6BnT/qbDzKb7SdXhr8qLTGTkqZL6YLDDM20jfCdmpIMEuO384LvYXSBcgv50oIgNWI/IaO3g4A4ShjA==
1857
1894
dependencies:
1858
1895
chalk "^4.0.0"
1859
1896
ci-info "^2.0.0"
1860
1897
compare-versions "^3.6.0"
1861
-
cosmiconfig "^6.0.0"
1862
-
find-versions "^3.2.0"
1898
+
cosmiconfig "^7.0.0"
1899
+
find-versions "^4.0.0"
1863
1900
opencollective-postinstall "^2.0.2"
1864
-
pkg-dir "^4.2.0"
1901
+
pkg-dir "^5.0.0"
1865
1902
please-upgrade-node "^3.2.0"
1866
1903
slash "^3.0.0"
1867
1904
which-pm-runs "^1.0.0"
···
1873
1910
dependencies:
1874
1911
safer-buffer ">= 2.1.2 < 3"
1875
1912
1876
-
import-fresh@^3.1.0:
1877
-
version "3.2.1"
1878
-
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
1879
-
integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
1913
+
import-fresh@^3.2.1:
1914
+
version "3.3.0"
1915
+
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1916
+
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1880
1917
dependencies:
1881
1918
parent-module "^1.0.0"
1882
1919
resolve-from "^4.0.0"
···
1907
1944
once "^1.3.0"
1908
1945
wrappy "1"
1909
1946
1910
-
inherits@2:
1947
+
inherits@2, inherits@^2.0.1, inherits@~2.0.3:
1911
1948
version "2.0.4"
1912
1949
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1913
1950
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1914
1951
1915
-
ip-regex@^2.1.0:
1916
-
version "2.1.0"
1917
-
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
1918
-
integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
1919
-
1920
-
is-accessor-descriptor@^0.1.6:
1921
-
version "0.1.6"
1922
-
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
1923
-
integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
1924
-
dependencies:
1925
-
kind-of "^3.0.2"
1926
-
1927
-
is-accessor-descriptor@^1.0.0:
1928
-
version "1.0.0"
1929
-
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
1930
-
integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
1931
-
dependencies:
1932
-
kind-of "^6.0.0"
1933
-
1934
1952
is-arrayish@^0.2.1:
1935
1953
version "0.2.1"
1936
1954
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1937
1955
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
1938
1956
1939
-
is-buffer@^1.1.5:
1940
-
version "1.1.6"
1941
-
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
1942
-
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
1943
-
1944
1957
is-callable@^1.1.4, is-callable@^1.1.5:
1945
1958
version "1.1.5"
1946
1959
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
1947
1960
integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
1948
1961
1949
-
is-ci@^2.0.0:
1950
-
version "2.0.0"
1951
-
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
1952
-
integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
1962
+
is-ci@^3.0.0:
1963
+
version "3.0.0"
1964
+
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
1965
+
integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==
1953
1966
dependencies:
1954
-
ci-info "^2.0.0"
1955
-
1956
-
is-data-descriptor@^0.1.4:
1957
-
version "0.1.4"
1958
-
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
1959
-
integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
1960
-
dependencies:
1961
-
kind-of "^3.0.2"
1967
+
ci-info "^3.1.1"
1962
1968
1963
-
is-data-descriptor@^1.0.0:
1964
-
version "1.0.0"
1965
-
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
1966
-
integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
1969
+
is-core-module@^2.2.0:
1970
+
version "2.6.0"
1971
+
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19"
1972
+
integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==
1967
1973
dependencies:
1968
-
kind-of "^6.0.0"
1974
+
has "^1.0.3"
1969
1975
1970
1976
is-date-object@^1.0.1:
1971
1977
version "1.0.2"
1972
1978
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
1973
1979
integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
1974
1980
1975
-
is-descriptor@^0.1.0:
1976
-
version "0.1.6"
1977
-
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
1978
-
integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
1979
-
dependencies:
1980
-
is-accessor-descriptor "^0.1.6"
1981
-
is-data-descriptor "^0.1.4"
1982
-
kind-of "^5.0.0"
1983
-
1984
-
is-descriptor@^1.0.0, is-descriptor@^1.0.2:
1985
-
version "1.0.2"
1986
-
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
1987
-
integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
1988
-
dependencies:
1989
-
is-accessor-descriptor "^1.0.0"
1990
-
is-data-descriptor "^1.0.0"
1991
-
kind-of "^6.0.2"
1992
-
1993
-
is-docker@^2.0.0:
1994
-
version "2.0.0"
1995
-
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"
1996
-
integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==
1997
-
1998
-
is-extendable@^0.1.0, is-extendable@^0.1.1:
1999
-
version "0.1.1"
2000
-
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
2001
-
integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
2002
-
2003
-
is-extendable@^1.0.1:
2004
-
version "1.0.1"
2005
-
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
2006
-
integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
2007
-
dependencies:
2008
-
is-plain-object "^2.0.4"
2009
-
2010
1981
is-fullwidth-code-point@^3.0.0:
2011
1982
version "3.0.0"
2012
1983
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
···
2021
1992
version "1.0.0"
2022
1993
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
2023
1994
integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
2024
-
2025
-
is-number@^3.0.0:
2026
-
version "3.0.0"
2027
-
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
2028
-
integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
2029
-
dependencies:
2030
-
kind-of "^3.0.2"
2031
1995
2032
1996
is-number@^7.0.0:
2033
1997
version "7.0.0"
···
2039
2003
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
2040
2004
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
2041
2005
2042
-
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
2043
-
version "2.0.4"
2044
-
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
2045
-
integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
2046
-
dependencies:
2047
-
isobject "^3.0.1"
2048
-
2049
-
is-potential-custom-element-name@^1.0.0:
2050
-
version "1.0.0"
2051
-
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
2052
-
integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c=
2006
+
is-potential-custom-element-name@^1.0.1:
2007
+
version "1.0.1"
2008
+
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
2009
+
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
2053
2010
2054
-
is-reference@^1.1.2:
2055
-
version "1.1.4"
2056
-
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.4.tgz#3f95849886ddb70256a3e6d062b1a68c13c51427"
2057
-
integrity sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==
2011
+
is-reference@^1.2.1:
2012
+
version "1.2.1"
2013
+
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
2014
+
integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
2058
2015
dependencies:
2059
-
"@types/estree" "0.0.39"
2016
+
"@types/estree" "*"
2060
2017
2061
2018
is-regex@^1.0.5:
2062
2019
version "1.0.5"
···
2070
2027
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
2071
2028
integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
2072
2029
2073
-
is-stream@^1.1.0:
2074
-
version "1.1.0"
2075
-
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
2076
-
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
2077
-
2078
2030
is-stream@^2.0.0:
2079
2031
version "2.0.0"
2080
2032
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
···
2087
2039
dependencies:
2088
2040
has-symbols "^1.0.1"
2089
2041
2090
-
is-typedarray@^1.0.0, is-typedarray@~1.0.0:
2042
+
is-typedarray@^1.0.0:
2091
2043
version "1.0.0"
2092
2044
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
2093
2045
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
2094
2046
2095
-
is-windows@^1.0.2:
2096
-
version "1.0.2"
2097
-
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
2098
-
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
2047
+
is-unicode-supported@^0.1.0:
2048
+
version "0.1.0"
2049
+
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
2050
+
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
2099
2051
2100
-
is-wsl@^2.1.1:
2101
-
version "2.2.0"
2102
-
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
2103
-
integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
2104
-
dependencies:
2105
-
is-docker "^2.0.0"
2106
-
2107
-
isarray@1.0.0:
2052
+
isarray@~1.0.0:
2108
2053
version "1.0.0"
2109
2054
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
2110
2055
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
···
2114
2059
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
2115
2060
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
2116
2061
2117
-
isobject@^2.0.0:
2118
-
version "2.1.0"
2119
-
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
2120
-
integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
2121
-
dependencies:
2122
-
isarray "1.0.0"
2123
-
2124
-
isobject@^3.0.0, isobject@^3.0.1:
2125
-
version "3.0.1"
2126
-
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
2127
-
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
2128
-
2129
-
isstream@~0.1.2:
2130
-
version "0.1.2"
2131
-
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
2132
-
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
2133
-
2134
2062
istanbul-lib-coverage@^3.0.0:
2135
2063
version "3.0.0"
2136
2064
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
2137
2065
integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
2138
2066
2139
-
istanbul-lib-instrument@^4.0.0:
2067
+
istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3:
2140
2068
version "4.0.3"
2141
2069
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
2142
2070
integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
···
2172
2100
html-escaper "^2.0.0"
2173
2101
istanbul-lib-report "^3.0.0"
2174
2102
2175
-
jest-changed-files@^26.0.1:
2176
-
version "26.0.1"
2177
-
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.0.1.tgz#1334630c6a1ad75784120f39c3aa9278e59f349f"
2178
-
integrity sha512-q8LP9Sint17HaE2LjxQXL+oYWW/WeeXMPE2+Op9X3mY8IEGFVc14xRxFjUuXUbcPAlDLhtWdIEt59GdQbn76Hw==
2103
+
jest-changed-files@^27.1.0:
2104
+
version "27.1.0"
2105
+
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.1.0.tgz#42da6ea00f06274172745729d55f42b60a9dffe0"
2106
+
integrity sha512-eRcb13TfQw0xiV2E98EmiEgs9a5uaBIqJChyl0G7jR9fCIvGjXovnDS6Zbku3joij4tXYcSK4SE1AXqOlUxjWg==
2107
+
dependencies:
2108
+
"@jest/types" "^27.1.0"
2109
+
execa "^5.0.0"
2110
+
throat "^6.0.1"
2111
+
2112
+
jest-circus@^27.1.0:
2113
+
version "27.1.0"
2114
+
resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.1.0.tgz#24c280c90a625ea57da20ee231d25b1621979a57"
2115
+
integrity sha512-6FWtHs3nZyZlMBhRf1wvAC5CirnflbGJAY1xssSAnERLiiXQRH+wY2ptBVtXjX4gz4AA2EwRV57b038LmifRbA==
2179
2116
dependencies:
2180
-
"@jest/types" "^26.0.1"
2181
-
execa "^4.0.0"
2182
-
throat "^5.0.0"
2117
+
"@jest/environment" "^27.1.0"
2118
+
"@jest/test-result" "^27.1.0"
2119
+
"@jest/types" "^27.1.0"
2120
+
"@types/node" "*"
2121
+
chalk "^4.0.0"
2122
+
co "^4.6.0"
2123
+
dedent "^0.7.0"
2124
+
expect "^27.1.0"
2125
+
is-generator-fn "^2.0.0"
2126
+
jest-each "^27.1.0"
2127
+
jest-matcher-utils "^27.1.0"
2128
+
jest-message-util "^27.1.0"
2129
+
jest-runtime "^27.1.0"
2130
+
jest-snapshot "^27.1.0"
2131
+
jest-util "^27.1.0"
2132
+
pretty-format "^27.1.0"
2133
+
slash "^3.0.0"
2134
+
stack-utils "^2.0.3"
2135
+
throat "^6.0.1"
2183
2136
2184
-
jest-cli@^26.0.1:
2185
-
version "26.0.1"
2186
-
resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.0.1.tgz#3a42399a4cbc96a519b99ad069a117d955570cac"
2187
-
integrity sha512-pFLfSOBcbG9iOZWaMK4Een+tTxi/Wcm34geqZEqrst9cZDkTQ1LZ2CnBrTlHWuYAiTMFr0EQeK52ScyFU8wK+w==
2137
+
jest-cli@^27.1.0:
2138
+
version "27.1.0"
2139
+
resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.1.0.tgz#118438e4d11cf6fb66cb2b2eb5778817eab3daeb"
2140
+
integrity sha512-h6zPUOUu+6oLDrXz0yOWY2YXvBLk8gQinx4HbZ7SF4V3HzasQf+ncoIbKENUMwXyf54/6dBkYXvXJos+gOHYZw==
2188
2141
dependencies:
2189
-
"@jest/core" "^26.0.1"
2190
-
"@jest/test-result" "^26.0.1"
2191
-
"@jest/types" "^26.0.1"
2142
+
"@jest/core" "^27.1.0"
2143
+
"@jest/test-result" "^27.1.0"
2144
+
"@jest/types" "^27.1.0"
2192
2145
chalk "^4.0.0"
2193
2146
exit "^0.1.2"
2194
2147
graceful-fs "^4.2.4"
2195
2148
import-local "^3.0.2"
2196
-
is-ci "^2.0.0"
2197
-
jest-config "^26.0.1"
2198
-
jest-util "^26.0.1"
2199
-
jest-validate "^26.0.1"
2149
+
jest-config "^27.1.0"
2150
+
jest-util "^27.1.0"
2151
+
jest-validate "^27.1.0"
2200
2152
prompts "^2.0.1"
2201
-
yargs "^15.3.1"
2153
+
yargs "^16.0.3"
2202
2154
2203
-
jest-config@^26.0.1:
2204
-
version "26.0.1"
2205
-
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.0.1.tgz#096a3d4150afadf719d1fab00e9a6fb2d6d67507"
2206
-
integrity sha512-9mWKx2L1LFgOXlDsC4YSeavnblN6A4CPfXFiobq+YYLaBMymA/SczN7xYTSmLaEYHZOcB98UdoN4m5uNt6tztg==
2155
+
jest-config@^27.1.0:
2156
+
version "27.1.0"
2157
+
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.1.0.tgz#e6826e2baaa34c07c3839af86466870e339d9ada"
2158
+
integrity sha512-GMo7f76vMYUA3b3xOdlcKeKQhKcBIgurjERO2hojo0eLkKPGcw7fyIoanH+m6KOP2bLad+fGnF8aWOJYxzNPeg==
2207
2159
dependencies:
2208
2160
"@babel/core" "^7.1.0"
2209
-
"@jest/test-sequencer" "^26.0.1"
2210
-
"@jest/types" "^26.0.1"
2211
-
babel-jest "^26.0.1"
2161
+
"@jest/test-sequencer" "^27.1.0"
2162
+
"@jest/types" "^27.1.0"
2163
+
babel-jest "^27.1.0"
2212
2164
chalk "^4.0.0"
2213
2165
deepmerge "^4.2.2"
2214
2166
glob "^7.1.1"
2215
2167
graceful-fs "^4.2.4"
2216
-
jest-environment-jsdom "^26.0.1"
2217
-
jest-environment-node "^26.0.1"
2218
-
jest-get-type "^26.0.0"
2219
-
jest-jasmine2 "^26.0.1"
2220
-
jest-regex-util "^26.0.0"
2221
-
jest-resolve "^26.0.1"
2222
-
jest-util "^26.0.1"
2223
-
jest-validate "^26.0.1"
2224
-
micromatch "^4.0.2"
2225
-
pretty-format "^26.0.1"
2168
+
is-ci "^3.0.0"
2169
+
jest-circus "^27.1.0"
2170
+
jest-environment-jsdom "^27.1.0"
2171
+
jest-environment-node "^27.1.0"
2172
+
jest-get-type "^27.0.6"
2173
+
jest-jasmine2 "^27.1.0"
2174
+
jest-regex-util "^27.0.6"
2175
+
jest-resolve "^27.1.0"
2176
+
jest-runner "^27.1.0"
2177
+
jest-util "^27.1.0"
2178
+
jest-validate "^27.1.0"
2179
+
micromatch "^4.0.4"
2180
+
pretty-format "^27.1.0"
2226
2181
2227
-
jest-diff@^26.0.1:
2228
-
version "26.0.1"
2229
-
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.0.1.tgz#c44ab3cdd5977d466de69c46929e0e57f89aa1de"
2230
-
integrity sha512-odTcHyl5X+U+QsczJmOjWw5tPvww+y9Yim5xzqxVl/R1j4z71+fHW4g8qu1ugMmKdFdxw+AtQgs5mupPnzcIBQ==
2182
+
jest-diff@^27.1.0:
2183
+
version "27.1.0"
2184
+
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.1.0.tgz#c7033f25add95e2218f3c7f4c3d7b634ab6b3cd2"
2185
+
integrity sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==
2231
2186
dependencies:
2232
2187
chalk "^4.0.0"
2233
-
diff-sequences "^26.0.0"
2234
-
jest-get-type "^26.0.0"
2235
-
pretty-format "^26.0.1"
2188
+
diff-sequences "^27.0.6"
2189
+
jest-get-type "^27.0.6"
2190
+
pretty-format "^27.1.0"
2236
2191
2237
-
jest-docblock@^26.0.0:
2238
-
version "26.0.0"
2239
-
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5"
2240
-
integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==
2192
+
jest-docblock@^27.0.6:
2193
+
version "27.0.6"
2194
+
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3"
2195
+
integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==
2241
2196
dependencies:
2242
2197
detect-newline "^3.0.0"
2243
2198
2244
-
jest-each@^26.0.1:
2245
-
version "26.0.1"
2246
-
resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.0.1.tgz#633083061619302fc90dd8f58350f9d77d67be04"
2247
-
integrity sha512-OTgJlwXCAR8NIWaXFL5DBbeS4QIYPuNASkzSwMCJO+ywo9BEa6TqkaSWsfR7VdbMLdgYJqSfQcIyjJCNwl5n4Q==
2199
+
jest-each@^27.1.0:
2200
+
version "27.1.0"
2201
+
resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.1.0.tgz#36ac75f7aeecb3b8da2a8e617ccb30a446df408c"
2202
+
integrity sha512-K/cNvQlmDqQMRHF8CaQ0XPzCfjP5HMJc2bIJglrIqI9fjwpNqITle63IWE+wq4p+3v+iBgh7Wq0IdGpLx5xjDg==
2248
2203
dependencies:
2249
-
"@jest/types" "^26.0.1"
2204
+
"@jest/types" "^27.1.0"
2250
2205
chalk "^4.0.0"
2251
-
jest-get-type "^26.0.0"
2252
-
jest-util "^26.0.1"
2253
-
pretty-format "^26.0.1"
2206
+
jest-get-type "^27.0.6"
2207
+
jest-util "^27.1.0"
2208
+
pretty-format "^27.1.0"
2254
2209
2255
-
jest-environment-jsdom@^26.0.1:
2256
-
version "26.0.1"
2257
-
resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.0.1.tgz#217690852e5bdd7c846a4e3b50c8ffd441dfd249"
2258
-
integrity sha512-u88NJa3aptz2Xix2pFhihRBAatwZHWwSiRLBDBQE1cdJvDjPvv7ZGA0NQBxWwDDn7D0g1uHqxM8aGgfA9Bx49g==
2210
+
jest-environment-jsdom@^27.1.0:
2211
+
version "27.1.0"
2212
+
resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.1.0.tgz#5fb3eb8a67e02e6cc623640388d5f90e33075f18"
2213
+
integrity sha512-JbwOcOxh/HOtsj56ljeXQCUJr3ivnaIlM45F5NBezFLVYdT91N5UofB1ux2B1CATsQiudcHdgTaeuqGXJqjJYQ==
2259
2214
dependencies:
2260
-
"@jest/environment" "^26.0.1"
2261
-
"@jest/fake-timers" "^26.0.1"
2262
-
"@jest/types" "^26.0.1"
2263
-
jest-mock "^26.0.1"
2264
-
jest-util "^26.0.1"
2265
-
jsdom "^16.2.2"
2215
+
"@jest/environment" "^27.1.0"
2216
+
"@jest/fake-timers" "^27.1.0"
2217
+
"@jest/types" "^27.1.0"
2218
+
"@types/node" "*"
2219
+
jest-mock "^27.1.0"
2220
+
jest-util "^27.1.0"
2221
+
jsdom "^16.6.0"
2266
2222
2267
-
jest-environment-node@^26.0.1:
2268
-
version "26.0.1"
2269
-
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.0.1.tgz#584a9ff623124ff6eeb49e0131b5f7612b310b13"
2270
-
integrity sha512-4FRBWcSn5yVo0KtNav7+5NH5Z/tEgDLp7VRQVS5tCouWORxj+nI+1tOLutM07Zb2Qi7ja+HEDoOUkjBSWZg/IQ==
2223
+
jest-environment-node@^27.1.0:
2224
+
version "27.1.0"
2225
+
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.1.0.tgz#feea6b765f1fd4582284d4f1007df2b0a8d15b7f"
2226
+
integrity sha512-JIyJ8H3wVyM4YCXp7njbjs0dIT87yhGlrXCXhDKNIg1OjurXr6X38yocnnbXvvNyqVTqSI4M9l+YfPKueqL1lw==
2271
2227
dependencies:
2272
-
"@jest/environment" "^26.0.1"
2273
-
"@jest/fake-timers" "^26.0.1"
2274
-
"@jest/types" "^26.0.1"
2275
-
jest-mock "^26.0.1"
2276
-
jest-util "^26.0.1"
2228
+
"@jest/environment" "^27.1.0"
2229
+
"@jest/fake-timers" "^27.1.0"
2230
+
"@jest/types" "^27.1.0"
2231
+
"@types/node" "*"
2232
+
jest-mock "^27.1.0"
2233
+
jest-util "^27.1.0"
2277
2234
2278
-
jest-get-type@^26.0.0:
2279
-
version "26.0.0"
2280
-
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039"
2281
-
integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==
2235
+
jest-get-type@^27.0.6:
2236
+
version "27.0.6"
2237
+
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe"
2238
+
integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==
2282
2239
2283
-
jest-haste-map@^26.0.1:
2284
-
version "26.0.1"
2285
-
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.0.1.tgz#40dcc03c43ac94d25b8618075804d09cd5d49de7"
2286
-
integrity sha512-J9kBl/EdjmDsvyv7CiyKY5+DsTvVOScenprz/fGqfLg/pm1gdjbwwQ98nW0t+OIt+f+5nAVaElvn/6wP5KO7KA==
2240
+
jest-haste-map@^27.1.0:
2241
+
version "27.1.0"
2242
+
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.1.0.tgz#a39f456823bd6a74e3c86ad25f6fa870428326bf"
2243
+
integrity sha512-7mz6LopSe+eA6cTFMf10OfLLqRoIPvmMyz5/OnSXnHO7hB0aDP1iIeLWCXzAcYU5eIJVpHr12Bk9yyq2fTW9vg==
2287
2244
dependencies:
2288
-
"@jest/types" "^26.0.1"
2245
+
"@jest/types" "^27.1.0"
2289
2246
"@types/graceful-fs" "^4.1.2"
2247
+
"@types/node" "*"
2290
2248
anymatch "^3.0.3"
2291
2249
fb-watchman "^2.0.0"
2292
2250
graceful-fs "^4.2.4"
2293
-
jest-serializer "^26.0.0"
2294
-
jest-util "^26.0.1"
2295
-
jest-worker "^26.0.0"
2296
-
micromatch "^4.0.2"
2297
-
sane "^4.0.3"
2251
+
jest-regex-util "^27.0.6"
2252
+
jest-serializer "^27.0.6"
2253
+
jest-util "^27.1.0"
2254
+
jest-worker "^27.1.0"
2255
+
micromatch "^4.0.4"
2298
2256
walker "^1.0.7"
2299
-
which "^2.0.2"
2300
2257
optionalDependencies:
2301
-
fsevents "^2.1.2"
2258
+
fsevents "^2.3.2"
2302
2259
2303
-
jest-jasmine2@^26.0.1:
2304
-
version "26.0.1"
2305
-
resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.0.1.tgz#947c40ee816636ba23112af3206d6fa7b23c1c1c"
2306
-
integrity sha512-ILaRyiWxiXOJ+RWTKupzQWwnPaeXPIoLS5uW41h18varJzd9/7I0QJGqg69fhTT1ev9JpSSo9QtalriUN0oqOg==
2260
+
jest-jasmine2@^27.1.0:
2261
+
version "27.1.0"
2262
+
resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.1.0.tgz#324a3de0b2ee20d238b2b5b844acc4571331a206"
2263
+
integrity sha512-Z/NIt0wBDg3przOW2FCWtYjMn3Ip68t0SL60agD/e67jlhTyV3PIF8IzT9ecwqFbeuUSO2OT8WeJgHcalDGFzQ==
2307
2264
dependencies:
2308
2265
"@babel/traverse" "^7.1.0"
2309
-
"@jest/environment" "^26.0.1"
2310
-
"@jest/source-map" "^26.0.0"
2311
-
"@jest/test-result" "^26.0.1"
2312
-
"@jest/types" "^26.0.1"
2266
+
"@jest/environment" "^27.1.0"
2267
+
"@jest/source-map" "^27.0.6"
2268
+
"@jest/test-result" "^27.1.0"
2269
+
"@jest/types" "^27.1.0"
2270
+
"@types/node" "*"
2313
2271
chalk "^4.0.0"
2314
2272
co "^4.6.0"
2315
-
expect "^26.0.1"
2273
+
expect "^27.1.0"
2316
2274
is-generator-fn "^2.0.0"
2317
-
jest-each "^26.0.1"
2318
-
jest-matcher-utils "^26.0.1"
2319
-
jest-message-util "^26.0.1"
2320
-
jest-runtime "^26.0.1"
2321
-
jest-snapshot "^26.0.1"
2322
-
jest-util "^26.0.1"
2323
-
pretty-format "^26.0.1"
2324
-
throat "^5.0.0"
2275
+
jest-each "^27.1.0"
2276
+
jest-matcher-utils "^27.1.0"
2277
+
jest-message-util "^27.1.0"
2278
+
jest-runtime "^27.1.0"
2279
+
jest-snapshot "^27.1.0"
2280
+
jest-util "^27.1.0"
2281
+
pretty-format "^27.1.0"
2282
+
throat "^6.0.1"
2325
2283
2326
-
jest-leak-detector@^26.0.1:
2327
-
version "26.0.1"
2328
-
resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.0.1.tgz#79b19ab3f41170e0a78eb8fa754a116d3447fb8c"
2329
-
integrity sha512-93FR8tJhaYIWrWsbmVN1pQ9ZNlbgRpfvrnw5LmgLRX0ckOJ8ut/I35CL7awi2ecq6Ca4lL59bEK9hr7nqoHWPA==
2284
+
jest-leak-detector@^27.1.0:
2285
+
version "27.1.0"
2286
+
resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.1.0.tgz#fe7eb633c851e06280ec4dd248067fe232c00a79"
2287
+
integrity sha512-oHvSkz1E80VyeTKBvZNnw576qU+cVqRXUD3/wKXh1zpaki47Qty2xeHg2HKie9Hqcd2l4XwircgNOWb/NiGqdA==
2330
2288
dependencies:
2331
-
jest-get-type "^26.0.0"
2332
-
pretty-format "^26.0.1"
2289
+
jest-get-type "^27.0.6"
2290
+
pretty-format "^27.1.0"
2333
2291
2334
-
jest-matcher-utils@^26.0.1:
2335
-
version "26.0.1"
2336
-
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.0.1.tgz#12e1fc386fe4f14678f4cc8dbd5ba75a58092911"
2337
-
integrity sha512-PUMlsLth0Azen8Q2WFTwnSkGh2JZ8FYuwijC8NR47vXKpsrKmA1wWvgcj1CquuVfcYiDEdj985u5Wmg7COEARw==
2292
+
jest-matcher-utils@^27.1.0:
2293
+
version "27.1.0"
2294
+
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.1.0.tgz#68afda0885db1f0b9472ce98dc4c535080785301"
2295
+
integrity sha512-VmAudus2P6Yt/JVBRdTPFhUzlIN8DYJd+et5Rd9QDsO/Z82Z4iwGjo43U8Z+PTiz8CBvKvlb6Fh3oKy39hykkQ==
2338
2296
dependencies:
2339
2297
chalk "^4.0.0"
2340
-
jest-diff "^26.0.1"
2341
-
jest-get-type "^26.0.0"
2342
-
pretty-format "^26.0.1"
2298
+
jest-diff "^27.1.0"
2299
+
jest-get-type "^27.0.6"
2300
+
pretty-format "^27.1.0"
2343
2301
2344
-
jest-message-util@^26.0.1:
2345
-
version "26.0.1"
2346
-
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.0.1.tgz#07af1b42fc450b4cc8e90e4c9cef11b33ce9b0ac"
2347
-
integrity sha512-CbK8uQREZ8umUfo8+zgIfEt+W7HAHjQCoRaNs4WxKGhAYBGwEyvxuK81FXa7VeB9pwDEXeeKOB2qcsNVCAvB7Q==
2302
+
jest-message-util@^27.1.0:
2303
+
version "27.1.0"
2304
+
resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.1.0.tgz#e77692c84945d1d10ef00afdfd3d2c20bd8fb468"
2305
+
integrity sha512-Eck8NFnJ5Sg36R9XguD65cf2D5+McC+NF5GIdEninoabcuoOfWrID5qJhufq5FB0DRKoiyxB61hS7MKoMD0trQ==
2348
2306
dependencies:
2349
-
"@babel/code-frame" "^7.0.0"
2350
-
"@jest/types" "^26.0.1"
2351
-
"@types/stack-utils" "^1.0.1"
2307
+
"@babel/code-frame" "^7.12.13"
2308
+
"@jest/types" "^27.1.0"
2309
+
"@types/stack-utils" "^2.0.0"
2352
2310
chalk "^4.0.0"
2353
2311
graceful-fs "^4.2.4"
2354
-
micromatch "^4.0.2"
2312
+
micromatch "^4.0.4"
2313
+
pretty-format "^27.1.0"
2355
2314
slash "^3.0.0"
2356
-
stack-utils "^2.0.2"
2315
+
stack-utils "^2.0.3"
2357
2316
2358
-
jest-mock@^26.0.1:
2359
-
version "26.0.1"
2360
-
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.0.1.tgz#7fd1517ed4955397cf1620a771dc2d61fad8fd40"
2361
-
integrity sha512-MpYTBqycuPYSY6xKJognV7Ja46/TeRbAZept987Zp+tuJvMN0YBWyyhG9mXyYQaU3SBI0TUlSaO5L3p49agw7Q==
2317
+
jest-mock@^27.1.0:
2318
+
version "27.1.0"
2319
+
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.1.0.tgz#7ca6e4d09375c071661642d1c14c4711f3ab4b4f"
2320
+
integrity sha512-iT3/Yhu7DwAg/0HvvLCqLvrTKTRMyJlrrfJYWzuLSf9RCAxBoIXN3HoymZxMnYsC3eD8ewGbUa9jUknwBenx2w==
2362
2321
dependencies:
2363
-
"@jest/types" "^26.0.1"
2322
+
"@jest/types" "^27.1.0"
2323
+
"@types/node" "*"
2364
2324
2365
-
jest-pnp-resolver@^1.2.1:
2366
-
version "1.2.1"
2367
-
resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a"
2368
-
integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==
2325
+
jest-pnp-resolver@^1.2.2:
2326
+
version "1.2.2"
2327
+
resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
2328
+
integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
2369
2329
2370
-
jest-regex-util@^26.0.0:
2371
-
version "26.0.0"
2372
-
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28"
2373
-
integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==
2330
+
jest-regex-util@^27.0.6:
2331
+
version "27.0.6"
2332
+
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5"
2333
+
integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==
2374
2334
2375
-
jest-resolve-dependencies@^26.0.1:
2376
-
version "26.0.1"
2377
-
resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.0.1.tgz#607ba7ccc32151d185a477cff45bf33bce417f0b"
2378
-
integrity sha512-9d5/RS/ft0vB/qy7jct/qAhzJsr6fRQJyGAFigK3XD4hf9kIbEH5gks4t4Z7kyMRhowU6HWm/o8ILqhaHdSqLw==
2335
+
jest-resolve-dependencies@^27.1.0:
2336
+
version "27.1.0"
2337
+
resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.1.0.tgz#d32ea4a2c82f76410f6157d0ec6cde24fbff2317"
2338
+
integrity sha512-Kq5XuDAELuBnrERrjFYEzu/A+i2W7l9HnPWqZEeKGEQ7m1R+6ndMbdXCVCx29Se1qwLZLgvoXwinB3SPIaitMQ==
2379
2339
dependencies:
2380
-
"@jest/types" "^26.0.1"
2381
-
jest-regex-util "^26.0.0"
2382
-
jest-snapshot "^26.0.1"
2340
+
"@jest/types" "^27.1.0"
2341
+
jest-regex-util "^27.0.6"
2342
+
jest-snapshot "^27.1.0"
2383
2343
2384
-
jest-resolve@^26.0.1:
2385
-
version "26.0.1"
2386
-
resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.0.1.tgz#21d1ee06f9ea270a343a8893051aeed940cde736"
2387
-
integrity sha512-6jWxk0IKZkPIVTvq6s72RH735P8f9eCJW3IM5CX/SJFeKq1p2cZx0U49wf/SdMlhaB/anann5J2nCJj6HrbezQ==
2344
+
jest-resolve@^27.1.0:
2345
+
version "27.1.0"
2346
+
resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.1.0.tgz#bb22303c9e240cccdda28562e3c6fbcc6a23ac86"
2347
+
integrity sha512-TXvzrLyPg0vLOwcWX38ZGYeEztSEmW+cQQKqc4HKDUwun31wsBXwotRlUz4/AYU/Fq4GhbMd/ileIWZEtcdmIA==
2388
2348
dependencies:
2389
-
"@jest/types" "^26.0.1"
2349
+
"@jest/types" "^27.1.0"
2390
2350
chalk "^4.0.0"
2351
+
escalade "^3.1.1"
2391
2352
graceful-fs "^4.2.4"
2392
-
jest-pnp-resolver "^1.2.1"
2393
-
jest-util "^26.0.1"
2394
-
read-pkg-up "^7.0.1"
2395
-
resolve "^1.17.0"
2353
+
jest-haste-map "^27.1.0"
2354
+
jest-pnp-resolver "^1.2.2"
2355
+
jest-util "^27.1.0"
2356
+
jest-validate "^27.1.0"
2357
+
resolve "^1.20.0"
2396
2358
slash "^3.0.0"
2397
2359
2398
-
jest-runner@^26.0.1:
2399
-
version "26.0.1"
2400
-
resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.0.1.tgz#ea03584b7ae4bacfb7e533d680a575a49ae35d50"
2401
-
integrity sha512-CApm0g81b49Znm4cZekYQK67zY7kkB4umOlI2Dx5CwKAzdgw75EN+ozBHRvxBzwo1ZLYZ07TFxkaPm+1t4d8jA==
2360
+
jest-runner@^27.1.0:
2361
+
version "27.1.0"
2362
+
resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.1.0.tgz#1b28d114fb3b67407b8354c9385d47395e8ff83f"
2363
+
integrity sha512-ZWPKr9M5w5gDplz1KsJ6iRmQaDT/yyAFLf18fKbb/+BLWsR1sCNC2wMT0H7pP3gDcBz0qZ6aJraSYUNAGSJGaw==
2402
2364
dependencies:
2403
-
"@jest/console" "^26.0.1"
2404
-
"@jest/environment" "^26.0.1"
2405
-
"@jest/test-result" "^26.0.1"
2406
-
"@jest/types" "^26.0.1"
2365
+
"@jest/console" "^27.1.0"
2366
+
"@jest/environment" "^27.1.0"
2367
+
"@jest/test-result" "^27.1.0"
2368
+
"@jest/transform" "^27.1.0"
2369
+
"@jest/types" "^27.1.0"
2370
+
"@types/node" "*"
2407
2371
chalk "^4.0.0"
2372
+
emittery "^0.8.1"
2408
2373
exit "^0.1.2"
2409
2374
graceful-fs "^4.2.4"
2410
-
jest-config "^26.0.1"
2411
-
jest-docblock "^26.0.0"
2412
-
jest-haste-map "^26.0.1"
2413
-
jest-jasmine2 "^26.0.1"
2414
-
jest-leak-detector "^26.0.1"
2415
-
jest-message-util "^26.0.1"
2416
-
jest-resolve "^26.0.1"
2417
-
jest-runtime "^26.0.1"
2418
-
jest-util "^26.0.1"
2419
-
jest-worker "^26.0.0"
2375
+
jest-docblock "^27.0.6"
2376
+
jest-environment-jsdom "^27.1.0"
2377
+
jest-environment-node "^27.1.0"
2378
+
jest-haste-map "^27.1.0"
2379
+
jest-leak-detector "^27.1.0"
2380
+
jest-message-util "^27.1.0"
2381
+
jest-resolve "^27.1.0"
2382
+
jest-runtime "^27.1.0"
2383
+
jest-util "^27.1.0"
2384
+
jest-worker "^27.1.0"
2420
2385
source-map-support "^0.5.6"
2421
-
throat "^5.0.0"
2386
+
throat "^6.0.1"
2422
2387
2423
-
jest-runtime@^26.0.1:
2424
-
version "26.0.1"
2425
-
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.0.1.tgz#a121a6321235987d294168e282d52b364d7d3f89"
2426
-
integrity sha512-Ci2QhYFmANg5qaXWf78T2Pfo6GtmIBn2rRaLnklRyEucmPccmCKvS9JPljcmtVamsdMmkyNkVFb9pBTD6si9Lw==
2388
+
jest-runtime@^27.1.0:
2389
+
version "27.1.0"
2390
+
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.1.0.tgz#1a98d984ffebc16a0b4f9eaad8ab47c00a750cf5"
2391
+
integrity sha512-okiR2cpGjY0RkWmUGGado6ETpFOi9oG3yV0CioYdoktkVxy5Hv0WRLWnJFuArSYS8cHMCNcceUUMGiIfgxCO9A==
2427
2392
dependencies:
2428
-
"@jest/console" "^26.0.1"
2429
-
"@jest/environment" "^26.0.1"
2430
-
"@jest/fake-timers" "^26.0.1"
2431
-
"@jest/globals" "^26.0.1"
2432
-
"@jest/source-map" "^26.0.0"
2433
-
"@jest/test-result" "^26.0.1"
2434
-
"@jest/transform" "^26.0.1"
2435
-
"@jest/types" "^26.0.1"
2436
-
"@types/yargs" "^15.0.0"
2393
+
"@jest/console" "^27.1.0"
2394
+
"@jest/environment" "^27.1.0"
2395
+
"@jest/fake-timers" "^27.1.0"
2396
+
"@jest/globals" "^27.1.0"
2397
+
"@jest/source-map" "^27.0.6"
2398
+
"@jest/test-result" "^27.1.0"
2399
+
"@jest/transform" "^27.1.0"
2400
+
"@jest/types" "^27.1.0"
2401
+
"@types/yargs" "^16.0.0"
2437
2402
chalk "^4.0.0"
2403
+
cjs-module-lexer "^1.0.0"
2438
2404
collect-v8-coverage "^1.0.0"
2405
+
execa "^5.0.0"
2439
2406
exit "^0.1.2"
2440
2407
glob "^7.1.3"
2441
2408
graceful-fs "^4.2.4"
2442
-
jest-config "^26.0.1"
2443
-
jest-haste-map "^26.0.1"
2444
-
jest-message-util "^26.0.1"
2445
-
jest-mock "^26.0.1"
2446
-
jest-regex-util "^26.0.0"
2447
-
jest-resolve "^26.0.1"
2448
-
jest-snapshot "^26.0.1"
2449
-
jest-util "^26.0.1"
2450
-
jest-validate "^26.0.1"
2409
+
jest-haste-map "^27.1.0"
2410
+
jest-message-util "^27.1.0"
2411
+
jest-mock "^27.1.0"
2412
+
jest-regex-util "^27.0.6"
2413
+
jest-resolve "^27.1.0"
2414
+
jest-snapshot "^27.1.0"
2415
+
jest-util "^27.1.0"
2416
+
jest-validate "^27.1.0"
2451
2417
slash "^3.0.0"
2452
2418
strip-bom "^4.0.0"
2453
-
yargs "^15.3.1"
2419
+
yargs "^16.0.3"
2454
2420
2455
-
jest-serializer@^26.0.0:
2456
-
version "26.0.0"
2457
-
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.0.0.tgz#f6c521ddb976943b93e662c0d4d79245abec72a3"
2458
-
integrity sha512-sQGXLdEGWFAE4wIJ2ZaIDb+ikETlUirEOBsLXdoBbeLhTHkZUJwgk3+M8eyFizhM6le43PDCCKPA1hzkSDo4cQ==
2421
+
jest-serializer@^27.0.6:
2422
+
version "27.0.6"
2423
+
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1"
2424
+
integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==
2459
2425
dependencies:
2426
+
"@types/node" "*"
2460
2427
graceful-fs "^4.2.4"
2461
2428
2462
-
jest-snapshot@^26.0.1:
2463
-
version "26.0.1"
2464
-
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.0.1.tgz#1baa942bd83d47b837a84af7fcf5fd4a236da399"
2465
-
integrity sha512-jxd+cF7+LL+a80qh6TAnTLUZHyQoWwEHSUFJjkw35u3Gx+BZUNuXhYvDqHXr62UQPnWo2P6fvQlLjsU93UKyxA==
2429
+
jest-snapshot@^27.1.0:
2430
+
version "27.1.0"
2431
+
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.1.0.tgz#2a063ab90064017a7e9302528be7eaea6da12d17"
2432
+
integrity sha512-eaeUBoEjuuRwmiRI51oTldUsKOohB1F6fPqWKKILuDi/CStxzp2IWekVUXbuHHoz5ik33ioJhshiHpgPFbYgcA==
2466
2433
dependencies:
2434
+
"@babel/core" "^7.7.2"
2435
+
"@babel/generator" "^7.7.2"
2436
+
"@babel/parser" "^7.7.2"
2437
+
"@babel/plugin-syntax-typescript" "^7.7.2"
2438
+
"@babel/traverse" "^7.7.2"
2467
2439
"@babel/types" "^7.0.0"
2468
-
"@jest/types" "^26.0.1"
2469
-
"@types/prettier" "^2.0.0"
2440
+
"@jest/transform" "^27.1.0"
2441
+
"@jest/types" "^27.1.0"
2442
+
"@types/babel__traverse" "^7.0.4"
2443
+
"@types/prettier" "^2.1.5"
2444
+
babel-preset-current-node-syntax "^1.0.0"
2470
2445
chalk "^4.0.0"
2471
-
expect "^26.0.1"
2446
+
expect "^27.1.0"
2472
2447
graceful-fs "^4.2.4"
2473
-
jest-diff "^26.0.1"
2474
-
jest-get-type "^26.0.0"
2475
-
jest-matcher-utils "^26.0.1"
2476
-
jest-message-util "^26.0.1"
2477
-
jest-resolve "^26.0.1"
2478
-
make-dir "^3.0.0"
2448
+
jest-diff "^27.1.0"
2449
+
jest-get-type "^27.0.6"
2450
+
jest-haste-map "^27.1.0"
2451
+
jest-matcher-utils "^27.1.0"
2452
+
jest-message-util "^27.1.0"
2453
+
jest-resolve "^27.1.0"
2454
+
jest-util "^27.1.0"
2479
2455
natural-compare "^1.4.0"
2480
-
pretty-format "^26.0.1"
2456
+
pretty-format "^27.1.0"
2481
2457
semver "^7.3.2"
2482
2458
2483
-
jest-util@^26.0.1:
2484
-
version "26.0.1"
2485
-
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.0.1.tgz#72c4c51177b695fdd795ca072a6f94e3d7cef00a"
2486
-
integrity sha512-byQ3n7ad1BO/WyFkYvlWQHTsomB6GIewBh8tlGtusiylAlaxQ1UpS0XYH0ngOyhZuHVLN79Qvl6/pMiDMSSG1g==
2459
+
jest-util@^27.1.0:
2460
+
version "27.1.0"
2461
+
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.1.0.tgz#06a53777a8cb7e4940ca8e20bf9c67dd65d9bd68"
2462
+
integrity sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==
2487
2463
dependencies:
2488
-
"@jest/types" "^26.0.1"
2464
+
"@jest/types" "^27.1.0"
2465
+
"@types/node" "*"
2489
2466
chalk "^4.0.0"
2490
2467
graceful-fs "^4.2.4"
2491
-
is-ci "^2.0.0"
2492
-
make-dir "^3.0.0"
2468
+
is-ci "^3.0.0"
2469
+
picomatch "^2.2.3"
2493
2470
2494
-
jest-validate@^26.0.1:
2495
-
version "26.0.1"
2496
-
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.0.1.tgz#a62987e1da5b7f724130f904725e22f4e5b2e23c"
2497
-
integrity sha512-u0xRc+rbmov/VqXnX3DlkxD74rHI/CfS5xaV2VpeaVySjbb1JioNVOyly5b56q2l9ZKe7bVG5qWmjfctkQb0bA==
2471
+
jest-validate@^27.1.0:
2472
+
version "27.1.0"
2473
+
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.1.0.tgz#d9e82024c5e3f5cef52a600cfc456793a84c0998"
2474
+
integrity sha512-QiJ+4XuSuMsfPi9zvdO//IrSRSlG6ybJhOpuqYSsuuaABaNT84h0IoD6vvQhThBOKT+DIKvl5sTM0l6is9+SRA==
2498
2475
dependencies:
2499
-
"@jest/types" "^26.0.1"
2500
-
camelcase "^6.0.0"
2476
+
"@jest/types" "^27.1.0"
2477
+
camelcase "^6.2.0"
2501
2478
chalk "^4.0.0"
2502
-
jest-get-type "^26.0.0"
2479
+
jest-get-type "^27.0.6"
2503
2480
leven "^3.1.0"
2504
-
pretty-format "^26.0.1"
2481
+
pretty-format "^27.1.0"
2505
2482
2506
-
jest-watcher@^26.0.1:
2507
-
version "26.0.1"
2508
-
resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.0.1.tgz#5b5e3ebbdf10c240e22a98af66d645631afda770"
2509
-
integrity sha512-pdZPydsS8475f89kGswaNsN3rhP6lnC3/QDCppP7bg1L9JQz7oU9Mb/5xPETk1RHDCWeqmVC47M4K5RR7ejxFw==
2483
+
jest-watcher@^27.1.0:
2484
+
version "27.1.0"
2485
+
resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.1.0.tgz#2511fcddb0e969a400f3d1daa74265f93f13ce93"
2486
+
integrity sha512-ivaWTrA46aHWdgPDgPypSHiNQjyKnLBpUIHeBaGg11U+pDzZpkffGlcB1l1a014phmG0mHgkOHtOgiqJQM6yKQ==
2510
2487
dependencies:
2511
-
"@jest/test-result" "^26.0.1"
2512
-
"@jest/types" "^26.0.1"
2488
+
"@jest/test-result" "^27.1.0"
2489
+
"@jest/types" "^27.1.0"
2490
+
"@types/node" "*"
2513
2491
ansi-escapes "^4.2.1"
2514
2492
chalk "^4.0.0"
2515
-
jest-util "^26.0.1"
2493
+
jest-util "^27.1.0"
2516
2494
string-length "^4.0.1"
2517
2495
2518
-
jest-worker@^26.0.0:
2519
-
version "26.0.0"
2520
-
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.0.0.tgz#4920c7714f0a96c6412464718d0c58a3df3fb066"
2521
-
integrity sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==
2496
+
jest-worker@^27.1.0:
2497
+
version "27.1.0"
2498
+
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.1.0.tgz#65f4a88e37148ed984ba8ca8492d6b376938c0aa"
2499
+
integrity sha512-mO4PHb2QWLn9yRXGp7rkvXLAYuxwhq1ZYUo0LoDhg8wqvv4QizP1ZWEJOeolgbEgAWZLIEU0wsku8J+lGWfBhg==
2522
2500
dependencies:
2501
+
"@types/node" "*"
2523
2502
merge-stream "^2.0.0"
2524
-
supports-color "^7.0.0"
2503
+
supports-color "^8.0.0"
2525
2504
2526
-
jest@^26.0.1:
2527
-
version "26.0.1"
2528
-
resolved "https://registry.yarnpkg.com/jest/-/jest-26.0.1.tgz#5c51a2e58dff7525b65f169721767173bf832694"
2529
-
integrity sha512-29Q54kn5Bm7ZGKIuH2JRmnKl85YRigp0o0asTc6Sb6l2ch1DCXIeZTLLFy9ultJvhkTqbswF5DEx4+RlkmCxWg==
2505
+
jest@^27.1.0:
2506
+
version "27.1.0"
2507
+
resolved "https://registry.yarnpkg.com/jest/-/jest-27.1.0.tgz#eaab62dfdc02d8b7c814cd27b8d2d92bc46d3d69"
2508
+
integrity sha512-pSQDVwRSwb109Ss13lcMtdfS9r8/w2Zz8+mTUA9VORD66GflCdl8nUFCqM96geOD2EBwWCNURrNAfQsLIDNBdg==
2530
2509
dependencies:
2531
-
"@jest/core" "^26.0.1"
2510
+
"@jest/core" "^27.1.0"
2532
2511
import-local "^3.0.2"
2533
-
jest-cli "^26.0.1"
2512
+
jest-cli "^27.1.0"
2534
2513
2535
2514
js-tokens@^4.0.0:
2536
2515
version "4.0.0"
···
2545
2524
argparse "^1.0.7"
2546
2525
esprima "^4.0.0"
2547
2526
2548
-
jsbn@~0.1.0:
2549
-
version "0.1.1"
2550
-
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
2551
-
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
2552
-
2553
-
jsdom@^16.2.2:
2554
-
version "16.2.2"
2555
-
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b"
2556
-
integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==
2527
+
jsdom@^16.6.0:
2528
+
version "16.7.0"
2529
+
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710"
2530
+
integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==
2557
2531
dependencies:
2558
-
abab "^2.0.3"
2559
-
acorn "^7.1.1"
2532
+
abab "^2.0.5"
2533
+
acorn "^8.2.4"
2560
2534
acorn-globals "^6.0.0"
2561
2535
cssom "^0.4.4"
2562
-
cssstyle "^2.2.0"
2536
+
cssstyle "^2.3.0"
2563
2537
data-urls "^2.0.0"
2564
-
decimal.js "^10.2.0"
2538
+
decimal.js "^10.2.1"
2565
2539
domexception "^2.0.1"
2566
-
escodegen "^1.14.1"
2540
+
escodegen "^2.0.0"
2541
+
form-data "^3.0.0"
2567
2542
html-encoding-sniffer "^2.0.1"
2568
-
is-potential-custom-element-name "^1.0.0"
2543
+
http-proxy-agent "^4.0.1"
2544
+
https-proxy-agent "^5.0.0"
2545
+
is-potential-custom-element-name "^1.0.1"
2569
2546
nwsapi "^2.2.0"
2570
-
parse5 "5.1.1"
2571
-
request "^2.88.2"
2572
-
request-promise-native "^1.0.8"
2573
-
saxes "^5.0.0"
2547
+
parse5 "6.0.1"
2548
+
saxes "^5.0.1"
2574
2549
symbol-tree "^3.2.4"
2575
-
tough-cookie "^3.0.1"
2550
+
tough-cookie "^4.0.0"
2576
2551
w3c-hr-time "^1.0.2"
2577
2552
w3c-xmlserializer "^2.0.0"
2578
-
webidl-conversions "^6.0.0"
2553
+
webidl-conversions "^6.1.0"
2579
2554
whatwg-encoding "^1.0.5"
2580
2555
whatwg-mimetype "^2.3.0"
2581
-
whatwg-url "^8.0.0"
2582
-
ws "^7.2.3"
2556
+
whatwg-url "^8.5.0"
2557
+
ws "^7.4.6"
2583
2558
xml-name-validator "^3.0.0"
2584
2559
2585
2560
jsesc@^2.5.1:
···
2597
2572
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
2598
2573
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
2599
2574
2600
-
json-schema-traverse@^0.4.1:
2601
-
version "0.4.1"
2602
-
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
2603
-
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
2604
-
2605
-
json-schema@0.2.3:
2606
-
version "0.2.3"
2607
-
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
2608
-
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
2609
-
2610
-
json-stringify-safe@~5.0.1:
2611
-
version "5.0.1"
2612
-
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
2613
-
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
2614
-
2615
2575
json5@^2.1.2:
2616
2576
version "2.1.3"
2617
2577
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
···
2619
2579
dependencies:
2620
2580
minimist "^1.2.5"
2621
2581
2622
-
jsprim@^1.2.2:
2623
-
version "1.4.1"
2624
-
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
2625
-
integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
2626
-
dependencies:
2627
-
assert-plus "1.0.0"
2628
-
extsprintf "1.3.0"
2629
-
json-schema "0.2.3"
2630
-
verror "1.10.0"
2631
-
2632
-
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
2633
-
version "3.2.2"
2634
-
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
2635
-
integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
2636
-
dependencies:
2637
-
is-buffer "^1.1.5"
2638
-
2639
-
kind-of@^4.0.0:
2640
-
version "4.0.0"
2641
-
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
2642
-
integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
2643
-
dependencies:
2644
-
is-buffer "^1.1.5"
2645
-
2646
-
kind-of@^5.0.0:
2647
-
version "5.1.0"
2648
-
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
2649
-
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
2650
-
2651
-
kind-of@^6.0.0, kind-of@^6.0.2:
2652
-
version "6.0.3"
2653
-
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
2654
-
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
2655
-
2656
2582
kleur@^3.0.3:
2657
2583
version "3.0.3"
2658
2584
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
···
2676
2602
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
2677
2603
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
2678
2604
2679
-
lint-staged@^10.2.2:
2680
-
version "10.2.2"
2681
-
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.2.tgz#901403c120eb5d9443a0358b55038b04c8a7db9b"
2682
-
integrity sha512-78kNqNdDeKrnqWsexAmkOU3Z5wi+1CsQmUmfCuYgMTE8E4rAIX8RHW7xgxwAZ+LAayb7Cca4uYX4P3LlevzjVg==
2605
+
lint-staged@^11.1.2:
2606
+
version "11.1.2"
2607
+
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.1.2.tgz#4dd78782ae43ee6ebf2969cad9af67a46b33cd90"
2608
+
integrity sha512-6lYpNoA9wGqkL6Hew/4n1H6lRqF3qCsujVT0Oq5Z4hiSAM7S6NksPJ3gnr7A7R52xCtiZMcEUNNQ6d6X5Bvh9w==
2683
2609
dependencies:
2684
-
chalk "^4.0.0"
2685
-
commander "^5.0.0"
2686
-
cosmiconfig "^6.0.0"
2687
-
debug "^4.1.1"
2688
-
dedent "^0.7.0"
2689
-
execa "^4.0.0"
2690
-
listr2 "1.3.8"
2691
-
log-symbols "^3.0.0"
2692
-
micromatch "^4.0.2"
2610
+
chalk "^4.1.1"
2611
+
cli-truncate "^2.1.0"
2612
+
commander "^7.2.0"
2613
+
cosmiconfig "^7.0.0"
2614
+
debug "^4.3.1"
2615
+
enquirer "^2.3.6"
2616
+
execa "^5.0.0"
2617
+
listr2 "^3.8.2"
2618
+
log-symbols "^4.1.0"
2619
+
micromatch "^4.0.4"
2693
2620
normalize-path "^3.0.0"
2694
2621
please-upgrade-node "^3.2.0"
2695
2622
string-argv "0.3.1"
2696
2623
stringify-object "^3.3.0"
2697
2624
2698
-
listr2@1.3.8:
2699
-
version "1.3.8"
2700
-
resolved "https://registry.yarnpkg.com/listr2/-/listr2-1.3.8.tgz#30924d79de1e936d8c40af54b6465cb814a9c828"
2701
-
integrity sha512-iRDRVTgSDz44tBeBBg/35TQz4W+EZBWsDUq7hPpqeUHm7yLPNll0rkwW3lIX9cPAK7l+x95mGWLpxjqxftNfZA==
2625
+
listr2@^3.8.2:
2626
+
version "3.11.0"
2627
+
resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.11.0.tgz#9771b02407875aa78e73d6e0ff6541bbec0aaee9"
2628
+
integrity sha512-XLJVe2JgXCyQTa3FbSv11lkKExYmEyA4jltVo8z4FX10Vt1Yj8IMekBfwim0BSOM9uj1QMTJvDQQpHyuPbB/dQ==
2702
2629
dependencies:
2703
-
"@samverschueren/stream-to-observable" "^0.3.0"
2704
-
chalk "^3.0.0"
2705
-
cli-cursor "^3.1.0"
2706
2630
cli-truncate "^2.1.0"
2707
-
elegant-spinner "^2.0.0"
2708
-
enquirer "^2.3.4"
2709
-
figures "^3.2.0"
2710
-
indent-string "^4.0.0"
2631
+
colorette "^1.2.2"
2711
2632
log-update "^4.0.0"
2712
2633
p-map "^4.0.0"
2713
-
pad "^3.2.0"
2714
-
rxjs "^6.3.3"
2634
+
rxjs "^6.6.7"
2715
2635
through "^2.3.8"
2716
-
uuid "^7.0.2"
2636
+
wrap-ansi "^7.0.0"
2717
2637
2718
2638
load-json-file@^4.0.0:
2719
2639
version "4.0.0"
···
2732
2652
dependencies:
2733
2653
p-locate "^4.1.0"
2734
2654
2655
+
locate-path@^6.0.0:
2656
+
version "6.0.0"
2657
+
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
2658
+
integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
2659
+
dependencies:
2660
+
p-locate "^5.0.0"
2661
+
2735
2662
lodash.sortby@^4.7.0:
2736
2663
version "4.7.0"
2737
2664
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
2738
2665
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
2739
2666
2740
-
lodash@^4.17.13, lodash@^4.17.15:
2667
+
lodash@^4.17.13:
2741
2668
version "4.17.15"
2742
2669
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
2743
2670
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
2744
2671
2745
-
log-symbols@^3.0.0:
2746
-
version "3.0.0"
2747
-
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"
2748
-
integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==
2672
+
lodash@^4.7.0:
2673
+
version "4.17.21"
2674
+
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
2675
+
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
2676
+
2677
+
log-symbols@^4.1.0:
2678
+
version "4.1.0"
2679
+
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
2680
+
integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
2749
2681
dependencies:
2750
-
chalk "^2.4.2"
2682
+
chalk "^4.1.0"
2683
+
is-unicode-supported "^0.1.0"
2751
2684
2752
2685
log-update@^4.0.0:
2753
2686
version "4.0.0"
···
2759
2692
slice-ansi "^4.0.0"
2760
2693
wrap-ansi "^6.2.0"
2761
2694
2762
-
magic-string@^0.25.0, magic-string@^0.25.2, magic-string@^0.25.7:
2695
+
magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.7:
2763
2696
version "0.25.7"
2764
2697
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
2765
2698
integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
···
2780
2713
dependencies:
2781
2714
tmpl "1.0.x"
2782
2715
2783
-
map-cache@^0.2.2:
2784
-
version "0.2.2"
2785
-
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
2786
-
integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
2787
-
2788
-
map-visit@^1.0.0:
2789
-
version "1.0.0"
2790
-
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
2791
-
integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
2792
-
dependencies:
2793
-
object-visit "^1.0.0"
2794
-
2795
2716
memorystream@^0.3.1:
2796
2717
version "0.3.1"
2797
2718
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
···
2802
2723
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
2803
2724
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
2804
2725
2805
-
micromatch@^3.1.4:
2806
-
version "3.1.10"
2807
-
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
2808
-
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
2809
-
dependencies:
2810
-
arr-diff "^4.0.0"
2811
-
array-unique "^0.3.2"
2812
-
braces "^2.3.1"
2813
-
define-property "^2.0.2"
2814
-
extend-shallow "^3.0.2"
2815
-
extglob "^2.0.4"
2816
-
fragment-cache "^0.2.1"
2817
-
kind-of "^6.0.2"
2818
-
nanomatch "^1.2.9"
2819
-
object.pick "^1.3.0"
2820
-
regex-not "^1.0.0"
2821
-
snapdragon "^0.8.1"
2822
-
to-regex "^3.0.2"
2823
-
2824
-
micromatch@^4.0.2:
2825
-
version "4.0.2"
2826
-
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
2827
-
integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
2726
+
micromatch@^4.0.4:
2727
+
version "4.0.4"
2728
+
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
2729
+
integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
2828
2730
dependencies:
2829
2731
braces "^3.0.1"
2830
-
picomatch "^2.0.5"
2732
+
picomatch "^2.2.3"
2831
2733
2832
2734
mime-db@1.44.0:
2833
2735
version "1.44.0"
2834
2736
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
2835
2737
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
2836
2738
2837
-
mime-types@^2.1.12, mime-types@~2.1.19:
2739
+
mime-types@^2.1.12:
2838
2740
version "2.1.27"
2839
2741
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
2840
2742
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
···
2853
2755
dependencies:
2854
2756
brace-expansion "^1.1.7"
2855
2757
2856
-
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
2758
+
minimist@1.x, minimist@^1.2.5:
2857
2759
version "1.2.5"
2858
2760
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
2859
2761
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
2860
2762
2861
-
mixin-deep@^1.2.0:
2862
-
version "1.3.2"
2863
-
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
2864
-
integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
2865
-
dependencies:
2866
-
for-in "^1.0.2"
2867
-
is-extendable "^1.0.1"
2868
-
2869
-
ms@2.0.0:
2870
-
version "2.0.0"
2871
-
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
2872
-
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
2873
-
2874
-
ms@^2.1.1:
2763
+
ms@2.1.2, ms@^2.1.1:
2875
2764
version "2.1.2"
2876
2765
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
2877
2766
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
2878
2767
2879
-
nanomatch@^1.2.9:
2880
-
version "1.2.13"
2881
-
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
2882
-
integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
2768
+
mz@^2.7.0:
2769
+
version "2.7.0"
2770
+
resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
2771
+
integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
2883
2772
dependencies:
2884
-
arr-diff "^4.0.0"
2885
-
array-unique "^0.3.2"
2886
-
define-property "^2.0.2"
2887
-
extend-shallow "^3.0.2"
2888
-
fragment-cache "^0.2.1"
2889
-
is-windows "^1.0.2"
2890
-
kind-of "^6.0.2"
2891
-
object.pick "^1.3.0"
2892
-
regex-not "^1.0.0"
2893
-
snapdragon "^0.8.1"
2894
-
to-regex "^3.0.1"
2773
+
any-promise "^1.0.0"
2774
+
object-assign "^4.0.1"
2775
+
thenify-all "^1.0.0"
2895
2776
2896
2777
natural-compare@^1.4.0:
2897
2778
version "1.4.0"
···
2913
2794
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
2914
2795
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
2915
2796
2916
-
node-notifier@^7.0.0:
2917
-
version "7.0.0"
2918
-
resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.0.tgz#513bc42f2aa3a49fce1980a7ff375957c71f718a"
2919
-
integrity sha512-y8ThJESxsHcak81PGpzWwQKxzk+5YtP3IxR8AYdpXQ1IB6FmcVzFdZXrkPin49F/DKUCfeeiziB8ptY9npzGuA==
2920
-
dependencies:
2921
-
growly "^1.3.0"
2922
-
is-wsl "^2.1.1"
2923
-
semver "^7.2.1"
2924
-
shellwords "^0.1.1"
2925
-
uuid "^7.0.3"
2926
-
which "^2.0.2"
2797
+
node-releases@^1.1.75:
2798
+
version "1.1.75"
2799
+
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe"
2800
+
integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==
2927
2801
2928
-
normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
2802
+
normalize-package-data@^2.3.2:
2929
2803
version "2.5.0"
2930
2804
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
2931
2805
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
···
2934
2808
resolve "^1.10.0"
2935
2809
semver "2 || 3 || 4 || 5"
2936
2810
validate-npm-package-license "^3.0.1"
2937
-
2938
-
normalize-path@^2.1.1:
2939
-
version "2.1.1"
2940
-
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
2941
-
integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
2942
-
dependencies:
2943
-
remove-trailing-separator "^1.0.1"
2944
2811
2945
2812
normalize-path@^3.0.0:
2946
2813
version "3.0.0"
···
2962
2829
shell-quote "^1.6.1"
2963
2830
string.prototype.padend "^3.0.0"
2964
2831
2965
-
npm-run-path@^2.0.0:
2966
-
version "2.0.2"
2967
-
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
2968
-
integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
2969
-
dependencies:
2970
-
path-key "^2.0.0"
2971
-
2972
-
npm-run-path@^4.0.0:
2832
+
npm-run-path@^4.0.1:
2973
2833
version "4.0.1"
2974
2834
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
2975
2835
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
···
2981
2841
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
2982
2842
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
2983
2843
2984
-
oauth-sign@~0.9.0:
2985
-
version "0.9.0"
2986
-
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
2987
-
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
2988
-
2989
-
object-copy@^0.1.0:
2990
-
version "0.1.0"
2991
-
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
2992
-
integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
2993
-
dependencies:
2994
-
copy-descriptor "^0.1.0"
2995
-
define-property "^0.2.5"
2996
-
kind-of "^3.0.3"
2844
+
object-assign@^4.0.1:
2845
+
version "4.1.1"
2846
+
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
2847
+
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
2997
2848
2998
2849
object-inspect@^1.7.0:
2999
2850
version "1.7.0"
···
3005
2856
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
3006
2857
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
3007
2858
3008
-
object-visit@^1.0.0:
3009
-
version "1.0.1"
3010
-
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
3011
-
integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
3012
-
dependencies:
3013
-
isobject "^3.0.0"
3014
-
3015
2859
object.assign@^4.1.0:
3016
2860
version "4.1.0"
3017
2861
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
···
3022
2866
has-symbols "^1.0.0"
3023
2867
object-keys "^1.0.11"
3024
2868
3025
-
object.pick@^1.3.0:
3026
-
version "1.3.0"
3027
-
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
3028
-
integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
3029
-
dependencies:
3030
-
isobject "^3.0.1"
3031
-
3032
-
once@^1.3.0, once@^1.3.1, once@^1.4.0:
2869
+
once@^1.3.0:
3033
2870
version "1.4.0"
3034
2871
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
3035
2872
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
···
3043
2880
dependencies:
3044
2881
mimic-fn "^2.1.0"
3045
2882
2883
+
onetime@^5.1.2:
2884
+
version "5.1.2"
2885
+
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
2886
+
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
2887
+
dependencies:
2888
+
mimic-fn "^2.1.0"
2889
+
3046
2890
opencollective-postinstall@^2.0.2:
3047
-
version "2.0.2"
3048
-
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
3049
-
integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
2891
+
version "2.0.3"
2892
+
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
2893
+
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
3050
2894
3051
2895
optionator@^0.8.1:
3052
2896
version "0.8.3"
···
3065
2909
resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48"
3066
2910
integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==
3067
2911
3068
-
p-finally@^1.0.0:
3069
-
version "1.0.0"
3070
-
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
3071
-
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
3072
-
3073
2912
p-limit@^2.2.0:
3074
2913
version "2.3.0"
3075
2914
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
···
3077
2916
dependencies:
3078
2917
p-try "^2.0.0"
3079
2918
2919
+
p-limit@^3.0.2:
2920
+
version "3.1.0"
2921
+
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
2922
+
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
2923
+
dependencies:
2924
+
yocto-queue "^0.1.0"
2925
+
3080
2926
p-locate@^4.1.0:
3081
2927
version "4.1.0"
3082
2928
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
···
3084
2930
dependencies:
3085
2931
p-limit "^2.2.0"
3086
2932
2933
+
p-locate@^5.0.0:
2934
+
version "5.0.0"
2935
+
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
2936
+
integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
2937
+
dependencies:
2938
+
p-limit "^3.0.2"
2939
+
3087
2940
p-map@^4.0.0:
3088
2941
version "4.0.0"
3089
2942
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
···
3095
2948
version "2.2.0"
3096
2949
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
3097
2950
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
3098
-
3099
-
pad@^3.2.0:
3100
-
version "3.2.0"
3101
-
resolved "https://registry.yarnpkg.com/pad/-/pad-3.2.0.tgz#be7a1d1cb6757049b4ad5b70e71977158fea95d1"
3102
-
integrity sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==
3103
-
dependencies:
3104
-
wcwidth "^1.0.1"
3105
2951
3106
2952
parent-module@^1.0.0:
3107
2953
version "1.0.1"
···
3128
2974
json-parse-better-errors "^1.0.1"
3129
2975
lines-and-columns "^1.1.6"
3130
2976
3131
-
parse5@5.1.1:
3132
-
version "5.1.1"
3133
-
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
3134
-
integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
3135
-
3136
-
pascalcase@^0.1.1:
3137
-
version "0.1.1"
3138
-
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
3139
-
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
2977
+
parse5@6.0.1:
2978
+
version "6.0.1"
2979
+
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
2980
+
integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
3140
2981
3141
2982
path-exists@^4.0.0:
3142
2983
version "4.0.0"
···
3148
2989
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
3149
2990
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
3150
2991
3151
-
path-key@^2.0.0, path-key@^2.0.1:
2992
+
path-key@^2.0.1:
3152
2993
version "2.0.1"
3153
2994
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
3154
2995
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
···
3175
3016
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
3176
3017
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
3177
3018
3178
-
performance-now@^2.1.0:
3179
-
version "2.1.0"
3180
-
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
3181
-
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
3182
-
3183
-
picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.2:
3019
+
picomatch@^2.0.4, picomatch@^2.2.2:
3184
3020
version "2.2.2"
3185
3021
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
3186
3022
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
3023
+
3024
+
picomatch@^2.2.3:
3025
+
version "2.3.0"
3026
+
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
3027
+
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
3187
3028
3188
3029
pidtree@^0.3.0:
3189
3030
version "0.3.1"
···
3209
3050
dependencies:
3210
3051
find-up "^4.0.0"
3211
3052
3053
+
pkg-dir@^5.0.0:
3054
+
version "5.0.0"
3055
+
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
3056
+
integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
3057
+
dependencies:
3058
+
find-up "^5.0.0"
3059
+
3212
3060
please-upgrade-node@^3.2.0:
3213
3061
version "3.2.0"
3214
3062
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
···
3216
3064
dependencies:
3217
3065
semver-compare "^1.0.0"
3218
3066
3219
-
posix-character-classes@^0.1.0:
3220
-
version "0.1.1"
3221
-
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
3222
-
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
3223
-
3224
3067
prelude-ls@~1.1.2:
3225
3068
version "1.1.2"
3226
3069
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
3227
3070
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
3228
3071
3229
-
prettier@^2.0.5:
3230
-
version "2.0.5"
3231
-
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
3232
-
integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
3072
+
prettier@^2.3.2:
3073
+
version "2.3.2"
3074
+
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d"
3075
+
integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==
3233
3076
3234
-
pretty-format@^26.0.1:
3235
-
version "26.0.1"
3236
-
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.0.1.tgz#a4fe54fe428ad2fd3413ca6bbd1ec8c2e277e197"
3237
-
integrity sha512-SWxz6MbupT3ZSlL0Po4WF/KujhQaVehijR2blyRDCzk9e45EaYMVhMBn49fnRuHxtkSpXTes1GxNpVmH86Bxfw==
3077
+
pretty-format@^27.1.0:
3078
+
version "27.1.0"
3079
+
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.1.0.tgz#022f3fdb19121e0a2612f3cff8d724431461b9ca"
3080
+
integrity sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==
3238
3081
dependencies:
3239
-
"@jest/types" "^26.0.1"
3082
+
"@jest/types" "^27.1.0"
3240
3083
ansi-regex "^5.0.0"
3241
-
ansi-styles "^4.0.0"
3242
-
react-is "^16.12.0"
3084
+
ansi-styles "^5.0.0"
3085
+
react-is "^17.0.1"
3086
+
3087
+
process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
3088
+
version "2.0.1"
3089
+
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
3090
+
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
3243
3091
3244
3092
prompts@^2.0.1:
3245
3093
version "2.3.2"
···
3249
3097
kleur "^3.0.3"
3250
3098
sisteransi "^1.0.4"
3251
3099
3252
-
psl@^1.1.28:
3100
+
psl@^1.1.33:
3253
3101
version "1.8.0"
3254
3102
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
3255
3103
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
3256
3104
3257
-
pump@^3.0.0:
3258
-
version "3.0.0"
3259
-
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
3260
-
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
3261
-
dependencies:
3262
-
end-of-stream "^1.1.0"
3263
-
once "^1.3.1"
3264
-
3265
-
punycode@^2.1.0, punycode@^2.1.1:
3105
+
punycode@^2.1.1:
3266
3106
version "2.1.1"
3267
3107
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
3268
3108
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
3269
3109
3270
-
qs@~6.5.2:
3271
-
version "6.5.2"
3272
-
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
3273
-
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
3274
-
3275
-
react-is@^16.12.0:
3276
-
version "16.13.1"
3277
-
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
3278
-
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
3279
-
3280
-
read-pkg-up@^7.0.1:
3281
-
version "7.0.1"
3282
-
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
3283
-
integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
3284
-
dependencies:
3285
-
find-up "^4.1.0"
3286
-
read-pkg "^5.2.0"
3287
-
type-fest "^0.8.1"
3110
+
react-is@^17.0.1:
3111
+
version "17.0.2"
3112
+
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
3113
+
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
3288
3114
3289
3115
read-pkg@^3.0.0:
3290
3116
version "3.0.0"
···
3295
3121
normalize-package-data "^2.3.2"
3296
3122
path-type "^3.0.0"
3297
3123
3298
-
read-pkg@^5.2.0:
3299
-
version "5.2.0"
3300
-
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
3301
-
integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
3124
+
readable-stream@^2.3.5:
3125
+
version "2.3.7"
3126
+
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
3127
+
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
3302
3128
dependencies:
3303
-
"@types/normalize-package-data" "^2.4.0"
3304
-
normalize-package-data "^2.5.0"
3305
-
parse-json "^5.0.0"
3306
-
type-fest "^0.6.0"
3129
+
core-util-is "~1.0.0"
3130
+
inherits "~2.0.3"
3131
+
isarray "~1.0.0"
3132
+
process-nextick-args "~2.0.0"
3133
+
safe-buffer "~5.1.1"
3134
+
string_decoder "~1.1.1"
3135
+
util-deprecate "~1.0.1"
3307
3136
3308
3137
regenerate-unicode-properties@^8.0.2:
3309
3138
version "8.2.0"
···
3317
3146
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
3318
3147
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
3319
3148
3320
-
regex-not@^1.0.0, regex-not@^1.0.2:
3321
-
version "1.0.2"
3322
-
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
3323
-
integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
3324
-
dependencies:
3325
-
extend-shallow "^3.0.2"
3326
-
safe-regex "^1.1.0"
3327
-
3328
3149
regexpu-core@4.5.4:
3329
3150
version "4.5.4"
3330
3151
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
···
3354
3175
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
3355
3176
integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
3356
3177
3357
-
repeat-element@^1.1.2:
3358
-
version "1.1.3"
3359
-
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
3360
-
integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
3361
-
3362
-
repeat-string@^1.6.1:
3363
-
version "1.6.1"
3364
-
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
3365
-
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
3366
-
3367
-
request-promise-core@1.1.3:
3368
-
version "1.1.3"
3369
-
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9"
3370
-
integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==
3371
-
dependencies:
3372
-
lodash "^4.17.15"
3373
-
3374
-
request-promise-native@^1.0.8:
3375
-
version "1.0.8"
3376
-
resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36"
3377
-
integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==
3378
-
dependencies:
3379
-
request-promise-core "1.1.3"
3380
-
stealthy-require "^1.1.1"
3381
-
tough-cookie "^2.3.3"
3382
-
3383
-
request@^2.88.2:
3384
-
version "2.88.2"
3385
-
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
3386
-
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
3387
-
dependencies:
3388
-
aws-sign2 "~0.7.0"
3389
-
aws4 "^1.8.0"
3390
-
caseless "~0.12.0"
3391
-
combined-stream "~1.0.6"
3392
-
extend "~3.0.2"
3393
-
forever-agent "~0.6.1"
3394
-
form-data "~2.3.2"
3395
-
har-validator "~5.1.3"
3396
-
http-signature "~1.2.0"
3397
-
is-typedarray "~1.0.0"
3398
-
isstream "~0.1.2"
3399
-
json-stringify-safe "~5.0.1"
3400
-
mime-types "~2.1.19"
3401
-
oauth-sign "~0.9.0"
3402
-
performance-now "^2.1.0"
3403
-
qs "~6.5.2"
3404
-
safe-buffer "^5.1.2"
3405
-
tough-cookie "~2.5.0"
3406
-
tunnel-agent "^0.6.0"
3407
-
uuid "^3.3.2"
3178
+
replace-ext@^1.0.0:
3179
+
version "1.0.1"
3180
+
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a"
3181
+
integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==
3408
3182
3409
3183
require-directory@^2.1.1:
3410
3184
version "2.1.1"
3411
3185
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
3412
3186
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
3413
3187
3414
-
require-main-filename@^2.0.0:
3415
-
version "2.0.0"
3416
-
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
3417
-
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
3418
-
3419
3188
resolve-cwd@^3.0.0:
3420
3189
version "3.0.0"
3421
3190
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
···
3433
3202
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
3434
3203
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
3435
3204
3436
-
resolve-url@^0.2.1:
3437
-
version "0.2.1"
3438
-
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
3439
-
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
3440
-
3441
-
resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.3.2:
3205
+
resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2:
3442
3206
version "1.17.0"
3443
3207
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
3444
3208
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
3445
3209
dependencies:
3446
3210
path-parse "^1.0.6"
3447
3211
3212
+
resolve@^1.19.0, resolve@^1.20.0:
3213
+
version "1.20.0"
3214
+
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
3215
+
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
3216
+
dependencies:
3217
+
is-core-module "^2.2.0"
3218
+
path-parse "^1.0.6"
3219
+
3448
3220
restore-cursor@^3.1.0:
3449
3221
version "3.1.0"
3450
3222
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
···
3453
3225
onetime "^5.1.0"
3454
3226
signal-exit "^3.0.2"
3455
3227
3456
-
ret@~0.1.10:
3457
-
version "0.1.15"
3458
-
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
3459
-
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
3460
-
3461
3228
rimraf@^3.0.0, rimraf@^3.0.2:
3462
3229
version "3.0.2"
3463
3230
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
···
3465
3232
dependencies:
3466
3233
glob "^7.1.3"
3467
3234
3468
-
rollup-plugin-babel@^4.4.0:
3469
-
version "4.4.0"
3470
-
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb"
3471
-
integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==
3472
-
dependencies:
3473
-
"@babel/helper-module-imports" "^7.0.0"
3474
-
rollup-pluginutils "^2.8.1"
3475
-
3476
-
rollup-pluginutils@^2.8.1:
3477
-
version "2.8.2"
3478
-
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
3479
-
integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
3480
-
dependencies:
3481
-
estree-walker "^0.6.1"
3482
-
3483
-
rollup@^2.10.2:
3484
-
version "2.10.2"
3485
-
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.10.2.tgz#9adfcf8ab36861b5b0f8ca7b436f5866e3e9e200"
3486
-
integrity sha512-tivFM8UXBlYOUqpBYD3pRktYpZvK/eiCQ190eYlrAyrpE/lzkyG2gbawroNdbwmzyUc7Y4eT297xfzv0BDh9qw==
3235
+
rollup@^2.56.3:
3236
+
version "2.56.3"
3237
+
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.56.3.tgz#b63edadd9851b0d618a6d0e6af8201955a77aeff"
3238
+
integrity sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==
3487
3239
optionalDependencies:
3488
-
fsevents "~2.1.2"
3489
-
3490
-
rsvp@^4.8.4:
3491
-
version "4.8.5"
3492
-
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
3493
-
integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
3240
+
fsevents "~2.3.2"
3494
3241
3495
-
rxjs@^6.3.3:
3496
-
version "6.5.5"
3497
-
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"
3498
-
integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==
3242
+
rxjs@^6.6.7:
3243
+
version "6.6.7"
3244
+
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
3245
+
integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
3499
3246
dependencies:
3500
3247
tslib "^1.9.0"
3501
3248
3502
-
safe-buffer@^5.0.1, safe-buffer@^5.1.2:
3503
-
version "5.2.1"
3504
-
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
3505
-
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
3506
-
3507
-
safe-buffer@~5.1.1:
3249
+
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
3508
3250
version "5.1.2"
3509
3251
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
3510
3252
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
3511
3253
3512
-
safe-regex@^1.1.0:
3513
-
version "1.1.0"
3514
-
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
3515
-
integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
3516
-
dependencies:
3517
-
ret "~0.1.10"
3518
-
3519
-
"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
3254
+
"safer-buffer@>= 2.1.2 < 3":
3520
3255
version "2.1.2"
3521
3256
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
3522
3257
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
3523
3258
3524
-
sane@^4.0.3:
3525
-
version "4.1.0"
3526
-
resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded"
3527
-
integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==
3528
-
dependencies:
3529
-
"@cnakazawa/watch" "^1.0.3"
3530
-
anymatch "^2.0.0"
3531
-
capture-exit "^2.0.0"
3532
-
exec-sh "^0.3.2"
3533
-
execa "^1.0.0"
3534
-
fb-watchman "^2.0.0"
3535
-
micromatch "^3.1.4"
3536
-
minimist "^1.1.1"
3537
-
walker "~1.0.5"
3538
-
3539
-
saxes@^5.0.0:
3259
+
saxes@^5.0.1:
3540
3260
version "5.0.1"
3541
3261
resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
3542
3262
integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
···
3548
3268
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
3549
3269
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
3550
3270
3551
-
semver-regex@^2.0.0:
3552
-
version "2.0.0"
3553
-
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
3554
-
integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
3271
+
semver-regex@^3.1.2:
3272
+
version "3.1.2"
3273
+
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807"
3274
+
integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==
3555
3275
3556
3276
"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0:
3557
3277
version "5.7.1"
···
3563
3283
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
3564
3284
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
3565
3285
3566
-
semver@^7.2.1, semver@^7.3.2:
3286
+
semver@^7.3.2:
3567
3287
version "7.3.2"
3568
3288
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
3569
3289
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
3570
3290
3571
-
set-blocking@^2.0.0:
3572
-
version "2.0.0"
3573
-
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
3574
-
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
3575
-
3576
-
set-value@^2.0.0, set-value@^2.0.1:
3577
-
version "2.0.1"
3578
-
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
3579
-
integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
3580
-
dependencies:
3581
-
extend-shallow "^2.0.1"
3582
-
is-extendable "^0.1.1"
3583
-
is-plain-object "^2.0.3"
3584
-
split-string "^3.0.1"
3585
-
3586
3291
shebang-command@^1.2.0:
3587
3292
version "1.2.0"
3588
3293
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
···
3612
3317
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
3613
3318
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
3614
3319
3615
-
shellwords@^0.1.1:
3616
-
version "0.1.1"
3617
-
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
3618
-
integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
3619
-
3620
-
signal-exit@^3.0.0, signal-exit@^3.0.2:
3320
+
signal-exit@^3.0.2, signal-exit@^3.0.3:
3621
3321
version "3.0.3"
3622
3322
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
3623
3323
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
···
3650
3350
astral-regex "^2.0.0"
3651
3351
is-fullwidth-code-point "^3.0.0"
3652
3352
3653
-
snapdragon-node@^2.0.1:
3654
-
version "2.1.1"
3655
-
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
3656
-
integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
3657
-
dependencies:
3658
-
define-property "^1.0.0"
3659
-
isobject "^3.0.0"
3660
-
snapdragon-util "^3.0.1"
3661
-
3662
-
snapdragon-util@^3.0.1:
3663
-
version "3.0.1"
3664
-
resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
3665
-
integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
3666
-
dependencies:
3667
-
kind-of "^3.2.0"
3668
-
3669
-
snapdragon@^0.8.1:
3670
-
version "0.8.2"
3671
-
resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
3672
-
integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
3673
-
dependencies:
3674
-
base "^0.11.1"
3675
-
debug "^2.2.0"
3676
-
define-property "^0.2.5"
3677
-
extend-shallow "^2.0.1"
3678
-
map-cache "^0.2.2"
3679
-
source-map "^0.5.6"
3680
-
source-map-resolve "^0.5.0"
3681
-
use "^3.1.0"
3682
-
3683
-
source-map-resolve@^0.5.0:
3684
-
version "0.5.3"
3685
-
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
3686
-
integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
3687
-
dependencies:
3688
-
atob "^2.1.2"
3689
-
decode-uri-component "^0.2.0"
3690
-
resolve-url "^0.2.1"
3691
-
source-map-url "^0.4.0"
3692
-
urix "^0.1.0"
3693
-
3694
3353
source-map-support@^0.5.6:
3695
3354
version "0.5.19"
3696
3355
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
···
3699
3358
buffer-from "^1.0.0"
3700
3359
source-map "^0.6.0"
3701
3360
3702
-
source-map-url@^0.4.0:
3703
-
version "0.4.0"
3704
-
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
3705
-
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
3706
-
3707
-
source-map@^0.5.0, source-map@^0.5.6:
3361
+
source-map@^0.5.0, source-map@^0.5.1:
3708
3362
version "0.5.7"
3709
3363
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
3710
3364
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
···
3719
3373
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
3720
3374
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
3721
3375
3722
-
sourcemap-codec@^1.4.4:
3376
+
sourcemap-codec@1.4.8, sourcemap-codec@^1.4.4:
3723
3377
version "1.4.8"
3724
3378
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
3725
3379
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
···
3750
3404
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
3751
3405
integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
3752
3406
3753
-
split-string@^3.0.1, split-string@^3.0.2:
3754
-
version "3.1.0"
3755
-
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
3756
-
integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
3757
-
dependencies:
3758
-
extend-shallow "^3.0.0"
3759
-
3760
3407
sprintf-js@~1.0.2:
3761
3408
version "1.0.3"
3762
3409
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
3763
3410
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
3764
3411
3765
-
sshpk@^1.7.0:
3766
-
version "1.16.1"
3767
-
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
3768
-
integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
3769
-
dependencies:
3770
-
asn1 "~0.2.3"
3771
-
assert-plus "^1.0.0"
3772
-
bcrypt-pbkdf "^1.0.0"
3773
-
dashdash "^1.12.0"
3774
-
ecc-jsbn "~0.1.1"
3775
-
getpass "^0.1.1"
3776
-
jsbn "~0.1.0"
3777
-
safer-buffer "^2.0.2"
3778
-
tweetnacl "~0.14.0"
3779
-
3780
-
stack-utils@^2.0.2:
3781
-
version "2.0.2"
3782
-
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593"
3783
-
integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==
3412
+
stack-utils@^2.0.3:
3413
+
version "2.0.3"
3414
+
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277"
3415
+
integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==
3784
3416
dependencies:
3785
3417
escape-string-regexp "^2.0.0"
3786
-
3787
-
static-extend@^0.1.1:
3788
-
version "0.1.2"
3789
-
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
3790
-
integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
3791
-
dependencies:
3792
-
define-property "^0.2.5"
3793
-
object-copy "^0.1.0"
3794
-
3795
-
stealthy-require@^1.1.1:
3796
-
version "1.1.1"
3797
-
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
3798
-
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
3799
3418
3800
3419
string-argv@0.3.1:
3801
3420
version "0.3.1"
···
3861
3480
define-properties "^1.1.3"
3862
3481
es-abstract "^1.17.5"
3863
3482
3483
+
string_decoder@~1.1.1:
3484
+
version "1.1.1"
3485
+
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
3486
+
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
3487
+
dependencies:
3488
+
safe-buffer "~5.1.0"
3489
+
3864
3490
stringify-object@^3.3.0:
3865
3491
version "3.3.0"
3866
3492
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
···
3887
3513
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
3888
3514
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
3889
3515
3890
-
strip-eof@^1.0.0:
3891
-
version "1.0.0"
3892
-
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
3893
-
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
3894
-
3895
3516
strip-final-newline@^2.0.0:
3896
3517
version "2.0.0"
3897
3518
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
3898
3519
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
3899
3520
3521
+
sucrase@^3.18.0:
3522
+
version "3.20.1"
3523
+
resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.20.1.tgz#1c055e97d0fab2f9857f02461364075b3a4ab226"
3524
+
integrity sha512-BIG59HaJOxNct9Va6KvT5yzBA/rcMGetzvZyTx0ZdCcspIbpJTPS64zuAfYlJuOj+3WaI5JOdA+F0bJQQi8ZiQ==
3525
+
dependencies:
3526
+
commander "^4.0.0"
3527
+
glob "7.1.6"
3528
+
lines-and-columns "^1.1.6"
3529
+
mz "^2.7.0"
3530
+
pirates "^4.0.1"
3531
+
ts-interface-checker "^0.1.9"
3532
+
3900
3533
supports-color@^5.3.0:
3901
3534
version "5.5.0"
3902
3535
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
···
3911
3544
dependencies:
3912
3545
has-flag "^4.0.0"
3913
3546
3547
+
supports-color@^8.0.0:
3548
+
version "8.1.1"
3549
+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
3550
+
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
3551
+
dependencies:
3552
+
has-flag "^4.0.0"
3553
+
3914
3554
supports-hyperlinks@^2.0.0:
3915
3555
version "2.1.0"
3916
3556
resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
···
3941
3581
glob "^7.1.4"
3942
3582
minimatch "^3.0.4"
3943
3583
3944
-
throat@^5.0.0:
3945
-
version "5.0.0"
3946
-
resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
3947
-
integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
3584
+
thenify-all@^1.0.0:
3585
+
version "1.6.0"
3586
+
resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
3587
+
integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=
3588
+
dependencies:
3589
+
thenify ">= 3.1.0 < 4"
3590
+
3591
+
"thenify@>= 3.1.0 < 4":
3592
+
version "3.3.1"
3593
+
resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
3594
+
integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
3595
+
dependencies:
3596
+
any-promise "^1.0.0"
3597
+
3598
+
throat@^6.0.1:
3599
+
version "6.0.1"
3600
+
resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
3601
+
integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==
3948
3602
3949
3603
through@^2.3.8:
3950
3604
version "2.3.8"
···
3961
3615
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
3962
3616
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
3963
3617
3964
-
to-object-path@^0.3.0:
3965
-
version "0.3.0"
3966
-
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
3967
-
integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
3968
-
dependencies:
3969
-
kind-of "^3.0.2"
3970
-
3971
-
to-regex-range@^2.1.0:
3972
-
version "2.1.1"
3973
-
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
3974
-
integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
3975
-
dependencies:
3976
-
is-number "^3.0.0"
3977
-
repeat-string "^1.6.1"
3978
-
3979
3618
to-regex-range@^5.0.1:
3980
3619
version "5.0.1"
3981
3620
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
···
3983
3622
dependencies:
3984
3623
is-number "^7.0.0"
3985
3624
3986
-
to-regex@^3.0.1, to-regex@^3.0.2:
3987
-
version "3.0.2"
3988
-
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
3989
-
integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
3990
-
dependencies:
3991
-
define-property "^2.0.2"
3992
-
extend-shallow "^3.0.2"
3993
-
regex-not "^1.0.2"
3994
-
safe-regex "^1.1.0"
3995
-
3996
-
tough-cookie@^2.3.3, tough-cookie@~2.5.0:
3997
-
version "2.5.0"
3998
-
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
3999
-
integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
4000
-
dependencies:
4001
-
psl "^1.1.28"
4002
-
punycode "^2.1.1"
4003
-
4004
-
tough-cookie@^3.0.1:
4005
-
version "3.0.1"
4006
-
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2"
4007
-
integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==
3625
+
tough-cookie@^4.0.0:
3626
+
version "4.0.0"
3627
+
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
3628
+
integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==
4008
3629
dependencies:
4009
-
ip-regex "^2.1.0"
4010
-
psl "^1.1.28"
3630
+
psl "^1.1.33"
4011
3631
punycode "^2.1.1"
3632
+
universalify "^0.1.2"
4012
3633
4013
3634
tr46@^2.0.2:
4014
3635
version "2.0.2"
···
4017
3638
dependencies:
4018
3639
punycode "^2.1.1"
4019
3640
3641
+
tr46@^2.1.0:
3642
+
version "2.1.0"
3643
+
resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
3644
+
integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==
3645
+
dependencies:
3646
+
punycode "^2.1.1"
3647
+
3648
+
ts-interface-checker@^0.1.9:
3649
+
version "0.1.13"
3650
+
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
3651
+
integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
3652
+
4020
3653
tslib@^1.9.0:
4021
3654
version "1.13.0"
4022
3655
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
4023
3656
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
4024
3657
4025
-
tunnel-agent@^0.6.0:
4026
-
version "0.6.0"
4027
-
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
4028
-
integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
4029
-
dependencies:
4030
-
safe-buffer "^5.0.1"
4031
-
4032
-
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
4033
-
version "0.14.5"
4034
-
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
4035
-
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
4036
-
4037
3658
type-check@~0.3.2:
4038
3659
version "0.3.2"
4039
3660
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
···
4050
3671
version "0.11.0"
4051
3672
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
4052
3673
integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
4053
-
4054
-
type-fest@^0.6.0:
4055
-
version "0.6.0"
4056
-
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
4057
-
integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
4058
-
4059
-
type-fest@^0.8.1:
4060
-
version "0.8.1"
4061
-
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
4062
-
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
4063
3674
4064
3675
typedarray-to-buffer@^3.1.5:
4065
3676
version "3.1.5"
···
4091
3702
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
4092
3703
integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
4093
3704
4094
-
union-value@^1.0.0:
4095
-
version "1.0.1"
4096
-
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
4097
-
integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
4098
-
dependencies:
4099
-
arr-union "^3.1.0"
4100
-
get-value "^2.0.6"
4101
-
is-extendable "^0.1.1"
4102
-
set-value "^2.0.1"
4103
-
4104
-
unset-value@^1.0.0:
4105
-
version "1.0.0"
4106
-
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
4107
-
integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
4108
-
dependencies:
4109
-
has-value "^0.3.1"
4110
-
isobject "^3.0.0"
4111
-
4112
-
uri-js@^4.2.2:
4113
-
version "4.2.2"
4114
-
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
4115
-
integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
4116
-
dependencies:
4117
-
punycode "^2.1.0"
4118
-
4119
-
urix@^0.1.0:
4120
-
version "0.1.0"
4121
-
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
4122
-
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
3705
+
universalify@^0.1.2:
3706
+
version "0.1.2"
3707
+
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
3708
+
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
4123
3709
4124
-
use@^3.1.0:
4125
-
version "3.1.1"
4126
-
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
4127
-
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
4128
-
4129
-
uuid@^3.3.2:
4130
-
version "3.4.0"
4131
-
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
4132
-
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
3710
+
util-deprecate@~1.0.1:
3711
+
version "1.0.2"
3712
+
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
3713
+
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
4133
3714
4134
-
uuid@^7.0.2, uuid@^7.0.3:
4135
-
version "7.0.3"
4136
-
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
4137
-
integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
3715
+
uuid@8.1.0:
3716
+
version "8.1.0"
3717
+
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.1.0.tgz#6f1536eb43249f473abc6bd58ff983da1ca30d8d"
3718
+
integrity sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==
4138
3719
4139
-
v8-to-istanbul@^4.1.3:
4140
-
version "4.1.4"
4141
-
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
4142
-
integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==
3720
+
v8-to-istanbul@^8.0.0:
3721
+
version "8.0.0"
3722
+
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz#4229f2a99e367f3f018fa1d5c2b8ec684667c69c"
3723
+
integrity sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==
4143
3724
dependencies:
4144
3725
"@types/istanbul-lib-coverage" "^2.0.1"
4145
3726
convert-source-map "^1.6.0"
···
4153
3734
spdx-correct "^3.0.0"
4154
3735
spdx-expression-parse "^3.0.0"
4155
3736
4156
-
verror@1.10.0:
4157
-
version "1.10.0"
4158
-
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
4159
-
integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
3737
+
vinyl-sourcemaps-apply@^0.2.0:
3738
+
version "0.2.1"
3739
+
resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
3740
+
integrity sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=
4160
3741
dependencies:
4161
-
assert-plus "^1.0.0"
4162
-
core-util-is "1.0.2"
4163
-
extsprintf "^1.2.0"
3742
+
source-map "^0.5.1"
3743
+
3744
+
vinyl@2.x:
3745
+
version "2.2.1"
3746
+
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974"
3747
+
integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==
3748
+
dependencies:
3749
+
clone "^2.1.1"
3750
+
clone-buffer "^1.0.0"
3751
+
clone-stats "^1.0.0"
3752
+
cloneable-readable "^1.0.0"
3753
+
remove-trailing-separator "^1.0.1"
3754
+
replace-ext "^1.0.0"
4164
3755
4165
3756
w3c-hr-time@^1.0.2:
4166
3757
version "1.0.2"
···
4176
3767
dependencies:
4177
3768
xml-name-validator "^3.0.0"
4178
3769
4179
-
walker@^1.0.7, walker@~1.0.5:
3770
+
walker@^1.0.7:
4180
3771
version "1.0.7"
4181
3772
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
4182
3773
integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=
4183
3774
dependencies:
4184
3775
makeerror "1.0.x"
4185
3776
4186
-
wcwidth@^1.0.1:
4187
-
version "1.0.1"
4188
-
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
4189
-
integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
4190
-
dependencies:
4191
-
defaults "^1.0.3"
4192
-
4193
3777
webidl-conversions@^5.0.0:
4194
3778
version "5.0.0"
4195
3779
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
4196
3780
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
4197
3781
4198
-
webidl-conversions@^6.0.0:
3782
+
webidl-conversions@^6.1.0:
4199
3783
version "6.1.0"
4200
3784
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
4201
3785
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
···
4221
3805
tr46 "^2.0.2"
4222
3806
webidl-conversions "^5.0.0"
4223
3807
4224
-
which-module@^2.0.0:
4225
-
version "2.0.0"
4226
-
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
4227
-
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
3808
+
whatwg-url@^8.5.0:
3809
+
version "8.7.0"
3810
+
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
3811
+
integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
3812
+
dependencies:
3813
+
lodash "^4.7.0"
3814
+
tr46 "^2.1.0"
3815
+
webidl-conversions "^6.1.0"
4228
3816
4229
3817
which-pm-runs@^1.0.0:
4230
3818
version "1.0.0"
···
4238
3826
dependencies:
4239
3827
isexe "^2.0.0"
4240
3828
4241
-
which@^2.0.1, which@^2.0.2:
3829
+
which@^2.0.1:
4242
3830
version "2.0.2"
4243
3831
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
4244
3832
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
···
4259
3847
string-width "^4.1.0"
4260
3848
strip-ansi "^6.0.0"
4261
3849
3850
+
wrap-ansi@^7.0.0:
3851
+
version "7.0.0"
3852
+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
3853
+
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
3854
+
dependencies:
3855
+
ansi-styles "^4.0.0"
3856
+
string-width "^4.1.0"
3857
+
strip-ansi "^6.0.0"
3858
+
4262
3859
wrappy@1:
4263
3860
version "1.0.2"
4264
3861
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
···
4274
3871
signal-exit "^3.0.2"
4275
3872
typedarray-to-buffer "^3.1.5"
4276
3873
4277
-
ws@^7.2.3:
4278
-
version "7.3.0"
4279
-
resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd"
4280
-
integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==
3874
+
ws@^7.4.6:
3875
+
version "7.5.3"
3876
+
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
3877
+
integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
4281
3878
4282
3879
xml-name-validator@^3.0.0:
4283
3880
version "3.0.0"
···
4289
3886
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
4290
3887
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
4291
3888
4292
-
y18n@^4.0.0:
4293
-
version "4.0.0"
4294
-
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
4295
-
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
3889
+
y18n@^5.0.5:
3890
+
version "5.0.8"
3891
+
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
3892
+
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
4296
3893
4297
-
yaml@^1.7.2:
4298
-
version "1.10.0"
4299
-
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
4300
-
integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
3894
+
yaml@^1.10.0:
3895
+
version "1.10.2"
3896
+
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
3897
+
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
4301
3898
4302
-
yargs-parser@^18.1.1:
4303
-
version "18.1.3"
4304
-
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
4305
-
integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
4306
-
dependencies:
4307
-
camelcase "^5.0.0"
4308
-
decamelize "^1.2.0"
3899
+
yargs-parser@^20.2.2:
3900
+
version "20.2.9"
3901
+
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
3902
+
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
4309
3903
4310
-
yargs@^15.3.1:
4311
-
version "15.3.1"
4312
-
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b"
4313
-
integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==
3904
+
yargs@^16.0.3:
3905
+
version "16.2.0"
3906
+
resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
3907
+
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
4314
3908
dependencies:
4315
-
cliui "^6.0.0"
4316
-
decamelize "^1.2.0"
4317
-
find-up "^4.1.0"
4318
-
get-caller-file "^2.0.1"
3909
+
cliui "^7.0.2"
3910
+
escalade "^3.1.1"
3911
+
get-caller-file "^2.0.5"
4319
3912
require-directory "^2.1.1"
4320
-
require-main-filename "^2.0.0"
4321
-
set-blocking "^2.0.0"
4322
3913
string-width "^4.2.0"
4323
-
which-module "^2.0.0"
4324
-
y18n "^4.0.0"
4325
-
yargs-parser "^18.1.1"
3914
+
y18n "^5.0.5"
3915
+
yargs-parser "^20.2.2"
3916
+
3917
+
yocto-queue@^0.1.0:
3918
+
version "0.1.0"
3919
+
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
3920
+
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==