+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
+84
-20
README.md
+84
-20
README.md
···
10
<br />
11
</div>
12
13
-
Leveraging the power of sticky regexes and Babel code generation, `reghex` allows
14
you to code parsers quickly, by surrounding regular expressions with a regex-like
15
[DSL](https://en.wikipedia.org/wiki/Domain-specific_language).
16
···
30
npm install --save reghex
31
```
32
33
-
##### 2. Add the plugin to your Babel configuration (`.babelrc`, `babel.config.js`, or `package.json:babel`)
34
35
```json
36
{
···
41
Alternatively, you can set up [`babel-plugin-macros`](https://github.com/kentcdodds/babel-plugin-macros) and
42
import `reghex` from `"reghex/macro"` instead.
43
44
##### 3. Have fun writing parsers!
45
46
```js
47
-
import match, { parse } from 'reghex';
48
49
const name = match('name')`
50
${/\w+/}
···
99
100
## Authoring Guide
101
102
-
You can write "matchers" by importing the default import from `reghex` and
103
using it to write a matcher expression.
104
105
```js
106
-
import match from 'reghex';
107
108
const name = match('name')`
109
${/\w+/}
110
`;
111
```
112
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**.
116
117
`reghex` functions only with its Babel plugin, which will detect `match('name')`
118
and replace the entire tag with a parsing function, which may then look like
···
161
Let's extend our original example;
162
163
```js
164
-
import match from 'reghex';
165
166
const name = match('name')`
167
${/\w+/}
···
193
*/
194
```
195
196
### Regex-like DSL
197
198
We've seen in the previous examples that matchers are authored using tagged
···
208
in the parsed string. This is just one feature of the regex-like DSL. The
209
available operators are the following:
210
211
-
| Operator | Example | Description |
212
-
| -------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
213
-
| `?` | `${/1/}?` | An **optional** may be used to make an interpolation optional. This means 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 means 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 to apply one of the other operators to an entire group of interpolations. |
218
| `(?: )` | `(?: ${/1/})` | A **non-capturing group** is like a regular group, but the interpolations matched inside it don't appear in the parser's output. |
219
-
| `(?= )` | `(?= ${/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. |
220
| `(?! )` | `(?! ${/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
222
We can combine and compose these operators to create more complex matchers.
223
For instance, we can extend the original example to only allow a specific set
···
316
317
We've now entirely changed the output of the parser for this matcher. Given that each
318
matcher can change its output, we're free to change the parser's output entirely.
319
-
By **returning a falsy value** 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!
321
322
```js
323
-
import match, { parse } from 'reghex';
324
325
const name = match('name')((x) => {
326
return x[0] !== 'tim' ? x : undefined;
···
345
tag(['test'], 'node_name');
346
// ["test", .tag = "node_name"]
347
```
348
349
**That's it! May the RegExp be ever in your favor.**
···
10
<br />
11
</div>
12
13
+
Leveraging the power of sticky regexes and JS code generation, `reghex` allows
14
you to code parsers quickly, by surrounding regular expressions with a regex-like
15
[DSL](https://en.wikipedia.org/wiki/Domain-specific_language).
16
···
30
npm install --save reghex
31
```
32
33
+
##### 2. Add the plugin to your Babel configuration _(optional)_
34
+
35
+
In your `.babelrc`, `babel.config.js`, or `package.json:babel` add:
36
37
```json
38
{
···
43
Alternatively, you can set up [`babel-plugin-macros`](https://github.com/kentcdodds/babel-plugin-macros) and
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.
55
+
56
##### 3. Have fun writing parsers!
57
58
```js
59
+
import { match, parse } from 'reghex';
60
61
const name = match('name')`
62
${/\w+/}
···
111
112
## Authoring Guide
113
114
+
You can write "matchers" by importing the `match` import from `reghex` and
115
using it to write a matcher expression.
116
117
```js
118
+
import { match } from 'reghex';
119
120
const name = match('name')`
121
${/\w+/}
122
`;
123
```
124
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**.
127
128
`reghex` functions only with its Babel plugin, which will detect `match('name')`
129
and replace the entire tag with a parsing function, which may then look like
···
172
Let's extend our original example;
173
174
```js
175
+
import { match } from 'reghex';
176
177
const name = match('name')`
178
${/\w+/}
···
204
*/
205
```
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
+
225
### Regex-like DSL
226
227
We've seen in the previous examples that matchers are authored using tagged
···
237
in the parsed string. This is just one feature of the regex-like DSL. The
238
available operators are the following:
239
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. |
259
260
We can combine and compose these operators to create more complex matchers.
261
For instance, we can extend the original example to only allow a specific set
···
354
355
We've now entirely changed the output of the parser for this matcher. Given that each
356
matcher can change its output, we're free to change the parser's output entirely.
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!
359
360
```js
361
+
import { match, parse } from 'reghex';
362
363
const name = match('name')((x) => {
364
return x[0] !== 'tim' ? x : undefined;
···
383
tag(['test'], 'node_name');
384
// ["test", .tag = "node_name"]
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.
412
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
{
2
"name": "reghex",
3
-
"version": "1.0.2",
4
"description": "The magical sticky regex-based parser generator 🧙",
5
"author": "Phil Pluckthun <phil@kitten.sh>",
6
"license": "MIT",
7
"main": "dist/reghex-core",
8
"module": "dist/reghex-core.mjs",
9
"source": "src/core.js",
10
"files": [
11
"README.md",
12
"LICENSE.md",
···
21
"require": "./dist/reghex-core.js"
22
},
23
"./babel": {
24
-
"import": "./dist/reghex-babel.mjs",
25
"require": "./dist/reghex-babel.js"
26
},
27
"./macro": {
28
-
"import": "./dist/reghex-macro.mjs",
29
"require": "./dist/reghex-macro.js"
30
},
31
"./package.json": "./package.json"
···
48
"url": "https://github.com/kitten/reghex/issues"
49
},
50
"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",
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",
62
"npm-run-all": "^4.1.5",
63
-
"prettier": "^2.0.5",
64
"rimraf": "^3.0.2",
65
-
"rollup": "^2.10.2",
66
-
"rollup-plugin-babel": "^4.4.0"
67
},
68
"prettier": {
69
"singleQuote": true
···
79
"jest": {
80
"testEnvironment": "node",
81
"transform": {
82
-
"\\.js$": "<rootDir>/scripts/jest-transform-esm.js"
83
}
84
}
85
}
···
1
{
2
"name": "reghex",
3
+
"version": "3.0.2",
4
"description": "The magical sticky regex-based parser generator 🧙",
5
"author": "Phil Pluckthun <phil@kitten.sh>",
6
"license": "MIT",
7
"main": "dist/reghex-core",
8
"module": "dist/reghex-core.mjs",
9
"source": "src/core.js",
10
+
"sideEffects": false,
11
"files": [
12
"README.md",
13
"LICENSE.md",
···
22
"require": "./dist/reghex-core.js"
23
},
24
"./babel": {
25
"require": "./dist/reghex-babel.js"
26
},
27
"./macro": {
28
"require": "./dist/reghex-macro.js"
29
},
30
"./package.json": "./package.json"
···
47
"url": "https://github.com/kitten/reghex/issues"
48
},
49
"devDependencies": {
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
"@rollup/plugin-buble": "^0.21.3",
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",
64
"npm-run-all": "^4.1.5",
65
+
"prettier": "^2.3.2",
66
"rimraf": "^3.0.2",
67
+
"rollup": "^2.56.3"
68
},
69
"prettier": {
70
"singleQuote": true
···
80
"jest": {
81
"testEnvironment": "node",
82
"transform": {
83
+
"\\.js$": "@sucrase/jest-plugin"
84
}
85
}
86
}
+32
-19
rollup.config.js
+32
-19
rollup.config.js
···
1
import commonjs from '@rollup/plugin-commonjs';
2
import resolve from '@rollup/plugin-node-resolve';
3
import buble from '@rollup/plugin-buble';
4
-
import babel from 'rollup-plugin-babel';
5
6
const plugins = [
7
commonjs({
···
18
transforms: {
19
unicodeRegExp: false,
20
dangerousForOf: true,
21
-
dangerousTaggedTemplateString: true,
22
},
23
-
objectAssign: 'Object.assign',
24
exclude: 'node_modules/**',
25
}),
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
];
37
38
const output = (format = 'cjs', ext = '.js') => ({
···
47
freeze: false,
48
strict: false,
49
format,
50
});
51
52
-
export default {
53
-
input: {
54
-
core: './src/core.js',
55
-
babel: './src/babel/plugin.js',
56
-
macro: './src/babel/macro.js',
57
-
},
58
onwarn: () => {},
59
external: () => false,
60
treeshake: {
···
63
plugins,
64
output: [output('cjs', '.js'), output('esm', '.mjs')],
65
};
···
1
import commonjs from '@rollup/plugin-commonjs';
2
import resolve from '@rollup/plugin-node-resolve';
3
import buble from '@rollup/plugin-buble';
4
+
import compiler from '@ampproject/rollup-plugin-closure-compiler';
5
+
6
+
import simplifyJSTags from './scripts/simplify-jstags-plugin.js';
7
8
const plugins = [
9
commonjs({
···
20
transforms: {
21
unicodeRegExp: false,
22
dangerousForOf: true,
23
+
templateString: false,
24
},
25
exclude: 'node_modules/**',
26
}),
27
];
28
29
const output = (format = 'cjs', ext = '.js') => ({
···
38
freeze: false,
39
strict: false,
40
format,
41
+
plugins: [
42
+
simplifyJSTags(),
43
+
compiler({
44
+
formatting: 'PRETTY_PRINT',
45
+
compilation_level: 'SIMPLE_OPTIMIZATIONS',
46
+
}),
47
+
],
48
});
49
50
+
const base = {
51
onwarn: () => {},
52
external: () => false,
53
treeshake: {
···
56
plugins,
57
output: [output('cjs', '.js'), output('esm', '.mjs')],
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
+382
-125
src/babel/__snapshots__/plugin.test.js.snap
+382
-125
src/babel/__snapshots__/plugin.test.js.snap
···
1
// Jest Snapshot v1, https://goo.gl/fbAQLP
2
3
exports[`works together with @babel/plugin-transform-modules-commonjs 1`] = `
4
"\\"use strict\\";
5
6
var _reghex = require(\\"reghex\\");
7
8
-
var _node_expression = (0, _reghex._pattern)(1),
9
-
_node_expression2 = (0, _reghex._pattern)(2);
10
11
-
const node = function _node(state) {
12
-
var last_index = state.index;
13
-
var match,
14
-
node = [];
15
16
-
if (match = (0, _reghex._exec)(state, _node_expression)) {
17
-
node.push(match);
18
} else {
19
-
state.index = last_index;
20
return;
21
}
22
23
-
if (match = (0, _reghex._exec)(state, _node_expression2)) {
24
-
node.push(match);
25
} else {
26
-
state.index = last_index;
27
return;
28
}
29
30
-
return (0, _reghex.tag)(node, 'node');
31
};"
32
`;
33
34
exports[`works with local recursion 1`] = `
35
-
"import { tag, _exec, _substr, _pattern } from 'reghex';
36
37
-
const inner = function _inner(state) {
38
-
var last_index = state.index;
39
-
var match,
40
-
node = [];
41
42
-
if (match = _substr(state, \\"inner\\")) {
43
-
node.push(match);
44
} else {
45
-
state.index = last_index;
46
return;
47
}
48
49
-
return tag(node, 'inner');
50
};
51
52
-
const node = function _node(state) {
53
-
var last_index = state.index;
54
-
var match,
55
-
node = [];
56
57
-
if (match = inner(state)) {
58
-
node.push(match);
59
} else {
60
-
state.index = last_index;
61
return;
62
}
63
64
-
return tag(node, 'node');
65
};"
66
`;
67
68
exports[`works with non-capturing groups 1`] = `
69
-
"import { _exec, _substr, _pattern, tag as _tag } from 'reghex';
70
71
var _node_expression = _pattern(1),
72
_node_expression2 = _pattern(2),
73
_node_expression3 = _pattern(3);
74
75
-
const node = function _node(state) {
76
-
var last_index = state.index;
77
-
var match,
78
-
node = [];
79
80
-
if (match = _exec(state, _node_expression)) {
81
-
node.push(match);
82
} else {
83
-
state.index = last_index;
84
return;
85
}
86
87
-
var length_0 = node.length;
88
89
-
alternation_1: {
90
-
block_1: {
91
-
var index_1 = state.index;
92
93
-
if (match = _exec(state, _node_expression2)) {
94
-
node.push(match);
95
} else {
96
-
node.length = length_0;
97
-
state.index = index_1;
98
-
break block_1;
99
}
100
101
-
break alternation_1;
102
}
103
104
-
loop_1: for (var iter_1 = 0; true; iter_1++) {
105
-
var index_1 = state.index;
106
107
-
if (!_exec(state, _node_expression3)) {
108
-
if (iter_1) {
109
-
state.index = index_1;
110
-
break loop_1;
111
-
}
112
113
-
node.length = length_0;
114
-
state.index = last_index;
115
-
return;
116
}
117
}
118
}
119
120
-
return _tag(node, 'node');
121
};"
122
`;
123
124
exports[`works with standard features 1`] = `
125
-
"import { _exec, _substr, _pattern, tag as _tag } from \\"reghex\\";
126
127
var _node_expression = _pattern(1),
128
_node_expression2 = _pattern(2),
···
130
_node_expression4 = _pattern(4),
131
_node_expression5 = _pattern(5);
132
133
-
const node = function _node(state) {
134
-
var last_index = state.index;
135
-
var match,
136
-
node = [];
137
138
-
block_0: {
139
-
var index_0 = state.index;
140
141
-
loop_0: for (var iter_0 = 0; true; iter_0++) {
142
-
var index_0 = state.index;
143
144
-
if (match = _exec(state, _node_expression)) {
145
-
node.push(match);
146
-
} else {
147
-
if (iter_0) {
148
-
state.index = index_0;
149
-
break loop_0;
150
}
151
-
152
-
state.index = index_0;
153
-
break block_0;
154
}
155
-
}
156
157
-
return _tag(node, 'node');
158
-
}
159
-
160
-
loop_0: for (var iter_0 = 0; true; iter_0++) {
161
-
var index_0 = state.index;
162
163
-
if (match = _exec(state, _node_expression2)) {
164
-
node.push(match);
165
} else {
166
-
if (iter_0) {
167
-
state.index = index_0;
168
-
break loop_0;
169
-
}
170
-
171
-
state.index = last_index;
172
return;
173
}
174
-
}
175
176
-
loop_0: while (true) {
177
-
var index_0 = state.index;
178
-
var length_0 = node.length;
179
180
-
if (match = _exec(state, _node_expression3)) {
181
-
node.push(match);
182
-
} else {
183
-
node.length = length_0;
184
-
state.index = index_0;
185
-
break loop_0;
186
}
187
188
-
var index_2 = state.index;
189
190
-
if (match = _exec(state, _node_expression4)) {
191
-
node.push(match);
192
-
} else {
193
-
state.index = index_2;
194
-
}
195
196
-
if (match = _exec(state, _node_expression5)) {
197
-
node.push(match);
198
-
} else {
199
-
node.length = length_0;
200
-
state.index = index_0;
201
-
break loop_0;
202
}
203
}
204
205
-
return _tag(node, 'node');
206
};"
207
`;
208
209
exports[`works with transform functions 1`] = `
210
-
"import { _exec, _substr, _pattern, tag as _tag } from 'reghex';
211
212
var _inner_transform = x => x;
213
214
-
const first = function _inner(state) {
215
-
var last_index = state.index;
216
-
var match,
217
-
node = [];
218
-
return _inner_transform(_tag(node, 'inner'));
219
};
220
221
const transform = x => x;
222
223
-
const second = function _node(state) {
224
-
var last_index = state.index;
225
-
var match,
226
-
node = [];
227
-
return transform(_tag(node, 'node'));
228
};"
229
`;
···
1
// Jest Snapshot v1, https://goo.gl/fbAQLP
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
+
66
exports[`works together with @babel/plugin-transform-modules-commonjs 1`] = `
67
"\\"use strict\\";
68
69
var _reghex = require(\\"reghex\\");
70
71
+
var _node_expression = (0, _reghex.__pattern)(1),
72
+
_node_expression2 = (0, _reghex.__pattern)(2);
73
74
+
const node = function (state) {
75
+
var y1 = state.y,
76
+
x1 = state.x;
77
+
var node = [];
78
+
var x;
79
80
+
if ((x = _node_expression(state)) != null) {
81
+
node.push(x);
82
} else {
83
+
state.y = y1;
84
+
state.x = x1;
85
return;
86
}
87
88
+
if ((x = _node_expression2(state)) != null) {
89
+
node.push(x);
90
} else {
91
+
state.y = y1;
92
+
state.x = x1;
93
return;
94
}
95
96
+
if ('node') node.tag = 'node';
97
+
return node;
98
};"
99
`;
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
+
106
exports[`works with local recursion 1`] = `
107
+
"import { match as m, tag, __pattern as _pattern } from 'reghex';
108
109
+
var _inner_expression = _pattern(/inner/);
110
111
+
const inner = function (state) {
112
+
var y1 = state.y,
113
+
x1 = state.x;
114
+
var node = [];
115
+
var x;
116
+
117
+
if ((x = _inner_expression(state)) != null) {
118
+
node.push(x);
119
} else {
120
+
state.y = y1;
121
+
state.x = x1;
122
return;
123
}
124
125
+
if ('inner') node.tag = 'inner';
126
+
return node;
127
};
128
129
+
const node = function (state) {
130
+
var y1 = state.y,
131
+
x1 = state.x;
132
+
var node = [];
133
+
var x;
134
135
+
if ((x = inner(state)) != null) {
136
+
node.push(x);
137
} else {
138
+
state.y = y1;
139
+
state.x = x1;
140
return;
141
}
142
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;
250
};"
251
`;
252
253
exports[`works with non-capturing groups 1`] = `
254
+
"import { match, __pattern as _pattern } from 'reghex';
255
256
var _node_expression = _pattern(1),
257
_node_expression2 = _pattern(2),
258
_node_expression3 = _pattern(3);
259
260
+
const node = function (state) {
261
+
var y1 = state.y,
262
+
x1 = state.x;
263
+
var node = [];
264
+
var x;
265
266
+
if ((x = _node_expression(state)) != null) {
267
+
node.push(x);
268
} else {
269
+
state.y = y1;
270
+
state.x = x1;
271
return;
272
}
273
274
+
var ln2 = node.length;
275
276
+
alt_3: {
277
+
block_3: {
278
+
var y3 = state.y,
279
+
x3 = state.x;
280
281
+
if ((x = _node_expression2(state)) != null) {
282
+
node.push(x);
283
} else {
284
+
state.y = y3;
285
+
state.x = x3;
286
+
node.length = ln2;
287
+
break block_3;
288
}
289
290
+
break alt_3;
291
}
292
293
+
if ((x = _node_expression3(state)) == null) {
294
+
state.y = y1;
295
+
state.x = x1;
296
+
node.length = ln2;
297
+
return;
298
+
}
299
300
+
group_3: for (;;) {
301
+
var y3 = state.y,
302
+
x3 = state.x;
303
304
+
if ((x = _node_expression3(state)) == null) {
305
+
state.y = y3;
306
+
state.x = x3;
307
+
break group_3;
308
}
309
}
310
}
311
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;
354
};"
355
`;
356
357
exports[`works with standard features 1`] = `
358
+
"import { match, __pattern as _pattern } from \\"reghex\\";
359
360
var _node_expression = _pattern(1),
361
_node_expression2 = _pattern(2),
···
363
_node_expression4 = _pattern(4),
364
_node_expression5 = _pattern(5);
365
366
+
const node = function (state) {
367
+
var y1 = state.y,
368
+
x1 = state.x;
369
+
var node = [];
370
+
var x;
371
+
372
+
alt_2: {
373
+
block_2: {
374
+
var y2 = state.y,
375
+
x2 = state.x;
376
377
+
if ((x = _node_expression(state)) != null) {
378
+
node.push(x);
379
+
} else {
380
+
state.y = y2;
381
+
state.x = x2;
382
+
break block_2;
383
+
}
384
385
+
group_2: for (;;) {
386
+
var y2 = state.y,
387
+
x2 = state.x;
388
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
}
396
}
397
398
+
break alt_2;
399
+
}
400
401
+
if ((x = _node_expression2(state)) != null) {
402
+
node.push(x);
403
} else {
404
+
state.y = y1;
405
+
state.x = x1;
406
return;
407
}
408
409
+
group_2: for (;;) {
410
+
var y2 = state.y,
411
+
x2 = state.x;
412
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
+
}
420
}
421
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
+
}
454
}
455
}
456
457
+
if ('node') node.tag = 'node';
458
+
return node;
459
};"
460
`;
461
462
exports[`works with transform functions 1`] = `
463
+
"import { match, __pattern as _pattern } from 'reghex';
464
465
var _inner_transform = x => x;
466
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);
474
};
475
476
const transform = x => x;
477
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);
485
};"
486
`;
-591
src/babel/__tests__/suite.js
-591
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('longer negative lookahead group', () => {
540
-
const node = match('node')`${/1/} (?! ${/2/} ${/3/}) ${/\d/} ${/\d/}`;
541
-
it.each`
542
-
input | result | lastIndex
543
-
${'145'} | ${['1', '4', '5']} | ${3}
544
-
${'124'} | ${['1', '2', '4']} | ${3}
545
-
${'123'} | ${undefined} | ${0}
546
-
${'2'} | ${undefined} | ${0}
547
-
${'_'} | ${undefined} | ${0}
548
-
`(
549
-
'should return $result when $input is passed',
550
-
({ input, result, lastIndex }) => {
551
-
expectToParse(node, input, result, lastIndex);
552
-
}
553
-
);
554
-
});
555
-
556
-
describe('negative lookahead group with plus matcher', () => {
557
-
const node = match('node')`(?! ${/1/}+) ${/\d/}`;
558
-
it.each`
559
-
input | result | lastIndex
560
-
${'2'} | ${['2']} | ${1}
561
-
${'21'} | ${['2']} | ${1}
562
-
${'22'} | ${['2']} | ${1}
563
-
${'11'} | ${undefined} | ${0}
564
-
${'1'} | ${undefined} | ${0}
565
-
${'_'} | ${undefined} | ${0}
566
-
`(
567
-
'should return $result when $input is passed',
568
-
({ input, result, lastIndex }) => {
569
-
expectToParse(node, input, result, lastIndex);
570
-
}
571
-
);
572
-
});
573
-
574
-
describe('negative lookahead group with plus group and required matcher', () => {
575
-
const node = match('node')`(?! ${/1/}+ ${/2/}) ${/\d/}`;
576
-
it.each`
577
-
input | result | lastIndex
578
-
${'21'} | ${['2']} | ${1}
579
-
${'211'} | ${['2']} | ${1}
580
-
${'113'} | ${['1']} | ${1}
581
-
${'1'} | ${['1']} | ${1}
582
-
${'112'} | ${undefined} | ${0}
583
-
${'12'} | ${undefined} | ${0}
584
-
${'_'} | ${undefined} | ${0}
585
-
`(
586
-
'should return $result when $input is passed',
587
-
({ input, result, lastIndex }) => {
588
-
expectToParse(node, input, result, lastIndex);
589
-
}
590
-
);
591
-
});
···
-411
src/babel/generator.js
-411
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
-
198
-
if (ast.type === 'group' && !!ast.lookahead) {
199
-
this.restoreIndex = new RestoreIndexNode(indexId);
200
-
this.assignIndex = new AssignIndexNode(indexId);
201
-
}
202
-
203
-
if (ast.type === 'group' && ast.lookahead === 'negative') {
204
-
childOpts.abort = new AbortNode(invertId);
205
-
childOpts.restoreIndex = this.restoreIndex;
206
-
this.restoreIndex = opts.restoreIndex;
207
-
this.blockId = invertId;
208
-
this.abort = opts.abort;
209
-
}
210
-
211
-
if (quantifier && !quantifier.singular && quantifier.required) {
212
-
childOpts.abortCondition = new AbortConditionNode(iterId, {
213
-
...opts,
214
-
restoreIndex: new RestoreIndexNode(indexId),
215
-
abort: new AbortNode(loopId),
216
-
});
217
-
} else if (quantifier && !quantifier.singular) {
218
-
childOpts.restoreLength = null;
219
-
childOpts.restoreIndex = new RestoreIndexNode(indexId);
220
-
childOpts.abort = new AbortNode(loopId);
221
-
childOpts.abortCondition = null;
222
-
} else if (quantifier && !quantifier.required) {
223
-
childOpts.restoreIndex = new RestoreIndexNode(indexId);
224
-
childOpts.abortCondition = null;
225
-
childOpts.abort = null;
226
-
}
227
-
228
-
this.childNode = new ChildNode(ast, depth, childOpts);
229
-
}
230
-
231
-
statements() {
232
-
const { quantifier } = this.ast;
233
-
const loopId = t.identifier(`loop_${this.depth}`);
234
-
const iterId = t.identifier(`iter_${this.depth}`);
235
-
const indexId = t.identifier(`index_${this.depth}`);
236
-
const assignIndex = new AssignIndexNode(indexId);
237
-
238
-
let statements;
239
-
if (quantifier && !quantifier.singular && quantifier.required) {
240
-
statements = [
241
-
t.labeledStatement(
242
-
loopId,
243
-
t.forStatement(
244
-
t.variableDeclaration('var', [
245
-
t.variableDeclarator(iterId, t.numericLiteral(0)),
246
-
]),
247
-
t.booleanLiteral(true),
248
-
t.updateExpression('++', iterId),
249
-
t.blockStatement([
250
-
assignIndex.statement(),
251
-
...this.childNode.statements(),
252
-
])
253
-
)
254
-
),
255
-
];
256
-
} else if (quantifier && !quantifier.singular) {
257
-
statements = [
258
-
t.labeledStatement(
259
-
loopId,
260
-
t.whileStatement(
261
-
t.booleanLiteral(true),
262
-
t.blockStatement([
263
-
assignIndex.statement(),
264
-
...this.childNode.statements(),
265
-
])
266
-
)
267
-
),
268
-
];
269
-
} else if (quantifier && !quantifier.required) {
270
-
statements = [assignIndex.statement(), ...this.childNode.statements()];
271
-
} else {
272
-
statements = this.childNode.statements();
273
-
}
274
-
275
-
if (this.blockId && this.assignIndex && this.restoreIndex) {
276
-
statements = [
277
-
t.labeledStatement(
278
-
this.blockId,
279
-
t.blockStatement(
280
-
[
281
-
this.assignIndex.statement(),
282
-
...statements,
283
-
this.restoreIndex.statement(),
284
-
this.abort.statement(),
285
-
].filter(Boolean)
286
-
)
287
-
),
288
-
].filter(Boolean);
289
-
} else if (this.assignIndex && this.restoreIndex) {
290
-
statements.unshift(this.assignIndex.statement());
291
-
statements.push(this.restoreIndex.statement());
292
-
}
293
-
294
-
return statements;
295
-
}
296
-
}
297
-
298
-
/** Generates a matcher of a sequence of sub-matchers for a single sequence */
299
-
class SequenceNode {
300
-
constructor(ast, depth, opts) {
301
-
this.ast = ast;
302
-
this.depth = depth || 0;
303
-
304
-
const indexId = t.identifier(`index_${depth}`);
305
-
const blockId = t.identifier(`block_${this.depth}`);
306
-
307
-
this.returnStatement = opts.returnStatement;
308
-
this.assignIndex = ast.alternation ? new AssignIndexNode(indexId) : null;
309
-
310
-
this.quantifiers = ast.sequence.map((childAst) => {
311
-
return new QuantifierNode(childAst, depth, {
312
-
...opts,
313
-
restoreIndex: ast.alternation
314
-
? new RestoreIndexNode(indexId)
315
-
: opts.restoreIndex,
316
-
abortCondition: ast.alternation ? null : opts.abortCondition,
317
-
abort: ast.alternation ? new AbortNode(blockId) : opts.abort,
318
-
});
319
-
});
320
-
}
321
-
322
-
statements() {
323
-
const blockId = t.identifier(`block_${this.depth}`);
324
-
const alternationId = t.identifier(`alternation_${this.depth}`);
325
-
const statements = this.quantifiers.reduce((block, node) => {
326
-
block.push(...node.statements());
327
-
return block;
328
-
}, []);
329
-
330
-
if (!this.ast.alternation) {
331
-
return statements;
332
-
}
333
-
334
-
const abortNode =
335
-
this.depth === 0 ? this.returnStatement : t.breakStatement(alternationId);
336
-
337
-
return [
338
-
t.labeledStatement(
339
-
blockId,
340
-
t.blockStatement([
341
-
this.assignIndex && this.assignIndex.statement(),
342
-
...statements,
343
-
abortNode,
344
-
])
345
-
),
346
-
];
347
-
}
348
-
}
349
-
350
-
/** Generates matchers for sequences with (or without) alternations */
351
-
class AlternationNode {
352
-
constructor(ast, depth, opts) {
353
-
this.ast = ast;
354
-
this.depth = depth || 0;
355
-
this.sequences = [];
356
-
for (let current = ast; current; current = current.alternation) {
357
-
this.sequences.push(new SequenceNode(current, depth, opts));
358
-
}
359
-
}
360
-
361
-
statements() {
362
-
if (this.sequences.length === 1) {
363
-
return this.sequences[0].statements();
364
-
}
365
-
366
-
const statements = [];
367
-
for (let i = 0; i < this.sequences.length; i++) {
368
-
statements.push(...this.sequences[i].statements());
369
-
}
370
-
371
-
if (this.depth === 0) {
372
-
return statements;
373
-
}
374
-
375
-
const alternationId = t.identifier(`alternation_${this.depth}`);
376
-
return [t.labeledStatement(alternationId, t.blockStatement(statements))];
377
-
}
378
-
}
379
-
380
-
export class RootNode {
381
-
constructor(ast, nameNode, transformNode) {
382
-
const indexId = t.identifier('last_index');
383
-
const node = t.callExpression(ids.tag, [ids.node, nameNode]);
384
-
385
-
this.returnStatement = t.returnStatement(
386
-
transformNode ? t.callExpression(transformNode, [node]) : node
387
-
);
388
-
389
-
this.assignIndex = new AssignIndexNode(indexId);
390
-
this.node = new AlternationNode(ast, 0, {
391
-
returnStatement: this.returnStatement,
392
-
restoreIndex: new RestoreIndexNode(indexId, true),
393
-
restoreLength: null,
394
-
abortCondition: null,
395
-
abort: new AbortNode(),
396
-
capturing: true,
397
-
});
398
-
}
399
-
400
-
statements() {
401
-
return [
402
-
this.assignIndex.statement(),
403
-
t.variableDeclaration('var', [
404
-
t.variableDeclarator(ids.match),
405
-
t.variableDeclarator(ids.node, t.arrayExpression()),
406
-
]),
407
-
...this.node.statements(),
408
-
this.returnStatement,
409
-
];
410
-
}
411
-
}
···
+2
-2
src/babel/macro.js
+2
-2
src/babel/macro.js
+8
-3
src/babel/plugin.js
+8
-3
src/babel/plugin.js
···
1
import { makeHelpers } from './transform';
2
3
-
export default function reghexPlugin({ types }) {
4
let helpers;
5
6
return {
7
name: 'reghex',
8
visitor: {
9
Program() {
10
-
helpers = makeHelpers(types);
11
},
12
ImportDeclaration(path) {
13
helpers.updateImport(path);
14
},
15
TaggedTemplateExpression(path) {
16
if (helpers.isMatch(path) && helpers.getMatchImport(path)) {
17
-
helpers.transformMatch(path);
18
}
19
},
20
},
···
1
import { makeHelpers } from './transform';
2
3
+
export default function reghexPlugin(babel, opts = {}) {
4
let helpers;
5
6
return {
7
name: 'reghex',
8
visitor: {
9
Program() {
10
+
helpers = makeHelpers(babel);
11
},
12
ImportDeclaration(path) {
13
+
if (opts.codegen === false) return;
14
helpers.updateImport(path);
15
},
16
TaggedTemplateExpression(path) {
17
if (helpers.isMatch(path) && helpers.getMatchImport(path)) {
18
+
if (opts.codegen === false) {
19
+
helpers.minifyMatch(path);
20
+
} else {
21
+
helpers.transformMatch(path);
22
+
}
23
}
24
},
25
},
+83
-7
src/babel/plugin.test.js
+83
-7
src/babel/plugin.test.js
···
3
4
it('works with standard features', () => {
5
const code = `
6
-
import match from 'reghex/macro';
7
8
const node = match('node')\`
9
\${1}+ | \${2}+ (\${3} ( \${4}? \${5} ) )*
···
16
).toMatchSnapshot();
17
});
18
19
it('works with local recursion', () => {
20
// NOTE: A different default name is allowed
21
const code = `
22
-
import match_rec, { tag } from 'reghex';
23
24
-
const inner = match_rec('inner')\`
25
\${/inner/}
26
\`;
27
28
-
const node = match_rec('node')\`
29
\${inner}
30
\`;
31
`;
···
38
39
it('works with transform functions', () => {
40
const code = `
41
-
import match from 'reghex';
42
43
const first = match('inner', x => x)\`\`;
44
···
54
55
it('works with non-capturing groups', () => {
56
const code = `
57
-
import match from 'reghex';
58
59
const node = match('node')\`
60
\${1} (\${2} | (?: \${3})+)
···
69
70
it('works together with @babel/plugin-transform-modules-commonjs', () => {
71
const code = `
72
-
import match from 'reghex';
73
74
const node = match('node')\`
75
\${1} \${2}
···
3
4
it('works with standard features', () => {
5
const code = `
6
+
import { match } from 'reghex/macro';
7
8
const node = match('node')\`
9
\${1}+ | \${2}+ (\${3} ( \${4}? \${5} ) )*
···
16
).toMatchSnapshot();
17
});
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
+
76
it('works with local recursion', () => {
77
// NOTE: A different default name is allowed
78
const code = `
79
+
import { match as m, tag } from 'reghex';
80
81
+
const inner = m('inner')\`
82
\${/inner/}
83
\`;
84
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')\`
105
\${inner}
106
\`;
107
`;
···
114
115
it('works with transform functions', () => {
116
const code = `
117
+
import { match } from 'reghex';
118
119
const first = match('inner', x => x)\`\`;
120
···
130
131
it('works with non-capturing groups', () => {
132
const code = `
133
+
import { match } from 'reghex';
134
135
const node = match('node')\`
136
\${1} (\${2} | (?: \${3})+)
···
145
146
it('works together with @babel/plugin-transform-modules-commonjs', () => {
147
const code = `
148
+
import { match } from 'reghex';
149
150
const node = match('node')\`
151
\${1} \${2}
+86
-78
src/babel/transform.js
+86
-78
src/babel/transform.js
···
1
import { parse } from '../parser';
2
-
import { SharedIds } from './sharedIds';
3
-
import { initGenerator, RootNode } from './generator';
4
5
-
export function makeHelpers(t) {
6
const regexPatternsRe = /^[()\[\]|.+?*]|[^\\][()\[\]|.+?*$^]|\\[wdsWDS]/;
7
const importSourceRe = /reghex$|^reghex\/macro/;
8
const importName = 'reghex';
9
-
const ids = new SharedIds(t);
10
-
initGenerator(ids, t);
11
12
let _hasUpdatedImport = false;
13
14
return {
15
/** Adds the reghex import declaration to the Program scope */
···
18
if (!importSourceRe.test(path.node.source.value)) return;
19
_hasUpdatedImport = true;
20
21
-
const defaultSpecifierIndex = path.node.specifiers.findIndex((node) => {
22
-
return t.isImportDefaultSpecifier(node);
23
-
});
24
-
25
-
if (defaultSpecifierIndex > -1) {
26
-
path.node.specifiers.splice(defaultSpecifierIndex, 1);
27
-
}
28
-
29
if (path.node.source.value !== importName) {
30
path.node.source = t.stringLiteral(importName);
31
}
32
33
path.node.specifiers.push(
34
-
t.importSpecifier(
35
-
(ids.execId = path.scope.generateUidIdentifier('exec')),
36
-
t.identifier('_exec')
37
-
),
38
-
t.importSpecifier(
39
-
(ids.substrId = path.scope.generateUidIdentifier('substr')),
40
-
t.identifier('_substr')
41
-
),
42
-
t.importSpecifier(
43
-
(ids.patternId = path.scope.generateUidIdentifier('pattern')),
44
-
t.identifier('_pattern')
45
-
)
46
);
47
48
const tagImport = path.node.specifiers.find((node) => {
49
-
return t.isImportSpecifier(node) && node.imported.name === 'tag';
50
});
51
if (!tagImport) {
52
path.node.specifiers.push(
53
t.importSpecifier(
54
-
(ids.tagId = path.scope.generateUidIdentifier('tag')),
55
-
t.identifier('tag')
56
)
57
);
58
} else {
59
-
ids.tagId = tagImport.imported;
60
}
61
},
62
···
87
binding.kind !== 'module' ||
88
!t.isImportDeclaration(binding.path.parent) ||
89
!importSourceRe.test(binding.path.parent.source.value) ||
90
-
!t.isImportDefaultSpecifier(binding.path.node)
91
) {
92
return null;
93
}
···
99
getMatchName(path) {
100
t.assertTaggedTemplateExpression(path.node);
101
const nameArgumentPath = path.get('tag.arguments.0');
102
-
const { confident, value } = nameArgumentPath.evaluate();
103
-
if (!confident && t.isIdentifier(nameArgumentPath.node)) {
104
-
return nameArgumentPath.node.name;
105
-
} else if (confident && typeof value === 'string') {
106
-
return value;
107
-
} else {
108
-
return path.scope.generateUidIdentifierBasedOnNode(path.node);
109
}
110
},
111
112
/** Given a match, hoists its expressions in front of the match's statement */
···
119
const hoistedExpressions = path.node.quasi.expressions.map(
120
(expression, i) => {
121
if (
122
-
t.isIdentifier(expression) &&
123
-
path.scope.hasBinding(expression.name)
124
) {
125
const binding = path.scope.getBinding(expression.name);
126
if (t.isVariableDeclarator(binding.path.node)) {
127
const matchPath = binding.path.get('init');
128
-
if (this.isMatch(matchPath)) return expression;
129
}
130
-
} else if (
131
-
t.isRegExpLiteral(expression) &&
132
-
!regexPatternsRe.test(expression.pattern)
133
-
) {
134
-
// NOTE: This is an optimisation path, where the pattern regex is inlined
135
-
// and has determined to be "simple" enough to be turned into a string
136
-
return t.stringLiteral(
137
-
expression.pattern.replace(/\\./g, (x) => x[1])
138
-
);
139
}
140
141
const id = path.scope.generateUidIdentifier(
142
-
`${matchName}_expression`
143
);
144
145
variableDeclarators.push(
146
t.variableDeclarator(
147
id,
148
-
t.callExpression(ids.pattern, [expression])
149
)
150
);
151
152
return id;
153
}
154
);
···
160
}
161
162
return hoistedExpressions.map((id) => {
163
-
// Use _substr helper instead if the expression is a string
164
-
if (t.isStringLiteral(id)) {
165
-
return t.callExpression(ids.substr, [ids.state, id]);
166
-
}
167
-
168
-
// Directly call expression if it's sure to be another matcher
169
const binding = path.scope.getBinding(id.name);
170
if (binding && t.isVariableDeclarator(binding.path.node)) {
171
const matchPath = binding.path.get('init');
172
if (this.isMatch(matchPath)) {
173
-
return t.callExpression(id, [ids.state]);
174
}
175
}
176
177
-
return t.callExpression(ids.exec, [ids.state, id]);
178
});
179
},
180
181
_prepareTransform(path) {
182
const transformNode = path.node.tag.arguments[1];
183
if (!transformNode) return null;
184
-
if (t.isIdentifier(transformNode)) return transformNode;
185
186
const matchName = this.getMatchName(path);
187
const id = path.scope.generateUidIdentifier(`${matchName}_transform`);
···
190
path
191
.getStatementParent()
192
.insertBefore(t.variableDeclaration('var', [declarator]));
193
-
return id;
194
},
195
196
transformMatch(path) {
197
-
if (!path.node.tag.arguments.length) {
198
-
throw path
199
-
.get('tag')
200
-
.buildCodeFrameError(
201
-
'match() must at least be called with a node name'
202
-
);
203
}
204
205
-
const matchName = this.getMatchName(path);
206
-
const nameNode = path.node.tag.arguments[0];
207
const quasis = path.node.quasi.quasis.map((x) => x.value.cooked);
208
209
const expressions = this._prepareExpressions(path);
210
-
const transformNode = this._prepareTransform(path);
211
212
let ast;
213
try {
···
217
throw path.get('quasi').buildCodeFrameError(error.message);
218
}
219
220
-
const generator = new RootNode(ast, nameNode, transformNode);
221
-
const body = t.blockStatement(generator.statements());
222
-
const matchFunctionId = path.scope.generateUidIdentifier(matchName);
223
-
const matchFunction = t.functionExpression(
224
-
matchFunctionId,
225
-
[ids.state],
226
-
body
227
);
228
-
path.replaceWith(matchFunction);
229
},
230
};
231
}
···
1
+
import { astRoot } from '../codegen';
2
import { parse } from '../parser';
3
4
+
export function makeHelpers({ types: t, template }) {
5
const regexPatternsRe = /^[()\[\]|.+?*]|[^\\][()\[\]|.+?*$^]|\\[wdsWDS]/;
6
const importSourceRe = /reghex$|^reghex\/macro/;
7
const importName = 'reghex';
8
9
let _hasUpdatedImport = false;
10
+
let _matchId = t.identifier('match');
11
+
let _patternId = t.identifier('__pattern');
12
+
13
+
const _hoistedExpressions = new Map();
14
15
return {
16
/** Adds the reghex import declaration to the Program scope */
···
19
if (!importSourceRe.test(path.node.source.value)) return;
20
_hasUpdatedImport = true;
21
22
if (path.node.source.value !== importName) {
23
path.node.source = t.stringLiteral(importName);
24
}
25
26
+
_patternId = path.scope.generateUidIdentifier('_pattern');
27
path.node.specifiers.push(
28
+
t.importSpecifier(_patternId, t.identifier('__pattern'))
29
);
30
31
const tagImport = path.node.specifiers.find((node) => {
32
+
return t.isImportSpecifier(node) && node.imported.name === 'match';
33
});
34
+
35
if (!tagImport) {
36
path.node.specifiers.push(
37
t.importSpecifier(
38
+
(_matchId = path.scope.generateUidIdentifier('match')),
39
+
t.identifier('match')
40
)
41
);
42
} else {
43
+
_matchId = tagImport.imported;
44
}
45
},
46
···
71
binding.kind !== 'module' ||
72
!t.isImportDeclaration(binding.path.parent) ||
73
!importSourceRe.test(binding.path.parent.source.value) ||
74
+
!t.isImportSpecifier(binding.path.node)
75
) {
76
return null;
77
}
···
83
getMatchName(path) {
84
t.assertTaggedTemplateExpression(path.node);
85
const nameArgumentPath = path.get('tag.arguments.0');
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
+
}
93
}
94
+
95
+
return path.scope.generateUidIdentifierBasedOnNode(path.node);
96
},
97
98
/** Given a match, hoists its expressions in front of the match's statement */
···
105
const hoistedExpressions = path.node.quasi.expressions.map(
106
(expression, i) => {
107
if (
108
+
t.isArrowFunctionExpression(expression) &&
109
+
t.isIdentifier(expression.body)
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) {
127
const binding = path.scope.getBinding(expression.name);
128
if (t.isVariableDeclarator(binding.path.node)) {
129
const matchPath = binding.path.get('init');
130
+
if (this.isMatch(matchPath)) {
131
+
return expression;
132
+
} else if (_hoistedExpressions.has(expression.name)) {
133
+
return t.identifier(_hoistedExpressions.get(expression.name));
134
+
}
135
}
136
}
137
138
const id = path.scope.generateUidIdentifier(
139
+
isBindingExpression
140
+
? `${expression.name}_expression`
141
+
: `${matchName}_expression`
142
);
143
144
variableDeclarators.push(
145
t.variableDeclarator(
146
id,
147
+
t.callExpression(t.identifier(_patternId.name), [expression])
148
)
149
);
150
151
+
if (t.isIdentifier(expression)) {
152
+
_hoistedExpressions.set(expression.name, id.name);
153
+
}
154
+
155
return id;
156
}
157
);
···
163
}
164
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
});
179
},
180
181
_prepareTransform(path) {
182
const transformNode = path.node.tag.arguments[1];
183
+
184
if (!transformNode) return null;
185
+
if (t.isIdentifier(transformNode)) return transformNode.name;
186
187
const matchName = this.getMatchName(path);
188
const id = path.scope.generateUidIdentifier(`${matchName}_transform`);
···
191
path
192
.getStatementParent()
193
.insertBefore(t.variableDeclaration('var', [declarator]));
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
+
);
211
},
212
213
transformMatch(path) {
214
+
let name = path.node.tag.arguments[0];
215
+
if (!name) {
216
+
name = t.nullLiteral();
217
}
218
219
const quasis = path.node.quasi.quasis.map((x) => x.value.cooked);
220
221
const expressions = this._prepareExpressions(path);
222
+
const transform = this._prepareTransform(path);
223
224
let ast;
225
try {
···
229
throw path.get('quasi').buildCodeFrameError(error.message);
230
}
231
232
+
const code = astRoot(ast, '%%name%%', transform && '%%transform%%');
233
+
234
+
path.replaceWith(
235
+
template.expression(code)(transform ? { name, transform } : { name })
236
);
237
},
238
};
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 };
+70
-36
src/core.js
+70
-36
src/core.js
···
1
const isStickySupported = typeof /./g.sticky === 'boolean';
2
3
-
export const _pattern = (input) => {
4
-
if (typeof input === 'function') return input;
5
-
6
-
const source = typeof input !== 'string' ? input.source : input;
7
-
return isStickySupported
8
-
? new RegExp(source, 'y')
9
-
: new RegExp(`^(?:${source})`, 'g');
10
};
11
12
-
export const _substr = (state, pattern) => {
13
-
const end = state.index + pattern.length;
14
-
const sub = state.input.slice(state.index, end);
15
-
if (sub === pattern) {
16
-
state.index = end;
17
-
return sub;
18
-
}
19
};
20
21
-
export const _exec = (state, pattern) => {
22
-
if (typeof pattern === 'function') return pattern();
23
24
-
let match;
25
-
if (isStickySupported) {
26
-
pattern.lastIndex = state.index;
27
-
match = pattern.exec(state.input);
28
-
state.index = pattern.lastIndex;
29
} else {
30
-
pattern.lastIndex = 0;
31
-
match = pattern.exec(state.input.slice(state.input));
32
-
state.index += pattern.lastIndex;
33
}
34
35
-
return match && match[0];
36
-
};
37
38
-
export const tag = (array, tag) => {
39
-
array.tag = tag;
40
-
return array;
41
};
42
43
-
export const parse = (pattern) => (input) => {
44
-
const state = { input, index: 0 };
45
-
return pattern(state);
46
};
47
48
-
export const match = (_name) => {
49
-
throw new TypeError(
50
-
'This match() function was not transformed. ' +
51
-
'Ensure that the Babel plugin is set up correctly and try again.'
52
);
53
};
···
1
+
import { astRoot } from './codegen';
2
+
import { parse as parseDSL } from './parser';
3
+
4
const isStickySupported = typeof /./g.sticky === 'boolean';
5
6
+
const execLambda = (pattern) => {
7
+
if (pattern.length) return pattern;
8
+
return (state) => pattern()(state);
9
};
10
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
+
};
22
};
23
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
+
}
40
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);
52
} else {
53
+
return execRegex(input);
54
}
55
+
};
56
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
+
}
68
69
+
return match;
70
};
71
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);
76
};
77
78
+
export const match = (name, transform) => (quasis, ...expressions) => {
79
+
const ast = parseDSL(
80
+
quasis,
81
+
expressions.map((_, i) => ({ id: `_${i}` }))
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));
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
export const parse = (quasis, expressions) => {
2
let quasiIndex = 0;
3
let stackIndex = 0;
4
5
const sequenceStack = [];
6
-
const rootSequence = {
7
-
type: 'sequence',
8
-
sequence: [],
9
-
alternation: null,
10
-
};
11
12
let currentGroup = null;
13
let lastMatch;
14
let currentSequence = rootSequence;
15
16
-
while (stackIndex < quasis.length + expressions.length) {
17
if (stackIndex % 2 !== 0) {
18
const expression = expressions[stackIndex++ >> 1];
19
-
20
-
currentSequence.sequence.push({
21
-
type: 'expression',
22
-
expression,
23
-
quantifier: null,
24
-
});
25
}
26
27
const quasi = quasis[stackIndex >> 1];
28
-
while (quasiIndex < quasi.length) {
29
const char = quasi[quasiIndex++];
30
-
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) {
42
currentGroup = null;
43
currentSequence = sequenceStack.pop();
44
-
if (currentSequence) continue;
45
} 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
sequenceStack.push(currentSequence);
59
-
currentSequence.sequence.push(currentGroup);
60
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;
83
}
84
} else if (
85
(char === '?' || char === '+' || char === '*') &&
86
-
(lastMatch =
87
-
currentSequence.sequence[currentSequence.sequence.length - 1])
88
) {
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;
100
}
101
-
102
-
throw new SyntaxError('Unexpected token ' + char);
103
}
104
-
105
-
stackIndex++;
106
-
quasiIndex = 0;
107
}
108
109
return rootSequence;
···
1
+
const syntaxError = (char) => {
2
+
throw new SyntaxError('Unexpected token "' + char + '"');
3
+
};
4
+
5
export const parse = (quasis, expressions) => {
6
let quasiIndex = 0;
7
let stackIndex = 0;
8
9
const sequenceStack = [];
10
+
const rootSequence = [];
11
12
let currentGroup = null;
13
let lastMatch;
14
let currentSequence = rootSequence;
15
+
let capture;
16
17
+
for (
18
+
let quasiIndex = 0, stackIndex = 0;
19
+
stackIndex < quasis.length + expressions.length;
20
+
stackIndex++
21
+
) {
22
if (stackIndex % 2 !== 0) {
23
const expression = expressions[stackIndex++ >> 1];
24
+
currentSequence.push({ expression, capture });
25
+
capture = undefined;
26
}
27
28
const quasi = quasis[stackIndex >> 1];
29
+
for (quasiIndex = 0; quasiIndex < quasi.length; ) {
30
const char = quasi[quasiIndex++];
31
if (char === ' ' || char === '\t' || char === '\r' || char === '\n') {
32
+
} else if (char === '|' && currentSequence.length) {
33
+
currentSequence = currentSequence.alternation = [];
34
+
} else if (char === ')' && currentSequence.length) {
35
currentGroup = null;
36
currentSequence = sequenceStack.pop();
37
+
if (!currentSequence) syntaxError(char);
38
} else if (char === '(') {
39
sequenceStack.push(currentSequence);
40
+
currentSequence.push((currentGroup = { sequence: [], capture }));
41
currentSequence = currentGroup.sequence;
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);
54
}
55
} else if (
56
(char === '?' || char === '+' || char === '*') &&
57
+
(lastMatch = currentSequence[currentSequence.length - 1])
58
) {
59
+
lastMatch.quantifier = char;
60
+
} else {
61
+
syntaxError(char);
62
}
63
}
64
}
65
66
return rootSequence;
+86
-118
src/parser.test.js
+86
-118
src/parser.test.js
···
2
3
const parseTag = (quasis, ...expressions) => parse(quasis, expressions);
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
it('supports parsing expressions with quantifiers', () => {
20
let ast;
21
22
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
-
});
29
30
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
-
});
37
38
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
-
});
45
});
46
47
it('supports top-level alternations', () => {
48
let ast;
49
50
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);
56
57
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
-
);
63
});
64
65
it('supports groups with quantifiers', () => {
66
let ast;
67
68
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);
74
75
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
-
);
84
});
85
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
-
});
94
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);
102
});
103
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);
111
});
112
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();
117
});
118
119
it('supports groups with alternates', () => {
120
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",
148
},
149
-
"type": "group",
150
-
},
151
-
Object {
152
-
"expression": 3,
153
-
"quantifier": null,
154
-
"type": "expression",
155
-
},
156
-
],
157
-
"type": "sequence",
158
-
}
159
`);
160
});
···
2
3
const parseTag = (quasis, ...expressions) => parse(quasis, expressions);
4
5
it('supports parsing expressions with quantifiers', () => {
6
let ast;
7
8
ast = parseTag`${1}?`;
9
+
expect(ast).toHaveProperty('0.quantifier', '?');
10
11
ast = parseTag`${1}+`;
12
+
expect(ast).toHaveProperty('0.quantifier', '+');
13
14
ast = parseTag`${1}*`;
15
+
expect(ast).toHaveProperty('0.quantifier', '*');
16
});
17
18
it('supports top-level alternations', () => {
19
let ast;
20
21
ast = parseTag`${1} | ${2}`;
22
+
expect(ast).toHaveProperty('length', 1);
23
+
expect(ast).toHaveProperty('0.expression', 1);
24
+
expect(ast).toHaveProperty('alternation.0.expression', 2);
25
26
ast = parseTag`${1}? | ${2}?`;
27
+
expect(ast).toHaveProperty('0.quantifier', '?');
28
});
29
30
it('supports groups with quantifiers', () => {
31
let ast;
32
33
ast = parseTag`(${1} ${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);
38
39
ast = parseTag`(${1} ${2}?)?`;
40
+
expect(ast).toHaveProperty('length', 1);
41
+
expect(ast).toHaveProperty('0.quantifier', '?');
42
+
expect(ast).toHaveProperty('0.sequence.0.quantifier', undefined);
43
});
44
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
+
});
63
64
+
it('fails on invalid usage', () => {
65
+
expect(() => parseTag`${1} : ${2}`).toThrow();
66
+
expect(() => parseTag`${1} :|${2}`).toThrow();
67
+
});
68
});
69
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
+
});
88
});
89
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
+
});
108
});
109
110
it('supports groups with alternates', () => {
111
expect(parseTag`(${1} | ${2}) ${3}`).toMatchInlineSnapshot(`
112
+
Array [
113
+
Object {
114
+
"capture": undefined,
115
+
"sequence": Array [
116
+
Object {
117
+
"capture": undefined,
118
+
"expression": 1,
119
},
120
+
],
121
+
},
122
+
Object {
123
+
"capture": undefined,
124
+
"expression": 3,
125
+
},
126
+
]
127
`);
128
});
+1463
-1868
yarn.lock
+1463
-1868
yarn.lock
···
2
# yarn lockfile v1
3
4
5
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
6
version "7.8.3"
7
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
···
9
dependencies:
10
"@babel/highlight" "^7.8.3"
11
12
-
"@babel/core@7.9.6", "@babel/core@^7.1.0", "@babel/core@^7.7.5":
13
version "7.9.6"
14
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
15
integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
···
31
semver "^5.4.1"
32
source-map "^0.5.0"
33
34
"@babel/generator@^7.9.6":
35
version "7.9.6"
36
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
···
41
lodash "^4.17.13"
42
source-map "^0.5.0"
43
44
"@babel/helper-function-name@^7.9.5":
45
version "7.9.5"
46
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
···
50
"@babel/template" "^7.8.3"
51
"@babel/types" "^7.9.5"
52
53
"@babel/helper-get-function-arity@^7.8.3":
54
version "7.8.3"
55
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
56
integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
57
dependencies:
58
"@babel/types" "^7.8.3"
59
60
"@babel/helper-member-expression-to-functions@^7.8.3":
61
version "7.8.3"
···
64
dependencies:
65
"@babel/types" "^7.8.3"
66
67
-
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3":
68
version "7.8.3"
69
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
70
integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
71
dependencies:
72
"@babel/types" "^7.8.3"
73
74
"@babel/helper-module-transforms@^7.9.0":
75
version "7.9.0"
76
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
···
84
"@babel/types" "^7.9.0"
85
lodash "^4.17.13"
86
87
"@babel/helper-optimise-call-expression@^7.8.3":
88
version "7.8.3"
89
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9"
···
96
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
97
integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
98
99
"@babel/helper-replace-supers@^7.8.6":
100
version "7.9.6"
101
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
···
106
"@babel/traverse" "^7.9.6"
107
"@babel/types" "^7.9.6"
108
109
"@babel/helper-simple-access@^7.8.3":
110
version "7.8.3"
111
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae"
···
114
"@babel/template" "^7.8.3"
115
"@babel/types" "^7.8.3"
116
117
"@babel/helper-split-export-declaration@^7.8.3":
118
version "7.8.3"
119
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
···
121
dependencies:
122
"@babel/types" "^7.8.3"
123
124
"@babel/helper-validator-identifier@^7.9.5":
125
version "7.9.5"
126
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
127
integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
128
129
"@babel/helpers@^7.9.6":
130
version "7.9.6"
131
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
···
135
"@babel/traverse" "^7.9.6"
136
"@babel/types" "^7.9.6"
137
138
"@babel/highlight@^7.8.3":
139
version "7.8.3"
140
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
···
148
version "7.9.6"
149
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
150
integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
151
152
"@babel/plugin-syntax-async-generators@^7.8.4":
153
version "7.8.4"
···
169
integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==
170
dependencies:
171
"@babel/helper-plugin-utils" "^7.8.3"
172
173
"@babel/plugin-syntax-json-strings@^7.8.3":
174
version "7.8.3"
···
219
dependencies:
220
"@babel/helper-plugin-utils" "^7.8.0"
221
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==
226
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"
230
babel-plugin-dynamic-import-node "^2.3.3"
231
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==
236
dependencies:
237
-
"@babel/helper-plugin-utils" "^7.8.3"
238
239
"@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
240
version "7.8.6"
···
260
globals "^11.1.0"
261
lodash "^4.17.13"
262
263
"@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
version "7.9.6"
265
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
···
269
lodash "^4.17.13"
270
to-fast-properties "^2.0.0"
271
272
"@bcoe/v8-coverage@^0.2.3":
273
version "0.2.3"
274
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
275
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
285
"@istanbuljs/load-nyc-config@^1.0.0":
286
version "1.0.0"
···
297
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
298
integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
299
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==
304
dependencies:
305
-
"@jest/types" "^26.0.1"
306
chalk "^4.0.0"
307
-
jest-message-util "^26.0.1"
308
-
jest-util "^26.0.1"
309
slash "^3.0.0"
310
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==
315
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"
321
ansi-escapes "^4.2.1"
322
chalk "^4.0.0"
323
exit "^0.1.2"
324
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"
339
p-each-series "^2.1.0"
340
rimraf "^3.0.0"
341
slash "^3.0.0"
342
strip-ansi "^6.0.0"
343
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==
348
dependencies:
349
-
"@jest/fake-timers" "^26.0.1"
350
-
"@jest/types" "^26.0.1"
351
-
jest-mock "^26.0.1"
352
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==
357
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"
363
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==
368
dependencies:
369
-
"@jest/environment" "^26.0.1"
370
-
"@jest/types" "^26.0.1"
371
-
expect "^26.0.1"
372
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==
377
dependencies:
378
"@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"
383
chalk "^4.0.0"
384
collect-v8-coverage "^1.0.0"
385
exit "^0.1.2"
386
glob "^7.1.2"
387
graceful-fs "^4.2.4"
388
istanbul-lib-coverage "^3.0.0"
389
-
istanbul-lib-instrument "^4.0.0"
390
istanbul-lib-report "^3.0.0"
391
istanbul-lib-source-maps "^4.0.0"
392
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"
397
slash "^3.0.0"
398
source-map "^0.6.0"
399
string-length "^4.0.1"
400
terminal-link "^2.0.0"
401
-
v8-to-istanbul "^4.1.3"
402
-
optionalDependencies:
403
-
node-notifier "^7.0.0"
404
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==
409
dependencies:
410
callsites "^3.0.0"
411
graceful-fs "^4.2.4"
412
source-map "^0.6.0"
413
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==
418
dependencies:
419
-
"@jest/console" "^26.0.1"
420
-
"@jest/types" "^26.0.1"
421
"@types/istanbul-lib-coverage" "^2.0.0"
422
collect-v8-coverage "^1.0.0"
423
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==
428
dependencies:
429
-
"@jest/test-result" "^26.0.1"
430
graceful-fs "^4.2.4"
431
-
jest-haste-map "^26.0.1"
432
-
jest-runner "^26.0.1"
433
-
jest-runtime "^26.0.1"
434
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==
439
dependencies:
440
"@babel/core" "^7.1.0"
441
-
"@jest/types" "^26.0.1"
442
babel-plugin-istanbul "^6.0.0"
443
chalk "^4.0.0"
444
convert-source-map "^1.4.0"
445
fast-json-stable-stringify "^2.0.0"
446
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"
451
pirates "^4.0.1"
452
slash "^3.0.0"
453
source-map "^0.6.1"
454
write-file-atomic "^3.0.0"
455
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==
460
dependencies:
461
"@types/istanbul-lib-coverage" "^2.0.0"
462
-
"@types/istanbul-reports" "^1.1.1"
463
-
"@types/yargs" "^15.0.0"
464
chalk "^4.0.0"
465
466
"@rollup/plugin-buble@^0.21.3":
467
version "0.21.3"
468
resolved "https://registry.yarnpkg.com/@rollup/plugin-buble/-/plugin-buble-0.21.3.tgz#1649a915b1d051a4f430d40e7734a7f67a69b33e"
···
472
"@types/buble" "^0.19.2"
473
buble "^0.20.0"
474
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==
479
dependencies:
480
-
"@rollup/pluginutils" "^3.0.8"
481
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"
487
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==
492
dependencies:
493
-
"@rollup/pluginutils" "^3.0.8"
494
-
"@types/resolve" "0.0.8"
495
builtin-modules "^3.1.0"
496
is-module "^1.0.0"
497
-
resolve "^1.14.2"
498
499
"@rollup/pluginutils@^3.0.8":
500
version "3.0.10"
···
505
estree-walker "^1.0.1"
506
picomatch "^2.2.2"
507
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==
512
dependencies:
513
-
any-observable "^0.3.0"
514
515
"@sinonjs/commons@^1.7.0":
516
version "1.7.2"
···
519
dependencies:
520
type-detect "4.0.8"
521
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==
526
dependencies:
527
"@sinonjs/commons" "^1.7.0"
528
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==
533
dependencies:
534
"@babel/parser" "^7.1.0"
535
"@babel/types" "^7.0.0"
···
559
dependencies:
560
"@babel/types" "^7.3.0"
561
562
"@types/buble@^0.19.2":
563
version "0.19.2"
564
resolved "https://registry.yarnpkg.com/@types/buble/-/buble-0.19.2.tgz#a4289d20b175b3c206aaad80caabdabe3ecdfdd1"
···
570
version "1.1.1"
571
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
572
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
573
574
"@types/estree@0.0.39":
575
version "0.0.39"
···
595
dependencies:
596
"@types/istanbul-lib-coverage" "*"
597
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==
602
dependencies:
603
-
"@types/istanbul-lib-coverage" "*"
604
"@types/istanbul-lib-report" "*"
605
606
"@types/node@*":
···
608
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c"
609
integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==
610
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
"@types/parse-json@^4.0.0":
617
version "4.0.0"
618
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
619
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
620
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==
625
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==
630
dependencies:
631
"@types/node" "*"
632
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==
637
638
"@types/yargs-parser@*":
639
version "15.0.0"
640
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
641
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
642
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==
647
dependencies:
648
"@types/yargs-parser" "*"
649
···
651
version "2.0.3"
652
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
653
integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
654
655
acorn-dynamic-import@^4.0.0:
656
version "4.0.0"
···
670
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
671
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
672
673
-
acorn-walk@^7.1.1:
674
version "7.1.1"
675
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
676
integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
677
678
acorn@^6.4.1:
679
version "6.4.1"
680
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
···
684
version "7.2.0"
685
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe"
686
integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==
687
688
aggregate-error@^3.0.0:
689
version "3.0.1"
···
693
clean-stack "^2.0.0"
694
indent-string "^4.0.0"
695
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==
710
711
ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
712
version "4.3.1"
···
735
"@types/color-name" "^1.1.1"
736
color-convert "^2.0.1"
737
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==
742
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"
750
751
anymatch@^3.0.3:
752
version "3.1.1"
···
763
dependencies:
764
sprintf-js "~1.0.2"
765
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
astral-regex@^2.0.0:
804
version "2.0.0"
805
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
···
810
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
811
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
812
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==
832
dependencies:
833
-
"@jest/transform" "^26.0.1"
834
-
"@jest/types" "^26.0.1"
835
-
"@types/babel__core" "^7.1.7"
836
babel-plugin-istanbul "^6.0.0"
837
-
babel-preset-jest "^26.0.0"
838
chalk "^4.0.0"
839
graceful-fs "^4.2.4"
840
slash "^3.0.0"
841
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==
846
847
babel-plugin-dynamic-import-node@^2.3.3:
848
version "2.3.3"
···
862
istanbul-lib-instrument "^4.0.0"
863
test-exclude "^6.0.0"
864
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==
869
dependencies:
870
"@babel/template" "^7.3.3"
871
"@babel/types" "^7.3.3"
872
"@types/babel__traverse" "^7.0.6"
873
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==
878
dependencies:
879
"@babel/plugin-syntax-async-generators" "^7.8.4"
880
"@babel/plugin-syntax-bigint" "^7.8.3"
881
"@babel/plugin-syntax-class-properties" "^7.8.3"
882
"@babel/plugin-syntax-json-strings" "^7.8.3"
883
"@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
884
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
···
886
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
887
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
888
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
889
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==
894
dependencies:
895
-
babel-plugin-jest-hoist "^26.0.0"
896
-
babel-preset-current-node-syntax "^0.1.2"
897
898
balanced-match@^1.0.0:
899
version "1.0.0"
900
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
901
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
902
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
brace-expansion@^1.1.7:
924
version "1.1.11"
925
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
···
928
balanced-match "^1.0.0"
929
concat-map "0.0.1"
930
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
braces@^3.0.1:
948
version "3.0.2"
949
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
···
955
version "1.0.0"
956
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
957
integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
958
959
bser@2.1.1:
960
version "2.1.1"
···
986
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
987
integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
988
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
callsites@^3.0.0:
1005
version "3.1.0"
1006
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
1007
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
1008
1009
-
camelcase@^5.0.0, camelcase@^5.3.1:
1010
version "5.3.1"
1011
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
1012
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
1013
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==
1018
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"
1025
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:
1032
version "2.4.2"
1033
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
1034
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
···
1037
escape-string-regexp "^1.0.5"
1038
supports-color "^5.3.0"
1039
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
chalk@^4.0.0:
1049
version "4.0.0"
1050
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
···
1053
ansi-styles "^4.1.0"
1054
supports-color "^7.1.0"
1055
1056
char-regex@^1.0.2:
1057
version "1.0.2"
1058
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
···
1063
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
1064
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
1065
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"
1075
1076
clean-stack@^2.0.0:
1077
version "2.2.0"
···
1093
slice-ansi "^3.0.0"
1094
string-width "^4.2.0"
1095
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==
1100
dependencies:
1101
string-width "^4.2.0"
1102
strip-ansi "^6.0.0"
1103
-
wrap-ansi "^6.2.0"
1104
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=
1109
1110
co@^4.6.0:
1111
version "4.6.0"
···
1116
version "1.0.1"
1117
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
1118
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
1128
color-convert@^1.9.0:
1129
version "1.9.3"
···
1149
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
1150
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
1151
1152
-
combined-stream@^1.0.6, combined-stream@~1.0.6:
1153
version "1.0.8"
1154
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
1155
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
1156
dependencies:
1157
delayed-stream "~1.0.0"
1158
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==
1163
1164
commondir@^1.0.1:
1165
version "1.0.1"
···
1171
resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
1172
integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
1173
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
concat-map@0.0.1:
1180
version "0.0.1"
1181
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
···
1188
dependencies:
1189
safe-buffer "~5.1.1"
1190
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:
1197
version "1.0.2"
1198
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
1199
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
1200
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==
1205
dependencies:
1206
"@types/parse-json" "^4.0.0"
1207
-
import-fresh "^3.1.0"
1208
parse-json "^5.0.0"
1209
path-type "^4.0.0"
1210
-
yaml "^1.7.2"
1211
1212
-
cross-spawn@^6.0.0, cross-spawn@^6.0.5:
1213
version "6.0.5"
1214
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
1215
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
···
1220
shebang-command "^1.2.0"
1221
which "^1.2.9"
1222
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==
1227
dependencies:
1228
path-key "^3.1.0"
1229
shebang-command "^2.0.0"
···
1239
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
1240
integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
1241
1242
-
cssstyle@^2.2.0:
1243
version "2.3.0"
1244
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
1245
integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
1246
dependencies:
1247
cssom "~0.3.6"
1248
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
data-urls@^2.0.0:
1257
version "2.0.0"
1258
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
···
1262
whatwg-mimetype "^2.3.0"
1263
whatwg-url "^8.0.0"
1264
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==
1269
dependencies:
1270
-
ms "2.0.0"
1271
1272
debug@^4.1.0, debug@^4.1.1:
1273
version "4.1.1"
···
1276
dependencies:
1277
ms "^2.1.1"
1278
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=
1293
1294
dedent@^0.7.0:
1295
version "0.7.0"
···
1306
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
1307
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
1308
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
define-properties@^1.1.2, define-properties@^1.1.3:
1317
version "1.1.3"
1318
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
···
1320
dependencies:
1321
object-keys "^1.0.12"
1322
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
delayed-stream@~1.0.0:
1346
version "1.0.0"
1347
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
···
1352
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
1353
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
1354
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==
1359
1360
domexception@^2.0.1:
1361
version "2.0.1"
···
1364
dependencies:
1365
webidl-conversions "^5.0.0"
1366
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"
1374
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==
1379
1380
emoji-regex@^8.0.0:
1381
version "8.0.0"
1382
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
1383
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
1384
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==
1396
dependencies:
1397
-
ansi-colors "^3.2.1"
1398
1399
error-ex@^1.3.1:
1400
version "1.3.2"
···
1429
is-date-object "^1.0.1"
1430
is-symbol "^1.0.2"
1431
1432
escape-string-regexp@^1.0.5:
1433
version "1.0.5"
1434
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
···
1439
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
1440
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
1441
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==
1446
dependencies:
1447
esprima "^4.0.1"
1448
-
estraverse "^4.2.0"
1449
esutils "^2.0.2"
1450
optionator "^0.8.1"
1451
optionalDependencies:
···
1456
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
1457
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
1458
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==
1463
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==
1468
1469
estree-walker@^1.0.1:
1470
version "1.0.1"
···
1476
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1477
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1478
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==
1501
dependencies:
1502
-
cross-spawn "^7.0.0"
1503
-
get-stream "^5.0.0"
1504
-
human-signals "^1.1.1"
1505
is-stream "^2.0.0"
1506
merge-stream "^2.0.0"
1507
-
npm-run-path "^4.0.0"
1508
-
onetime "^5.1.0"
1509
-
signal-exit "^3.0.2"
1510
strip-final-newline "^2.0.0"
1511
1512
exit@^0.1.2:
···
1514
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
1515
integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
1516
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=
1546
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==
1590
1591
fast-json-stable-stringify@^2.0.0:
1592
version "2.1.0"
···
1605
dependencies:
1606
bser "2.1.1"
1607
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
fill-range@^7.0.1:
1626
version "7.0.1"
1627
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
···
1637
locate-path "^5.0.0"
1638
path-exists "^4.0.0"
1639
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==
1644
dependencies:
1645
-
semver-regex "^2.0.0"
1646
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=
1656
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==
1661
dependencies:
1662
asynckit "^0.4.0"
1663
-
combined-stream "^1.0.6"
1664
mime-types "^2.1.12"
1665
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
fs.realpath@^1.0.0:
1674
version "1.0.0"
1675
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1676
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1677
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==
1682
1683
function-bind@^1.1.1:
1684
version "1.1.1"
···
1690
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
1691
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
1692
1693
-
get-caller-file@^2.0.1:
1694
version "2.0.5"
1695
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1696
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
···
1700
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
1701
integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
1702
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"
1728
1729
-
glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
1730
version "7.1.6"
1731
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
1732
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
···
1738
once "^1.3.0"
1739
path-is-absolute "^1.0.0"
1740
1741
globals@^11.1.0:
1742
version "11.12.0"
1743
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1744
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1745
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==
1750
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=
1755
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=
1760
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==
1765
dependencies:
1766
-
ajv "^6.5.5"
1767
-
har-schema "^2.0.0"
1768
1769
has-flag@^3.0.0:
1770
version "3.0.0"
···
1781
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
1782
integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
1783
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
has@^1.0.3:
1816
version "1.0.3"
1817
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
···
1836
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
1837
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
1838
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=
1843
dependencies:
1844
-
assert-plus "^1.0.0"
1845
-
jsprim "^1.2.2"
1846
-
sshpk "^1.7.0"
1847
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==
1852
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==
1857
dependencies:
1858
chalk "^4.0.0"
1859
ci-info "^2.0.0"
1860
compare-versions "^3.6.0"
1861
-
cosmiconfig "^6.0.0"
1862
-
find-versions "^3.2.0"
1863
opencollective-postinstall "^2.0.2"
1864
-
pkg-dir "^4.2.0"
1865
please-upgrade-node "^3.2.0"
1866
slash "^3.0.0"
1867
which-pm-runs "^1.0.0"
···
1873
dependencies:
1874
safer-buffer ">= 2.1.2 < 3"
1875
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==
1880
dependencies:
1881
parent-module "^1.0.0"
1882
resolve-from "^4.0.0"
···
1907
once "^1.3.0"
1908
wrappy "1"
1909
1910
-
inherits@2:
1911
version "2.0.4"
1912
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1913
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1914
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
is-arrayish@^0.2.1:
1935
version "0.2.1"
1936
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1937
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
1938
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
is-callable@^1.1.4, is-callable@^1.1.5:
1945
version "1.1.5"
1946
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
1947
integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
1948
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==
1953
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"
1962
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==
1967
dependencies:
1968
-
kind-of "^6.0.0"
1969
1970
is-date-object@^1.0.1:
1971
version "1.0.2"
1972
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
1973
integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
1974
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
is-fullwidth-code-point@^3.0.0:
2011
version "3.0.0"
2012
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
···
2021
version "1.0.0"
2022
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
2023
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
2032
is-number@^7.0.0:
2033
version "7.0.0"
···
2039
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
2040
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
2041
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=
2053
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==
2058
dependencies:
2059
-
"@types/estree" "0.0.39"
2060
2061
is-regex@^1.0.5:
2062
version "1.0.5"
···
2070
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
2071
integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
2072
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
is-stream@^2.0.0:
2079
version "2.0.0"
2080
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
···
2087
dependencies:
2088
has-symbols "^1.0.1"
2089
2090
-
is-typedarray@^1.0.0, is-typedarray@~1.0.0:
2091
version "1.0.0"
2092
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
2093
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
2094
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==
2099
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:
2108
version "1.0.0"
2109
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
2110
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
···
2114
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
2115
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
2116
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
istanbul-lib-coverage@^3.0.0:
2135
version "3.0.0"
2136
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
2137
integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
2138
2139
-
istanbul-lib-instrument@^4.0.0:
2140
version "4.0.3"
2141
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
2142
integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
···
2172
html-escaper "^2.0.0"
2173
istanbul-lib-report "^3.0.0"
2174
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==
2179
dependencies:
2180
-
"@jest/types" "^26.0.1"
2181
-
execa "^4.0.0"
2182
-
throat "^5.0.0"
2183
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==
2188
dependencies:
2189
-
"@jest/core" "^26.0.1"
2190
-
"@jest/test-result" "^26.0.1"
2191
-
"@jest/types" "^26.0.1"
2192
chalk "^4.0.0"
2193
exit "^0.1.2"
2194
graceful-fs "^4.2.4"
2195
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"
2200
prompts "^2.0.1"
2201
-
yargs "^15.3.1"
2202
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==
2207
dependencies:
2208
"@babel/core" "^7.1.0"
2209
-
"@jest/test-sequencer" "^26.0.1"
2210
-
"@jest/types" "^26.0.1"
2211
-
babel-jest "^26.0.1"
2212
chalk "^4.0.0"
2213
deepmerge "^4.2.2"
2214
glob "^7.1.1"
2215
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"
2226
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==
2231
dependencies:
2232
chalk "^4.0.0"
2233
-
diff-sequences "^26.0.0"
2234
-
jest-get-type "^26.0.0"
2235
-
pretty-format "^26.0.1"
2236
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==
2241
dependencies:
2242
detect-newline "^3.0.0"
2243
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==
2248
dependencies:
2249
-
"@jest/types" "^26.0.1"
2250
chalk "^4.0.0"
2251
-
jest-get-type "^26.0.0"
2252
-
jest-util "^26.0.1"
2253
-
pretty-format "^26.0.1"
2254
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==
2259
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"
2266
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==
2271
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"
2277
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==
2282
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==
2287
dependencies:
2288
-
"@jest/types" "^26.0.1"
2289
"@types/graceful-fs" "^4.1.2"
2290
anymatch "^3.0.3"
2291
fb-watchman "^2.0.0"
2292
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"
2298
walker "^1.0.7"
2299
-
which "^2.0.2"
2300
optionalDependencies:
2301
-
fsevents "^2.1.2"
2302
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==
2307
dependencies:
2308
"@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"
2313
chalk "^4.0.0"
2314
co "^4.6.0"
2315
-
expect "^26.0.1"
2316
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"
2325
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==
2330
dependencies:
2331
-
jest-get-type "^26.0.0"
2332
-
pretty-format "^26.0.1"
2333
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==
2338
dependencies:
2339
chalk "^4.0.0"
2340
-
jest-diff "^26.0.1"
2341
-
jest-get-type "^26.0.0"
2342
-
pretty-format "^26.0.1"
2343
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==
2348
dependencies:
2349
-
"@babel/code-frame" "^7.0.0"
2350
-
"@jest/types" "^26.0.1"
2351
-
"@types/stack-utils" "^1.0.1"
2352
chalk "^4.0.0"
2353
graceful-fs "^4.2.4"
2354
-
micromatch "^4.0.2"
2355
slash "^3.0.0"
2356
-
stack-utils "^2.0.2"
2357
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==
2362
dependencies:
2363
-
"@jest/types" "^26.0.1"
2364
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==
2369
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==
2374
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==
2379
dependencies:
2380
-
"@jest/types" "^26.0.1"
2381
-
jest-regex-util "^26.0.0"
2382
-
jest-snapshot "^26.0.1"
2383
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==
2388
dependencies:
2389
-
"@jest/types" "^26.0.1"
2390
chalk "^4.0.0"
2391
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"
2396
slash "^3.0.0"
2397
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==
2402
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"
2407
chalk "^4.0.0"
2408
exit "^0.1.2"
2409
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"
2420
source-map-support "^0.5.6"
2421
-
throat "^5.0.0"
2422
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==
2427
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"
2437
chalk "^4.0.0"
2438
collect-v8-coverage "^1.0.0"
2439
exit "^0.1.2"
2440
glob "^7.1.3"
2441
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"
2451
slash "^3.0.0"
2452
strip-bom "^4.0.0"
2453
-
yargs "^15.3.1"
2454
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==
2459
dependencies:
2460
graceful-fs "^4.2.4"
2461
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==
2466
dependencies:
2467
"@babel/types" "^7.0.0"
2468
-
"@jest/types" "^26.0.1"
2469
-
"@types/prettier" "^2.0.0"
2470
chalk "^4.0.0"
2471
-
expect "^26.0.1"
2472
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"
2479
natural-compare "^1.4.0"
2480
-
pretty-format "^26.0.1"
2481
semver "^7.3.2"
2482
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==
2487
dependencies:
2488
-
"@jest/types" "^26.0.1"
2489
chalk "^4.0.0"
2490
graceful-fs "^4.2.4"
2491
-
is-ci "^2.0.0"
2492
-
make-dir "^3.0.0"
2493
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==
2498
dependencies:
2499
-
"@jest/types" "^26.0.1"
2500
-
camelcase "^6.0.0"
2501
chalk "^4.0.0"
2502
-
jest-get-type "^26.0.0"
2503
leven "^3.1.0"
2504
-
pretty-format "^26.0.1"
2505
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==
2510
dependencies:
2511
-
"@jest/test-result" "^26.0.1"
2512
-
"@jest/types" "^26.0.1"
2513
ansi-escapes "^4.2.1"
2514
chalk "^4.0.0"
2515
-
jest-util "^26.0.1"
2516
string-length "^4.0.1"
2517
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==
2522
dependencies:
2523
merge-stream "^2.0.0"
2524
-
supports-color "^7.0.0"
2525
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==
2530
dependencies:
2531
-
"@jest/core" "^26.0.1"
2532
import-local "^3.0.2"
2533
-
jest-cli "^26.0.1"
2534
2535
js-tokens@^4.0.0:
2536
version "4.0.0"
···
2545
argparse "^1.0.7"
2546
esprima "^4.0.0"
2547
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==
2557
dependencies:
2558
-
abab "^2.0.3"
2559
-
acorn "^7.1.1"
2560
acorn-globals "^6.0.0"
2561
cssom "^0.4.4"
2562
-
cssstyle "^2.2.0"
2563
data-urls "^2.0.0"
2564
-
decimal.js "^10.2.0"
2565
domexception "^2.0.1"
2566
-
escodegen "^1.14.1"
2567
html-encoding-sniffer "^2.0.1"
2568
-
is-potential-custom-element-name "^1.0.0"
2569
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"
2574
symbol-tree "^3.2.4"
2575
-
tough-cookie "^3.0.1"
2576
w3c-hr-time "^1.0.2"
2577
w3c-xmlserializer "^2.0.0"
2578
-
webidl-conversions "^6.0.0"
2579
whatwg-encoding "^1.0.5"
2580
whatwg-mimetype "^2.3.0"
2581
-
whatwg-url "^8.0.0"
2582
-
ws "^7.2.3"
2583
xml-name-validator "^3.0.0"
2584
2585
jsesc@^2.5.1:
···
2597
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
2598
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
2599
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
json5@^2.1.2:
2616
version "2.1.3"
2617
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
···
2619
dependencies:
2620
minimist "^1.2.5"
2621
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
kleur@^3.0.3:
2657
version "3.0.3"
2658
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
···
2676
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
2677
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
2678
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==
2683
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"
2693
normalize-path "^3.0.0"
2694
please-upgrade-node "^3.2.0"
2695
string-argv "0.3.1"
2696
stringify-object "^3.3.0"
2697
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==
2702
dependencies:
2703
-
"@samverschueren/stream-to-observable" "^0.3.0"
2704
-
chalk "^3.0.0"
2705
-
cli-cursor "^3.1.0"
2706
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"
2711
log-update "^4.0.0"
2712
p-map "^4.0.0"
2713
-
pad "^3.2.0"
2714
-
rxjs "^6.3.3"
2715
through "^2.3.8"
2716
-
uuid "^7.0.2"
2717
2718
load-json-file@^4.0.0:
2719
version "4.0.0"
···
2732
dependencies:
2733
p-locate "^4.1.0"
2734
2735
lodash.sortby@^4.7.0:
2736
version "4.7.0"
2737
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
2738
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
2739
2740
-
lodash@^4.17.13, lodash@^4.17.15:
2741
version "4.17.15"
2742
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
2743
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
2744
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==
2749
dependencies:
2750
-
chalk "^2.4.2"
2751
2752
log-update@^4.0.0:
2753
version "4.0.0"
···
2759
slice-ansi "^4.0.0"
2760
wrap-ansi "^6.2.0"
2761
2762
-
magic-string@^0.25.0, magic-string@^0.25.2, magic-string@^0.25.7:
2763
version "0.25.7"
2764
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
2765
integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
···
2780
dependencies:
2781
tmpl "1.0.x"
2782
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
memorystream@^0.3.1:
2796
version "0.3.1"
2797
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
···
2802
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
2803
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
2804
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==
2828
dependencies:
2829
braces "^3.0.1"
2830
-
picomatch "^2.0.5"
2831
2832
mime-db@1.44.0:
2833
version "1.44.0"
2834
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
2835
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
2836
2837
-
mime-types@^2.1.12, mime-types@~2.1.19:
2838
version "2.1.27"
2839
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
2840
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
···
2853
dependencies:
2854
brace-expansion "^1.1.7"
2855
2856
-
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
2857
version "1.2.5"
2858
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
2859
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
2860
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:
2875
version "2.1.2"
2876
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
2877
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
2878
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==
2883
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"
2895
2896
natural-compare@^1.4.0:
2897
version "1.4.0"
···
2913
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
2914
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
2915
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"
2927
2928
-
normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
2929
version "2.5.0"
2930
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
2931
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
···
2934
resolve "^1.10.0"
2935
semver "2 || 3 || 4 || 5"
2936
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
2945
normalize-path@^3.0.0:
2946
version "3.0.0"
···
2962
shell-quote "^1.6.1"
2963
string.prototype.padend "^3.0.0"
2964
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:
2973
version "4.0.1"
2974
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
2975
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
···
2981
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
2982
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
2983
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"
2997
2998
object-inspect@^1.7.0:
2999
version "1.7.0"
···
3005
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
3006
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
3007
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
object.assign@^4.1.0:
3016
version "4.1.0"
3017
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
···
3022
has-symbols "^1.0.0"
3023
object-keys "^1.0.11"
3024
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:
3033
version "1.4.0"
3034
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
3035
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
···
3043
dependencies:
3044
mimic-fn "^2.1.0"
3045
3046
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==
3050
3051
optionator@^0.8.1:
3052
version "0.8.3"
···
3065
resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48"
3066
integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==
3067
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
p-limit@^2.2.0:
3074
version "2.3.0"
3075
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
···
3077
dependencies:
3078
p-try "^2.0.0"
3079
3080
p-locate@^4.1.0:
3081
version "4.1.0"
3082
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
···
3084
dependencies:
3085
p-limit "^2.2.0"
3086
3087
p-map@^4.0.0:
3088
version "4.0.0"
3089
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
···
3095
version "2.2.0"
3096
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
3097
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
3106
parent-module@^1.0.0:
3107
version "1.0.1"
···
3128
json-parse-better-errors "^1.0.1"
3129
lines-and-columns "^1.1.6"
3130
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=
3140
3141
path-exists@^4.0.0:
3142
version "4.0.0"
···
3148
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
3149
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
3150
3151
-
path-key@^2.0.0, path-key@^2.0.1:
3152
version "2.0.1"
3153
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
3154
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
···
3175
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
3176
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
3177
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:
3184
version "2.2.2"
3185
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
3186
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
3187
3188
pidtree@^0.3.0:
3189
version "0.3.1"
···
3209
dependencies:
3210
find-up "^4.0.0"
3211
3212
please-upgrade-node@^3.2.0:
3213
version "3.2.0"
3214
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
···
3216
dependencies:
3217
semver-compare "^1.0.0"
3218
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
prelude-ls@~1.1.2:
3225
version "1.1.2"
3226
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
3227
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
3228
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==
3233
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==
3238
dependencies:
3239
-
"@jest/types" "^26.0.1"
3240
ansi-regex "^5.0.0"
3241
-
ansi-styles "^4.0.0"
3242
-
react-is "^16.12.0"
3243
3244
prompts@^2.0.1:
3245
version "2.3.2"
···
3249
kleur "^3.0.3"
3250
sisteransi "^1.0.4"
3251
3252
-
psl@^1.1.28:
3253
version "1.8.0"
3254
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
3255
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
3256
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:
3266
version "2.1.1"
3267
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
3268
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
3269
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"
3288
3289
read-pkg@^3.0.0:
3290
version "3.0.0"
···
3295
normalize-package-data "^2.3.2"
3296
path-type "^3.0.0"
3297
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==
3302
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"
3307
3308
regenerate-unicode-properties@^8.0.2:
3309
version "8.2.0"
···
3317
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
3318
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
3319
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
regexpu-core@4.5.4:
3329
version "4.5.4"
3330
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
···
3354
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
3355
integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
3356
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"
3408
3409
require-directory@^2.1.1:
3410
version "2.1.1"
3411
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
3412
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
3413
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
resolve-cwd@^3.0.0:
3420
version "3.0.0"
3421
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
···
3433
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
3434
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
3435
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:
3442
version "1.17.0"
3443
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
3444
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
3445
dependencies:
3446
path-parse "^1.0.6"
3447
3448
restore-cursor@^3.1.0:
3449
version "3.1.0"
3450
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
···
3453
onetime "^5.1.0"
3454
signal-exit "^3.0.2"
3455
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
rimraf@^3.0.0, rimraf@^3.0.2:
3462
version "3.0.2"
3463
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
···
3465
dependencies:
3466
glob "^7.1.3"
3467
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==
3487
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==
3494
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==
3499
dependencies:
3500
tslib "^1.9.0"
3501
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:
3508
version "5.1.2"
3509
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
3510
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
3511
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:
3520
version "2.1.2"
3521
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
3522
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
3523
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:
3540
version "5.0.1"
3541
resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
3542
integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
···
3548
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
3549
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
3550
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==
3555
3556
"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0:
3557
version "5.7.1"
···
3563
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
3564
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
3565
3566
-
semver@^7.2.1, semver@^7.3.2:
3567
version "7.3.2"
3568
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
3569
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
3570
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
shebang-command@^1.2.0:
3587
version "1.2.0"
3588
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
···
3612
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
3613
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
3614
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:
3621
version "3.0.3"
3622
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
3623
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
···
3650
astral-regex "^2.0.0"
3651
is-fullwidth-code-point "^3.0.0"
3652
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
source-map-support@^0.5.6:
3695
version "0.5.19"
3696
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
···
3699
buffer-from "^1.0.0"
3700
source-map "^0.6.0"
3701
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:
3708
version "0.5.7"
3709
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
3710
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
···
3719
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
3720
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
3721
3722
-
sourcemap-codec@^1.4.4:
3723
version "1.4.8"
3724
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
3725
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
···
3750
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
3751
integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
3752
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
sprintf-js@~1.0.2:
3761
version "1.0.3"
3762
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
3763
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
3764
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==
3784
dependencies:
3785
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
3800
string-argv@0.3.1:
3801
version "0.3.1"
···
3861
define-properties "^1.1.3"
3862
es-abstract "^1.17.5"
3863
3864
stringify-object@^3.3.0:
3865
version "3.3.0"
3866
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
···
3887
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
3888
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
3889
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
strip-final-newline@^2.0.0:
3896
version "2.0.0"
3897
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
3898
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
3899
3900
supports-color@^5.3.0:
3901
version "5.5.0"
3902
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
···
3911
dependencies:
3912
has-flag "^4.0.0"
3913
3914
supports-hyperlinks@^2.0.0:
3915
version "2.1.0"
3916
resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
···
3941
glob "^7.1.4"
3942
minimatch "^3.0.4"
3943
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==
3948
3949
through@^2.3.8:
3950
version "2.3.8"
···
3961
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
3962
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
3963
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
to-regex-range@^5.0.1:
3980
version "5.0.1"
3981
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
···
3983
dependencies:
3984
is-number "^7.0.0"
3985
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==
4008
dependencies:
4009
-
ip-regex "^2.1.0"
4010
-
psl "^1.1.28"
4011
punycode "^2.1.1"
4012
4013
tr46@^2.0.2:
4014
version "2.0.2"
···
4017
dependencies:
4018
punycode "^2.1.1"
4019
4020
tslib@^1.9.0:
4021
version "1.13.0"
4022
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
4023
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
4024
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
type-check@~0.3.2:
4038
version "0.3.2"
4039
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
···
4050
version "0.11.0"
4051
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
4052
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
4064
typedarray-to-buffer@^3.1.5:
4065
version "3.1.5"
···
4091
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
4092
integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
4093
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=
4123
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==
4133
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==
4138
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==
4143
dependencies:
4144
"@types/istanbul-lib-coverage" "^2.0.1"
4145
convert-source-map "^1.6.0"
···
4153
spdx-correct "^3.0.0"
4154
spdx-expression-parse "^3.0.0"
4155
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=
4160
dependencies:
4161
-
assert-plus "^1.0.0"
4162
-
core-util-is "1.0.2"
4163
-
extsprintf "^1.2.0"
4164
4165
w3c-hr-time@^1.0.2:
4166
version "1.0.2"
···
4176
dependencies:
4177
xml-name-validator "^3.0.0"
4178
4179
-
walker@^1.0.7, walker@~1.0.5:
4180
version "1.0.7"
4181
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
4182
integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=
4183
dependencies:
4184
makeerror "1.0.x"
4185
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
webidl-conversions@^5.0.0:
4194
version "5.0.0"
4195
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
4196
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
4197
4198
-
webidl-conversions@^6.0.0:
4199
version "6.1.0"
4200
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
4201
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
···
4221
tr46 "^2.0.2"
4222
webidl-conversions "^5.0.0"
4223
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=
4228
4229
which-pm-runs@^1.0.0:
4230
version "1.0.0"
···
4238
dependencies:
4239
isexe "^2.0.0"
4240
4241
-
which@^2.0.1, which@^2.0.2:
4242
version "2.0.2"
4243
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
4244
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
···
4259
string-width "^4.1.0"
4260
strip-ansi "^6.0.0"
4261
4262
wrappy@1:
4263
version "1.0.2"
4264
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
···
4274
signal-exit "^3.0.2"
4275
typedarray-to-buffer "^3.1.5"
4276
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==
4281
4282
xml-name-validator@^3.0.0:
4283
version "3.0.0"
···
4289
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
4290
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
4291
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==
4296
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==
4301
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"
4309
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==
4314
dependencies:
4315
-
cliui "^6.0.0"
4316
-
decamelize "^1.2.0"
4317
-
find-up "^4.1.0"
4318
-
get-caller-file "^2.0.1"
4319
require-directory "^2.1.1"
4320
-
require-main-filename "^2.0.0"
4321
-
set-blocking "^2.0.0"
4322
string-width "^4.2.0"
4323
-
which-module "^2.0.0"
4324
-
y18n "^4.0.0"
4325
-
yargs-parser "^18.1.1"
···
2
# yarn lockfile v1
3
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
+
26
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
27
version "7.8.3"
28
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
···
30
dependencies:
31
"@babel/highlight" "^7.8.3"
32
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":
67
version "7.9.6"
68
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
69
integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
···
85
semver "^5.4.1"
86
source-map "^0.5.0"
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
+
97
"@babel/generator@^7.9.6":
98
version "7.9.6"
99
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
···
104
lodash "^4.17.13"
105
source-map "^0.5.0"
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
+
126
"@babel/helper-function-name@^7.9.5":
127
version "7.9.5"
128
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
···
132
"@babel/template" "^7.8.3"
133
"@babel/types" "^7.9.5"
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
+
142
"@babel/helper-get-function-arity@^7.8.3":
143
version "7.8.3"
144
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
145
integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
146
dependencies:
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"
162
163
"@babel/helper-member-expression-to-functions@^7.8.3":
164
version "7.8.3"
···
167
dependencies:
168
"@babel/types" "^7.8.3"
169
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":
178
version "7.8.3"
179
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
180
integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
181
dependencies:
182
"@babel/types" "^7.8.3"
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
+
198
"@babel/helper-module-transforms@^7.9.0":
199
version "7.9.0"
200
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
···
208
"@babel/types" "^7.9.0"
209
lodash "^4.17.13"
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
+
218
"@babel/helper-optimise-call-expression@^7.8.3":
219
version "7.8.3"
220
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9"
···
227
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
228
integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
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
+
250
"@babel/helper-replace-supers@^7.8.6":
251
version "7.9.6"
252
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
···
257
"@babel/traverse" "^7.9.6"
258
"@babel/types" "^7.9.6"
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
+
267
"@babel/helper-simple-access@^7.8.3":
268
version "7.8.3"
269
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae"
···
272
"@babel/template" "^7.8.3"
273
"@babel/types" "^7.8.3"
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
+
282
"@babel/helper-split-export-declaration@^7.8.3":
283
version "7.8.3"
284
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
···
286
dependencies:
287
"@babel/types" "^7.8.3"
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
+
294
"@babel/helper-validator-identifier@^7.9.5":
295
version "7.9.5"
296
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
297
integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
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
+
313
"@babel/helpers@^7.9.6":
314
version "7.9.6"
315
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
···
319
"@babel/traverse" "^7.9.6"
320
"@babel/types" "^7.9.6"
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
+
331
"@babel/highlight@^7.8.3":
332
version "7.8.3"
333
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
···
341
version "7.9.6"
342
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
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==
349
350
"@babel/plugin-syntax-async-generators@^7.8.4":
351
version "7.8.4"
···
367
integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==
368
dependencies:
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"
377
378
"@babel/plugin-syntax-json-strings@^7.8.3":
379
version "7.8.3"
···
424
dependencies:
425
"@babel/helper-plugin-utils" "^7.8.0"
426
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==
431
dependencies:
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"
449
babel-plugin-dynamic-import-node "^2.3.3"
450
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==
462
dependencies:
463
+
"@babel/code-frame" "^7.14.5"
464
+
"@babel/parser" "^7.14.5"
465
+
"@babel/types" "^7.14.5"
466
467
"@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
468
version "7.8.6"
···
488
globals "^11.1.0"
489
lodash "^4.17.13"
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
+
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":
507
version "7.9.6"
508
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
···
512
lodash "^4.17.13"
513
to-fast-properties "^2.0.0"
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
+
523
"@bcoe/v8-coverage@^0.2.3":
524
version "0.2.3"
525
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
526
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
527
528
"@istanbuljs/load-nyc-config@^1.0.0":
529
version "1.0.0"
···
540
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
541
integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
542
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==
547
dependencies:
548
+
"@jest/types" "^27.1.0"
549
+
"@types/node" "*"
550
chalk "^4.0.0"
551
+
jest-message-util "^27.1.0"
552
+
jest-util "^27.1.0"
553
slash "^3.0.0"
554
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==
559
dependencies:
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" "*"
566
ansi-escapes "^4.2.1"
567
chalk "^4.0.0"
568
+
emittery "^0.8.1"
569
exit "^0.1.2"
570
graceful-fs "^4.2.4"
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"
585
p-each-series "^2.1.0"
586
rimraf "^3.0.0"
587
slash "^3.0.0"
588
strip-ansi "^6.0.0"
589
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==
594
dependencies:
595
+
"@jest/fake-timers" "^27.1.0"
596
+
"@jest/types" "^27.1.0"
597
+
"@types/node" "*"
598
+
jest-mock "^27.1.0"
599
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==
604
dependencies:
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"
611
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==
616
dependencies:
617
+
"@jest/environment" "^27.1.0"
618
+
"@jest/types" "^27.1.0"
619
+
expect "^27.1.0"
620
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==
625
dependencies:
626
"@bcoe/v8-coverage" "^0.2.3"
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"
631
chalk "^4.0.0"
632
collect-v8-coverage "^1.0.0"
633
exit "^0.1.2"
634
glob "^7.1.2"
635
graceful-fs "^4.2.4"
636
istanbul-lib-coverage "^3.0.0"
637
+
istanbul-lib-instrument "^4.0.3"
638
istanbul-lib-report "^3.0.0"
639
istanbul-lib-source-maps "^4.0.0"
640
istanbul-reports "^3.0.2"
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"
645
slash "^3.0.0"
646
source-map "^0.6.0"
647
string-length "^4.0.1"
648
terminal-link "^2.0.0"
649
+
v8-to-istanbul "^8.0.0"
650
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==
655
dependencies:
656
callsites "^3.0.0"
657
graceful-fs "^4.2.4"
658
source-map "^0.6.0"
659
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==
664
dependencies:
665
+
"@jest/console" "^27.1.0"
666
+
"@jest/types" "^27.1.0"
667
"@types/istanbul-lib-coverage" "^2.0.0"
668
collect-v8-coverage "^1.0.0"
669
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==
674
dependencies:
675
+
"@jest/test-result" "^27.1.0"
676
graceful-fs "^4.2.4"
677
+
jest-haste-map "^27.1.0"
678
+
jest-runtime "^27.1.0"
679
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==
684
dependencies:
685
"@babel/core" "^7.1.0"
686
+
"@jest/types" "^27.1.0"
687
babel-plugin-istanbul "^6.0.0"
688
chalk "^4.0.0"
689
convert-source-map "^1.4.0"
690
fast-json-stable-stringify "^2.0.0"
691
graceful-fs "^4.2.4"
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"
696
pirates "^4.0.1"
697
slash "^3.0.0"
698
source-map "^0.6.1"
699
write-file-atomic "^3.0.0"
700
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==
705
dependencies:
706
"@types/istanbul-lib-coverage" "^2.0.0"
707
+
"@types/istanbul-reports" "^3.0.0"
708
+
"@types/node" "*"
709
+
"@types/yargs" "^16.0.0"
710
chalk "^4.0.0"
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
+
717
"@rollup/plugin-buble@^0.21.3":
718
version "0.21.3"
719
resolved "https://registry.yarnpkg.com/@rollup/plugin-buble/-/plugin-buble-0.21.3.tgz#1649a915b1d051a4f430d40e7734a7f67a69b33e"
···
723
"@types/buble" "^0.19.2"
724
buble "^0.20.0"
725
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==
730
dependencies:
731
+
"@rollup/pluginutils" "^3.1.0"
732
commondir "^1.0.1"
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"
738
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==
743
dependencies:
744
+
"@rollup/pluginutils" "^3.1.0"
745
+
"@types/resolve" "1.17.1"
746
builtin-modules "^3.1.0"
747
+
deepmerge "^4.2.2"
748
is-module "^1.0.0"
749
+
resolve "^1.19.0"
750
751
"@rollup/pluginutils@^3.0.8":
752
version "3.0.10"
···
757
estree-walker "^1.0.1"
758
picomatch "^2.2.2"
759
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==
764
dependencies:
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"
776
777
"@sinonjs/commons@^1.7.0":
778
version "1.7.2"
···
781
dependencies:
782
type-detect "4.0.8"
783
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==
788
dependencies:
789
"@sinonjs/commons" "^1.7.0"
790
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==
807
dependencies:
808
"@babel/parser" "^7.1.0"
809
"@babel/types" "^7.0.0"
···
833
dependencies:
834
"@babel/types" "^7.3.0"
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
+
843
"@types/buble@^0.19.2":
844
version "0.19.2"
845
resolved "https://registry.yarnpkg.com/@types/buble/-/buble-0.19.2.tgz#a4289d20b175b3c206aaad80caabdabe3ecdfdd1"
···
851
version "1.1.1"
852
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
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==
859
860
"@types/estree@0.0.39":
861
version "0.0.39"
···
881
dependencies:
882
"@types/istanbul-lib-coverage" "*"
883
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==
888
dependencies:
889
"@types/istanbul-lib-report" "*"
890
891
"@types/node@*":
···
893
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c"
894
integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==
895
896
"@types/parse-json@^4.0.0":
897
version "4.0.0"
898
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
899
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
900
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==
905
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==
910
dependencies:
911
"@types/node" "*"
912
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==
917
918
"@types/yargs-parser@*":
919
version "15.0.0"
920
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
921
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
922
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==
927
dependencies:
928
"@types/yargs-parser" "*"
929
···
931
version "2.0.3"
932
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
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==
939
940
acorn-dynamic-import@^4.0.0:
941
version "4.0.0"
···
955
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
956
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
957
958
+
acorn-walk@7.1.1, acorn-walk@^7.1.1:
959
version "7.1.1"
960
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
961
integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
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
+
968
acorn@^6.4.1:
969
version "6.4.1"
970
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
···
974
version "7.2.0"
975
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe"
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"
989
990
aggregate-error@^3.0.0:
991
version "3.0.1"
···
995
clean-stack "^2.0.0"
996
indent-string "^4.0.0"
997
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==
1002
1003
ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
1004
version "4.3.1"
···
1027
"@types/color-name" "^1.1.1"
1028
color-convert "^2.0.1"
1029
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==
1034
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=
1039
1040
anymatch@^3.0.3:
1041
version "3.1.1"
···
1052
dependencies:
1053
sprintf-js "~1.0.2"
1054
1055
astral-regex@^2.0.0:
1056
version "2.0.0"
1057
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
···
1062
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
1063
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
1064
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==
1069
dependencies:
1070
+
"@jest/transform" "^27.1.0"
1071
+
"@jest/types" "^27.1.0"
1072
+
"@types/babel__core" "^7.1.14"
1073
babel-plugin-istanbul "^6.0.0"
1074
+
babel-preset-jest "^27.0.6"
1075
chalk "^4.0.0"
1076
graceful-fs "^4.2.4"
1077
slash "^3.0.0"
1078
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==
1083
1084
babel-plugin-dynamic-import-node@^2.3.3:
1085
version "2.3.3"
···
1099
istanbul-lib-instrument "^4.0.0"
1100
test-exclude "^6.0.0"
1101
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==
1106
dependencies:
1107
"@babel/template" "^7.3.3"
1108
"@babel/types" "^7.3.3"
1109
+
"@types/babel__core" "^7.0.0"
1110
"@types/babel__traverse" "^7.0.6"
1111
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==
1116
dependencies:
1117
"@babel/plugin-syntax-async-generators" "^7.8.4"
1118
"@babel/plugin-syntax-bigint" "^7.8.3"
1119
"@babel/plugin-syntax-class-properties" "^7.8.3"
1120
+
"@babel/plugin-syntax-import-meta" "^7.8.3"
1121
"@babel/plugin-syntax-json-strings" "^7.8.3"
1122
"@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
1123
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
···
1125
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
1126
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
1127
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
1128
+
"@babel/plugin-syntax-top-level-await" "^7.8.3"
1129
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==
1134
dependencies:
1135
+
babel-plugin-jest-hoist "^27.0.6"
1136
+
babel-preset-current-node-syntax "^1.0.0"
1137
1138
balanced-match@^1.0.0:
1139
version "1.0.0"
1140
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
1141
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
1142
1143
brace-expansion@^1.1.7:
1144
version "1.1.11"
1145
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
···
1148
balanced-match "^1.0.0"
1149
concat-map "0.0.1"
1150
1151
braces@^3.0.1:
1152
version "3.0.2"
1153
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
···
1159
version "1.0.0"
1160
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
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"
1173
1174
bser@2.1.1:
1175
version "2.1.1"
···
1201
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
1202
integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
1203
1204
callsites@^3.0.0:
1205
version "3.1.0"
1206
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
1207
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
1208
1209
+
camelcase@^5.3.1:
1210
version "5.3.1"
1211
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
1212
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
1213
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==
1218
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==
1223
1224
+
chalk@2.x, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
1225
version "2.4.2"
1226
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
1227
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
···
1230
escape-string-regexp "^1.0.5"
1231
supports-color "^5.3.0"
1232
1233
chalk@^4.0.0:
1234
version "4.0.0"
1235
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
···
1238
ansi-styles "^4.1.0"
1239
supports-color "^7.1.0"
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
+
1249
char-regex@^1.0.2:
1250
version "1.0.2"
1251
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
···
1256
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
1257
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
1258
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==
1268
1269
clean-stack@^2.0.0:
1270
version "2.2.0"
···
1286
slice-ansi "^3.0.0"
1287
string-width "^4.2.0"
1288
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==
1293
dependencies:
1294
string-width "^4.2.0"
1295
strip-ansi "^6.0.0"
1296
+
wrap-ansi "^7.0.0"
1297
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"
1321
1322
co@^4.6.0:
1323
version "4.6.0"
···
1328
version "1.0.1"
1329
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
1330
integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
1331
1332
color-convert@^1.9.0:
1333
version "1.9.3"
···
1353
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
1354
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
1355
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:
1362
version "1.0.8"
1363
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
1364
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
1365
dependencies:
1366
delayed-stream "~1.0.0"
1367
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==
1377
1378
commondir@^1.0.1:
1379
version "1.0.1"
···
1385
resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
1386
integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
1387
1388
concat-map@0.0.1:
1389
version "0.0.1"
1390
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
···
1397
dependencies:
1398
safe-buffer "~5.1.1"
1399
1400
+
core-util-is@~1.0.0:
1401
version "1.0.2"
1402
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
1403
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
1404
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==
1409
dependencies:
1410
"@types/parse-json" "^4.0.0"
1411
+
import-fresh "^3.2.1"
1412
parse-json "^5.0.0"
1413
path-type "^4.0.0"
1414
+
yaml "^1.10.0"
1415
1416
+
cross-spawn@^6.0.5:
1417
version "6.0.5"
1418
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
1419
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
···
1424
shebang-command "^1.2.0"
1425
which "^1.2.9"
1426
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==
1431
dependencies:
1432
path-key "^3.1.0"
1433
shebang-command "^2.0.0"
···
1443
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
1444
integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
1445
1446
+
cssstyle@^2.3.0:
1447
version "2.3.0"
1448
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
1449
integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
1450
dependencies:
1451
cssom "~0.3.6"
1452
1453
data-urls@^2.0.0:
1454
version "2.0.0"
1455
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
···
1459
whatwg-mimetype "^2.3.0"
1460
whatwg-url "^8.0.0"
1461
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==
1466
dependencies:
1467
+
ms "2.1.2"
1468
1469
debug@^4.1.0, debug@^4.1.1:
1470
version "4.1.1"
···
1473
dependencies:
1474
ms "^2.1.1"
1475
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==
1480
1481
dedent@^0.7.0:
1482
version "0.7.0"
···
1493
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
1494
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
1495
1496
define-properties@^1.1.2, define-properties@^1.1.3:
1497
version "1.1.3"
1498
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
···
1500
dependencies:
1501
object-keys "^1.0.12"
1502
1503
delayed-stream@~1.0.0:
1504
version "1.0.0"
1505
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
···
1510
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
1511
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
1512
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==
1517
1518
domexception@^2.0.1:
1519
version "2.0.1"
···
1522
dependencies:
1523
webidl-conversions "^5.0.0"
1524
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==
1529
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==
1534
1535
emoji-regex@^8.0.0:
1536
version "8.0.0"
1537
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
1538
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
1539
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==
1544
dependencies:
1545
+
ansi-colors "^4.1.1"
1546
1547
error-ex@^1.3.1:
1548
version "1.3.2"
···
1577
is-date-object "^1.0.1"
1578
is-symbol "^1.0.2"
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
+
1585
escape-string-regexp@^1.0.5:
1586
version "1.0.5"
1587
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
···
1592
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
1593
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
1594
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==
1599
dependencies:
1600
esprima "^4.0.1"
1601
+
estraverse "^5.2.0"
1602
esutils "^2.0.2"
1603
optionator "^0.8.1"
1604
optionalDependencies:
···
1609
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
1610
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
1611
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==
1616
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==
1621
1622
estree-walker@^1.0.1:
1623
version "1.0.1"
···
1629
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1630
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1631
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==
1636
dependencies:
1637
+
cross-spawn "^7.0.3"
1638
+
get-stream "^6.0.0"
1639
+
human-signals "^2.1.0"
1640
is-stream "^2.0.0"
1641
merge-stream "^2.0.0"
1642
+
npm-run-path "^4.0.1"
1643
+
onetime "^5.1.2"
1644
+
signal-exit "^3.0.3"
1645
strip-final-newline "^2.0.0"
1646
1647
exit@^0.1.2:
···
1649
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
1650
integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
1651
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==
1656
dependencies:
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"
1663
1664
fast-json-stable-stringify@^2.0.0:
1665
version "2.1.0"
···
1678
dependencies:
1679
bser "2.1.1"
1680
1681
fill-range@^7.0.1:
1682
version "7.0.1"
1683
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
···
1693
locate-path "^5.0.0"
1694
path-exists "^4.0.0"
1695
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==
1700
dependencies:
1701
+
locate-path "^6.0.0"
1702
+
path-exists "^4.0.0"
1703
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"
1710
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==
1715
dependencies:
1716
asynckit "^0.4.0"
1717
+
combined-stream "^1.0.8"
1718
mime-types "^2.1.12"
1719
1720
fs.realpath@^1.0.0:
1721
version "1.0.0"
1722
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1723
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1724
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==
1729
1730
function-bind@^1.1.1:
1731
version "1.1.1"
···
1737
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
1738
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
1739
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:
1746
version "2.0.5"
1747
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1748
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
···
1752
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
1753
integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
1754
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==
1759
1760
+
glob@7.1.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
1761
version "7.1.6"
1762
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
1763
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
···
1769
once "^1.3.0"
1770
path-is-absolute "^1.0.0"
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
+
1784
globals@^11.1.0:
1785
version "11.12.0"
1786
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1787
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1788
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==
1793
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==
1798
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==
1803
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==
1813
dependencies:
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==
1828
1829
has-flag@^3.0.0:
1830
version "3.0.0"
···
1841
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
1842
integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
1843
1844
has@^1.0.3:
1845
version "1.0.3"
1846
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
···
1865
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
1866
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
1867
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==
1872
dependencies:
1873
+
"@tootallnate/once" "1"
1874
+
agent-base "6"
1875
+
debug "4"
1876
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"
1884
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==
1894
dependencies:
1895
chalk "^4.0.0"
1896
ci-info "^2.0.0"
1897
compare-versions "^3.6.0"
1898
+
cosmiconfig "^7.0.0"
1899
+
find-versions "^4.0.0"
1900
opencollective-postinstall "^2.0.2"
1901
+
pkg-dir "^5.0.0"
1902
please-upgrade-node "^3.2.0"
1903
slash "^3.0.0"
1904
which-pm-runs "^1.0.0"
···
1910
dependencies:
1911
safer-buffer ">= 2.1.2 < 3"
1912
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==
1917
dependencies:
1918
parent-module "^1.0.0"
1919
resolve-from "^4.0.0"
···
1944
once "^1.3.0"
1945
wrappy "1"
1946
1947
+
inherits@2, inherits@^2.0.1, inherits@~2.0.3:
1948
version "2.0.4"
1949
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1950
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1951
1952
is-arrayish@^0.2.1:
1953
version "0.2.1"
1954
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1955
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
1956
1957
is-callable@^1.1.4, is-callable@^1.1.5:
1958
version "1.1.5"
1959
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
1960
integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
1961
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==
1966
dependencies:
1967
+
ci-info "^3.1.1"
1968
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==
1973
dependencies:
1974
+
has "^1.0.3"
1975
1976
is-date-object@^1.0.1:
1977
version "1.0.2"
1978
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
1979
integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
1980
1981
is-fullwidth-code-point@^3.0.0:
1982
version "3.0.0"
1983
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
···
1992
version "1.0.0"
1993
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
1994
integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
1995
1996
is-number@^7.0.0:
1997
version "7.0.0"
···
2003
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
2004
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
2005
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==
2010
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==
2015
dependencies:
2016
+
"@types/estree" "*"
2017
2018
is-regex@^1.0.5:
2019
version "1.0.5"
···
2027
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
2028
integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
2029
2030
is-stream@^2.0.0:
2031
version "2.0.0"
2032
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
···
2039
dependencies:
2040
has-symbols "^1.0.1"
2041
2042
+
is-typedarray@^1.0.0:
2043
version "1.0.0"
2044
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
2045
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
2046
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==
2051
2052
+
isarray@~1.0.0:
2053
version "1.0.0"
2054
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
2055
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
···
2059
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
2060
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
2061
2062
istanbul-lib-coverage@^3.0.0:
2063
version "3.0.0"
2064
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
2065
integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
2066
2067
+
istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3:
2068
version "4.0.3"
2069
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
2070
integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
···
2100
html-escaper "^2.0.0"
2101
istanbul-lib-report "^3.0.0"
2102
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==
2116
dependencies:
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"
2136
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==
2141
dependencies:
2142
+
"@jest/core" "^27.1.0"
2143
+
"@jest/test-result" "^27.1.0"
2144
+
"@jest/types" "^27.1.0"
2145
chalk "^4.0.0"
2146
exit "^0.1.2"
2147
graceful-fs "^4.2.4"
2148
import-local "^3.0.2"
2149
+
jest-config "^27.1.0"
2150
+
jest-util "^27.1.0"
2151
+
jest-validate "^27.1.0"
2152
prompts "^2.0.1"
2153
+
yargs "^16.0.3"
2154
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==
2159
dependencies:
2160
"@babel/core" "^7.1.0"
2161
+
"@jest/test-sequencer" "^27.1.0"
2162
+
"@jest/types" "^27.1.0"
2163
+
babel-jest "^27.1.0"
2164
chalk "^4.0.0"
2165
deepmerge "^4.2.2"
2166
glob "^7.1.1"
2167
graceful-fs "^4.2.4"
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"
2181
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==
2186
dependencies:
2187
chalk "^4.0.0"
2188
+
diff-sequences "^27.0.6"
2189
+
jest-get-type "^27.0.6"
2190
+
pretty-format "^27.1.0"
2191
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==
2196
dependencies:
2197
detect-newline "^3.0.0"
2198
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==
2203
dependencies:
2204
+
"@jest/types" "^27.1.0"
2205
chalk "^4.0.0"
2206
+
jest-get-type "^27.0.6"
2207
+
jest-util "^27.1.0"
2208
+
pretty-format "^27.1.0"
2209
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==
2214
dependencies:
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"
2222
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==
2227
dependencies:
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"
2234
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==
2239
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==
2244
dependencies:
2245
+
"@jest/types" "^27.1.0"
2246
"@types/graceful-fs" "^4.1.2"
2247
+
"@types/node" "*"
2248
anymatch "^3.0.3"
2249
fb-watchman "^2.0.0"
2250
graceful-fs "^4.2.4"
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"
2256
walker "^1.0.7"
2257
optionalDependencies:
2258
+
fsevents "^2.3.2"
2259
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==
2264
dependencies:
2265
"@babel/traverse" "^7.1.0"
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" "*"
2271
chalk "^4.0.0"
2272
co "^4.6.0"
2273
+
expect "^27.1.0"
2274
is-generator-fn "^2.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"
2283
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==
2288
dependencies:
2289
+
jest-get-type "^27.0.6"
2290
+
pretty-format "^27.1.0"
2291
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==
2296
dependencies:
2297
chalk "^4.0.0"
2298
+
jest-diff "^27.1.0"
2299
+
jest-get-type "^27.0.6"
2300
+
pretty-format "^27.1.0"
2301
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==
2306
dependencies:
2307
+
"@babel/code-frame" "^7.12.13"
2308
+
"@jest/types" "^27.1.0"
2309
+
"@types/stack-utils" "^2.0.0"
2310
chalk "^4.0.0"
2311
graceful-fs "^4.2.4"
2312
+
micromatch "^4.0.4"
2313
+
pretty-format "^27.1.0"
2314
slash "^3.0.0"
2315
+
stack-utils "^2.0.3"
2316
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==
2321
dependencies:
2322
+
"@jest/types" "^27.1.0"
2323
+
"@types/node" "*"
2324
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==
2329
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==
2334
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==
2339
dependencies:
2340
+
"@jest/types" "^27.1.0"
2341
+
jest-regex-util "^27.0.6"
2342
+
jest-snapshot "^27.1.0"
2343
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==
2348
dependencies:
2349
+
"@jest/types" "^27.1.0"
2350
chalk "^4.0.0"
2351
+
escalade "^3.1.1"
2352
graceful-fs "^4.2.4"
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"
2358
slash "^3.0.0"
2359
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==
2364
dependencies:
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" "*"
2371
chalk "^4.0.0"
2372
+
emittery "^0.8.1"
2373
exit "^0.1.2"
2374
graceful-fs "^4.2.4"
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"
2385
source-map-support "^0.5.6"
2386
+
throat "^6.0.1"
2387
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==
2392
dependencies:
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"
2402
chalk "^4.0.0"
2403
+
cjs-module-lexer "^1.0.0"
2404
collect-v8-coverage "^1.0.0"
2405
+
execa "^5.0.0"
2406
exit "^0.1.2"
2407
glob "^7.1.3"
2408
graceful-fs "^4.2.4"
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"
2417
slash "^3.0.0"
2418
strip-bom "^4.0.0"
2419
+
yargs "^16.0.3"
2420
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==
2425
dependencies:
2426
+
"@types/node" "*"
2427
graceful-fs "^4.2.4"
2428
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==
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"
2439
"@babel/types" "^7.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"
2445
chalk "^4.0.0"
2446
+
expect "^27.1.0"
2447
graceful-fs "^4.2.4"
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"
2455
natural-compare "^1.4.0"
2456
+
pretty-format "^27.1.0"
2457
semver "^7.3.2"
2458
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==
2463
dependencies:
2464
+
"@jest/types" "^27.1.0"
2465
+
"@types/node" "*"
2466
chalk "^4.0.0"
2467
graceful-fs "^4.2.4"
2468
+
is-ci "^3.0.0"
2469
+
picomatch "^2.2.3"
2470
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==
2475
dependencies:
2476
+
"@jest/types" "^27.1.0"
2477
+
camelcase "^6.2.0"
2478
chalk "^4.0.0"
2479
+
jest-get-type "^27.0.6"
2480
leven "^3.1.0"
2481
+
pretty-format "^27.1.0"
2482
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==
2487
dependencies:
2488
+
"@jest/test-result" "^27.1.0"
2489
+
"@jest/types" "^27.1.0"
2490
+
"@types/node" "*"
2491
ansi-escapes "^4.2.1"
2492
chalk "^4.0.0"
2493
+
jest-util "^27.1.0"
2494
string-length "^4.0.1"
2495
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==
2500
dependencies:
2501
+
"@types/node" "*"
2502
merge-stream "^2.0.0"
2503
+
supports-color "^8.0.0"
2504
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==
2509
dependencies:
2510
+
"@jest/core" "^27.1.0"
2511
import-local "^3.0.2"
2512
+
jest-cli "^27.1.0"
2513
2514
js-tokens@^4.0.0:
2515
version "4.0.0"
···
2524
argparse "^1.0.7"
2525
esprima "^4.0.0"
2526
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==
2531
dependencies:
2532
+
abab "^2.0.5"
2533
+
acorn "^8.2.4"
2534
acorn-globals "^6.0.0"
2535
cssom "^0.4.4"
2536
+
cssstyle "^2.3.0"
2537
data-urls "^2.0.0"
2538
+
decimal.js "^10.2.1"
2539
domexception "^2.0.1"
2540
+
escodegen "^2.0.0"
2541
+
form-data "^3.0.0"
2542
html-encoding-sniffer "^2.0.1"
2543
+
http-proxy-agent "^4.0.1"
2544
+
https-proxy-agent "^5.0.0"
2545
+
is-potential-custom-element-name "^1.0.1"
2546
nwsapi "^2.2.0"
2547
+
parse5 "6.0.1"
2548
+
saxes "^5.0.1"
2549
symbol-tree "^3.2.4"
2550
+
tough-cookie "^4.0.0"
2551
w3c-hr-time "^1.0.2"
2552
w3c-xmlserializer "^2.0.0"
2553
+
webidl-conversions "^6.1.0"
2554
whatwg-encoding "^1.0.5"
2555
whatwg-mimetype "^2.3.0"
2556
+
whatwg-url "^8.5.0"
2557
+
ws "^7.4.6"
2558
xml-name-validator "^3.0.0"
2559
2560
jsesc@^2.5.1:
···
2572
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
2573
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
2574
2575
json5@^2.1.2:
2576
version "2.1.3"
2577
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
···
2579
dependencies:
2580
minimist "^1.2.5"
2581
2582
kleur@^3.0.3:
2583
version "3.0.3"
2584
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
···
2602
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
2603
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
2604
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==
2609
dependencies:
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"
2620
normalize-path "^3.0.0"
2621
please-upgrade-node "^3.2.0"
2622
string-argv "0.3.1"
2623
stringify-object "^3.3.0"
2624
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==
2629
dependencies:
2630
cli-truncate "^2.1.0"
2631
+
colorette "^1.2.2"
2632
log-update "^4.0.0"
2633
p-map "^4.0.0"
2634
+
rxjs "^6.6.7"
2635
through "^2.3.8"
2636
+
wrap-ansi "^7.0.0"
2637
2638
load-json-file@^4.0.0:
2639
version "4.0.0"
···
2652
dependencies:
2653
p-locate "^4.1.0"
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
+
2662
lodash.sortby@^4.7.0:
2663
version "4.7.0"
2664
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
2665
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
2666
2667
+
lodash@^4.17.13:
2668
version "4.17.15"
2669
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
2670
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
2671
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==
2681
dependencies:
2682
+
chalk "^4.1.0"
2683
+
is-unicode-supported "^0.1.0"
2684
2685
log-update@^4.0.0:
2686
version "4.0.0"
···
2692
slice-ansi "^4.0.0"
2693
wrap-ansi "^6.2.0"
2694
2695
+
magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.7:
2696
version "0.25.7"
2697
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
2698
integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
···
2713
dependencies:
2714
tmpl "1.0.x"
2715
2716
memorystream@^0.3.1:
2717
version "0.3.1"
2718
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
···
2723
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
2724
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
2725
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==
2730
dependencies:
2731
braces "^3.0.1"
2732
+
picomatch "^2.2.3"
2733
2734
mime-db@1.44.0:
2735
version "1.44.0"
2736
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
2737
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
2738
2739
+
mime-types@^2.1.12:
2740
version "2.1.27"
2741
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
2742
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
···
2755
dependencies:
2756
brace-expansion "^1.1.7"
2757
2758
+
minimist@1.x, minimist@^1.2.5:
2759
version "1.2.5"
2760
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
2761
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
2762
2763
+
ms@2.1.2, ms@^2.1.1:
2764
version "2.1.2"
2765
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
2766
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
2767
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==
2772
dependencies:
2773
+
any-promise "^1.0.0"
2774
+
object-assign "^4.0.1"
2775
+
thenify-all "^1.0.0"
2776
2777
natural-compare@^1.4.0:
2778
version "1.4.0"
···
2794
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
2795
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
2796
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==
2801
2802
+
normalize-package-data@^2.3.2:
2803
version "2.5.0"
2804
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
2805
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
···
2808
resolve "^1.10.0"
2809
semver "2 || 3 || 4 || 5"
2810
validate-npm-package-license "^3.0.1"
2811
2812
normalize-path@^3.0.0:
2813
version "3.0.0"
···
2829
shell-quote "^1.6.1"
2830
string.prototype.padend "^3.0.0"
2831
2832
+
npm-run-path@^4.0.1:
2833
version "4.0.1"
2834
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
2835
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
···
2841
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
2842
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
2843
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=
2848
2849
object-inspect@^1.7.0:
2850
version "1.7.0"
···
2856
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
2857
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
2858
2859
object.assign@^4.1.0:
2860
version "4.1.0"
2861
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
···
2866
has-symbols "^1.0.0"
2867
object-keys "^1.0.11"
2868
2869
+
once@^1.3.0:
2870
version "1.4.0"
2871
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2872
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
···
2880
dependencies:
2881
mimic-fn "^2.1.0"
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
+
2890
opencollective-postinstall@^2.0.2:
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==
2894
2895
optionator@^0.8.1:
2896
version "0.8.3"
···
2909
resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48"
2910
integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==
2911
2912
p-limit@^2.2.0:
2913
version "2.3.0"
2914
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
···
2916
dependencies:
2917
p-try "^2.0.0"
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
+
2926
p-locate@^4.1.0:
2927
version "4.1.0"
2928
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
···
2930
dependencies:
2931
p-limit "^2.2.0"
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
+
2940
p-map@^4.0.0:
2941
version "4.0.0"
2942
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
···
2948
version "2.2.0"
2949
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
2950
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
2951
2952
parent-module@^1.0.0:
2953
version "1.0.1"
···
2974
json-parse-better-errors "^1.0.1"
2975
lines-and-columns "^1.1.6"
2976
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==
2981
2982
path-exists@^4.0.0:
2983
version "4.0.0"
···
2989
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2990
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
2991
2992
+
path-key@^2.0.1:
2993
version "2.0.1"
2994
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
2995
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
···
3016
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
3017
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
3018
3019
+
picomatch@^2.0.4, picomatch@^2.2.2:
3020
version "2.2.2"
3021
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
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==
3028
3029
pidtree@^0.3.0:
3030
version "0.3.1"
···
3050
dependencies:
3051
find-up "^4.0.0"
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
+
3060
please-upgrade-node@^3.2.0:
3061
version "3.2.0"
3062
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
···
3064
dependencies:
3065
semver-compare "^1.0.0"
3066
3067
prelude-ls@~1.1.2:
3068
version "1.1.2"
3069
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
3070
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
3071
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==
3076
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==
3081
dependencies:
3082
+
"@jest/types" "^27.1.0"
3083
ansi-regex "^5.0.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==
3091
3092
prompts@^2.0.1:
3093
version "2.3.2"
···
3097
kleur "^3.0.3"
3098
sisteransi "^1.0.4"
3099
3100
+
psl@^1.1.33:
3101
version "1.8.0"
3102
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
3103
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
3104
3105
+
punycode@^2.1.1:
3106
version "2.1.1"
3107
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
3108
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
3109
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==
3114
3115
read-pkg@^3.0.0:
3116
version "3.0.0"
···
3121
normalize-package-data "^2.3.2"
3122
path-type "^3.0.0"
3123
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==
3128
dependencies:
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"
3136
3137
regenerate-unicode-properties@^8.0.2:
3138
version "8.2.0"
···
3146
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
3147
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
3148
3149
regexpu-core@4.5.4:
3150
version "4.5.4"
3151
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
···
3175
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
3176
integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
3177
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==
3182
3183
require-directory@^2.1.1:
3184
version "2.1.1"
3185
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
3186
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
3187
3188
resolve-cwd@^3.0.0:
3189
version "3.0.0"
3190
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
···
3202
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
3203
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
3204
3205
+
resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2:
3206
version "1.17.0"
3207
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
3208
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
3209
dependencies:
3210
path-parse "^1.0.6"
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
+
3220
restore-cursor@^3.1.0:
3221
version "3.1.0"
3222
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
···
3225
onetime "^5.1.0"
3226
signal-exit "^3.0.2"
3227
3228
rimraf@^3.0.0, rimraf@^3.0.2:
3229
version "3.0.2"
3230
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
···
3232
dependencies:
3233
glob "^7.1.3"
3234
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==
3239
optionalDependencies:
3240
+
fsevents "~2.3.2"
3241
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==
3246
dependencies:
3247
tslib "^1.9.0"
3248
3249
+
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
3250
version "5.1.2"
3251
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
3252
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
3253
3254
+
"safer-buffer@>= 2.1.2 < 3":
3255
version "2.1.2"
3256
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
3257
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
3258
3259
+
saxes@^5.0.1:
3260
version "5.0.1"
3261
resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
3262
integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
···
3268
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
3269
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
3270
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==
3275
3276
"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0:
3277
version "5.7.1"
···
3283
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
3284
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
3285
3286
+
semver@^7.3.2:
3287
version "7.3.2"
3288
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
3289
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
3290
3291
shebang-command@^1.2.0:
3292
version "1.2.0"
3293
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
···
3317
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
3318
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
3319
3320
+
signal-exit@^3.0.2, signal-exit@^3.0.3:
3321
version "3.0.3"
3322
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
3323
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
···
3350
astral-regex "^2.0.0"
3351
is-fullwidth-code-point "^3.0.0"
3352
3353
source-map-support@^0.5.6:
3354
version "0.5.19"
3355
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
···
3358
buffer-from "^1.0.0"
3359
source-map "^0.6.0"
3360
3361
+
source-map@^0.5.0, source-map@^0.5.1:
3362
version "0.5.7"
3363
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
3364
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
···
3373
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
3374
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
3375
3376
+
sourcemap-codec@1.4.8, sourcemap-codec@^1.4.4:
3377
version "1.4.8"
3378
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
3379
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
···
3404
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
3405
integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
3406
3407
sprintf-js@~1.0.2:
3408
version "1.0.3"
3409
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
3410
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
3411
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==
3416
dependencies:
3417
escape-string-regexp "^2.0.0"
3418
3419
string-argv@0.3.1:
3420
version "0.3.1"
···
3480
define-properties "^1.1.3"
3481
es-abstract "^1.17.5"
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
+
3490
stringify-object@^3.3.0:
3491
version "3.3.0"
3492
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
···
3513
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
3514
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
3515
3516
strip-final-newline@^2.0.0:
3517
version "2.0.0"
3518
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
3519
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
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
+
3533
supports-color@^5.3.0:
3534
version "5.5.0"
3535
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
···
3544
dependencies:
3545
has-flag "^4.0.0"
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
+
3554
supports-hyperlinks@^2.0.0:
3555
version "2.1.0"
3556
resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
···
3581
glob "^7.1.4"
3582
minimatch "^3.0.4"
3583
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==
3602
3603
through@^2.3.8:
3604
version "2.3.8"
···
3615
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
3616
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
3617
3618
to-regex-range@^5.0.1:
3619
version "5.0.1"
3620
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
···
3622
dependencies:
3623
is-number "^7.0.0"
3624
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==
3629
dependencies:
3630
+
psl "^1.1.33"
3631
punycode "^2.1.1"
3632
+
universalify "^0.1.2"
3633
3634
tr46@^2.0.2:
3635
version "2.0.2"
···
3638
dependencies:
3639
punycode "^2.1.1"
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
+
3653
tslib@^1.9.0:
3654
version "1.13.0"
3655
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
3656
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
3657
3658
type-check@~0.3.2:
3659
version "0.3.2"
3660
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
···
3671
version "0.11.0"
3672
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
3673
integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
3674
3675
typedarray-to-buffer@^3.1.5:
3676
version "3.1.5"
···
3702
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
3703
integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
3704
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==
3709
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=
3714
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==
3719
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==
3724
dependencies:
3725
"@types/istanbul-lib-coverage" "^2.0.1"
3726
convert-source-map "^1.6.0"
···
3734
spdx-correct "^3.0.0"
3735
spdx-expression-parse "^3.0.0"
3736
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=
3741
dependencies:
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"
3755
3756
w3c-hr-time@^1.0.2:
3757
version "1.0.2"
···
3767
dependencies:
3768
xml-name-validator "^3.0.0"
3769
3770
+
walker@^1.0.7:
3771
version "1.0.7"
3772
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
3773
integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=
3774
dependencies:
3775
makeerror "1.0.x"
3776
3777
webidl-conversions@^5.0.0:
3778
version "5.0.0"
3779
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
3780
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
3781
3782
+
webidl-conversions@^6.1.0:
3783
version "6.1.0"
3784
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
3785
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
···
3805
tr46 "^2.0.2"
3806
webidl-conversions "^5.0.0"
3807
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"
3816
3817
which-pm-runs@^1.0.0:
3818
version "1.0.0"
···
3826
dependencies:
3827
isexe "^2.0.0"
3828
3829
+
which@^2.0.1:
3830
version "2.0.2"
3831
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
3832
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
···
3847
string-width "^4.1.0"
3848
strip-ansi "^6.0.0"
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
+
3859
wrappy@1:
3860
version "1.0.2"
3861
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
···
3871
signal-exit "^3.0.2"
3872
typedarray-to-buffer "^3.1.5"
3873
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==
3878
3879
xml-name-validator@^3.0.0:
3880
version "3.0.0"
···
3886
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
3887
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
3888
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==
3893
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==
3898
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==
3903
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==
3908
dependencies:
3909
+
cliui "^7.0.2"
3910
+
escalade "^3.1.1"
3911
+
get-caller-file "^2.0.5"
3912
require-directory "^2.1.1"
3913
string-width "^4.2.0"
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==