├── .gitignore
├── src
├── index.ts
├── expressions
│ ├── unescape.rexs
│ └── tokenizer.rexs
├── builderHelpers.ts
├── lang
│ ├── compiler.ts
│ └── decompiler.ts
└── builder.ts
├── .github
├── dependabot.yml
└── workflows
│ ├── pr.yml
│ ├── ci.yml
│ └── codeql-analysis.yml
├── .npmignore
├── webpack.config.js
├── tsconfig.json
├── tsconfig.browser.json
├── .nycrc
├── README.md
├── package.json
├── test
├── index.js
└── expressions.txt
├── LICENSE
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | dist
3 | dist.browser
4 | node_modules
5 | coverage
6 | .nyc_output
7 | yarn-error.log
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./builder";
2 |
3 | export {Compile} from "./lang/compiler";
4 | export {Decompile} from "./lang/decompiler";
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "npm"
4 | directory: "/"
5 | schedule:
6 | interval: "daily"
7 |
--------------------------------------------------------------------------------
/src/expressions/unescape.rexs:
--------------------------------------------------------------------------------
1 | flag(g);
2 |
3 | before(not) {
4 | match("\");
5 | }
6 |
7 | repeat(0, inf) {
8 | match("\\");
9 | }
10 |
11 | match("\");
12 |
13 | group() {
14 | match(ANY);
15 | }
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .idea
2 | node_modules
3 | .gitignore
4 | .npmignore
5 | package-lock.json
6 | yarn.lock
7 | tsconfig.json
8 | tsconfig.browser.json
9 | webpack.config.js
10 | .nycrc
11 | coverage
12 | .github
13 | .nyc_output
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require("path");
2 |
3 | module.exports = {
4 | entry: "./dist/esm/index.js",
5 | output: {
6 | path: path.resolve(__dirname, "dist"),
7 | filename: "rexs.min.js",
8 | library: "REXS"
9 | },
10 | mode: "production"
11 | };
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["es2017"],
4 | "module": "commonjs",
5 | "noImplicitReturns": true,
6 | "esModuleInterop": true,
7 | "outDir": "dist/cjs",
8 | "rootDir": "src",
9 | "sourceMap": true,
10 | "target": "es6",
11 | "declaration": true,
12 | "moduleResolution": "node"
13 | },
14 | "compileOnSave": true,
15 | "include": ["src/**/*"],
16 | "exclude": ["node_modules", ".idea", ".env"]
17 | }
--------------------------------------------------------------------------------
/tsconfig.browser.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["es2016", "dom", "es5"],
4 | "module": "es2015",
5 | "noImplicitReturns": true,
6 | "esModuleInterop": true,
7 | "outDir": "dist/esm",
8 | "rootDir": "src",
9 | "sourceMap": true,
10 | "target": "es5",
11 | "declaration": true,
12 | "moduleResolution": "node"
13 | },
14 | "compileOnSave": true,
15 | "include": ["src/**/*"],
16 | "exclude": ["node_modules", ".idea", ".env"]
17 | }
--------------------------------------------------------------------------------
/.nycrc:
--------------------------------------------------------------------------------
1 | {
2 | "cache": false,
3 | "check-coverage": false,
4 | "extension": [
5 | ".ts"
6 | ],
7 | "include": [
8 | "**/*.js",
9 | "**/*.ts"
10 | ],
11 | "exclude": [
12 | "coverage/**",
13 | "node_modules/**",
14 | "**/*.d.ts",
15 | "**/*.test.ts",
16 | "dist/esm/**",
17 | "dist/decimalsystem.min.js",
18 | "webpack.config.js"
19 | ],
20 | "sourceMap": true,
21 | "reporter": [
22 | "text"
23 | ],
24 | "all": true,
25 | "instrument": true
26 | }
--------------------------------------------------------------------------------
/.github/workflows/pr.yml:
--------------------------------------------------------------------------------
1 | name: Build and Test
2 | on:
3 | pull_request:
4 | branches: [ master ]
5 | jobs:
6 | build:
7 | runs-on: ubuntu-latest
8 | strategy:
9 | matrix:
10 | node-version: [ 14.x ]
11 | steps:
12 | - uses: actions/checkout@v2
13 | - name: Use Node.js ${{ matrix.node-version }}
14 | uses: actions/setup-node@v1
15 | with:
16 | node-version: ${{ matrix.node-version }}
17 | - name: Build
18 | run: |
19 | yarn install --frozen-lockfile
20 | yarn build
21 | - name: Test
22 | run: yarn test
23 | - name: Upload
24 | uses: actions/upload-artifact@v2
25 | with:
26 | name: REXS
27 | path: dist/
28 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: Build and Test
2 | on:
3 | push:
4 | branches: [ master ]
5 | jobs:
6 | build:
7 | runs-on: ubuntu-latest
8 | strategy:
9 | matrix:
10 | node-version: [ 14.x ]
11 | steps:
12 | - uses: actions/checkout@v2
13 | - name: Use Node.js ${{ matrix.node-version }}
14 | uses: actions/setup-node@v1
15 | with:
16 | node-version: ${{ matrix.node-version }}
17 | - name: Build
18 | run: |
19 | yarn install --frozen-lockfile
20 | yarn build
21 | - name: Test
22 | run: yarn test
23 | - name: Upload
24 | uses: actions/upload-artifact@v2
25 | with:
26 | name: REXS
27 | path: dist/
28 | - name: Codecov
29 | run: yarn coverage
30 | env:
31 | CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
32 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | name: "CodeQL"
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 | schedule:
9 | - cron: '00 00 * * 1'
10 |
11 | jobs:
12 | analyze:
13 | name: Analyze
14 | runs-on: ubuntu-latest
15 | permissions:
16 | actions: read
17 | contents: read
18 | security-events: write
19 | strategy:
20 | fail-fast: false
21 | matrix:
22 | language: [ 'javascript' ]
23 | node-version: [ 14.x ]
24 | steps:
25 | - name: Checkout repository
26 | uses: actions/checkout@v2
27 | - name: Use Node.js ${{ matrix.node-version }}
28 | uses: actions/setup-node@v1
29 | with:
30 | node-version: ${{ matrix.node-version }}
31 | - name: Initialize CodeQL
32 | uses: github/codeql-action/init@v1
33 | with:
34 | languages: ${{ matrix.language }}
35 | - name: Build
36 | run: |
37 | yarn install --frozen-lockfile
38 | yarn build
39 | - name: Perform CodeQL Analysis
40 | uses: github/codeql-action/analyze@v1
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
REXS
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | REXS is a language to create regular expressions. It can be used to create more readable and easy-to-modify expressions that compile to clean and readable regular expressions.
13 |
14 | For more information on REXS' syntax (or how to use it), take a look at https://esolangs.org/wiki/REXS.
15 |
16 | ## Example
17 | An example usage of REXS can be to match on any URL that starts with http:// or https://, then match any subdomains, followed by the domain and .com:
18 | ```rexs
19 | assert(START);
20 |
21 | match("http");
22 |
23 | repeat(0, 1) {
24 | match("s");
25 | }
26 |
27 | match("://");
28 |
29 | repeat(0, inf, nongreedy) {
30 | repeat(1, inf, nongreedy) {
31 | match(ANY);
32 | }
33 | match(".");
34 | }
35 |
36 | group() {
37 | repeat(1, inf, nongreedy) {
38 | match(ANY);
39 | }
40 |
41 | match(".com");
42 | }
43 |
44 | assert(END);
45 | ```
46 | This example will be compiled to `/^https?:\/\/(?:.+?\.)*?(.+?\.com)$/`.
47 |
--------------------------------------------------------------------------------
/src/builderHelpers.ts:
--------------------------------------------------------------------------------
1 | import {Assertion, Characters, LiteralCharacterInterface} from "./builder";
2 |
3 | export const CharactersMap = {
4 | ANY: ".",
5 | DIGIT: "\\d",
6 | NON_DIGIT: "\\D",
7 | ALPHANUM: "\\w",
8 | NON_ALPHANUM: "\\W",
9 | SPACE: "\\s",
10 | NON_SPACE: "\\S",
11 | HTAB: "\\t",
12 | VTAB: "\\v",
13 | RETURN: "\\r",
14 | LINEFEED: "\\n",
15 | FORMFEED: "\\f",
16 | BACKSPACE: "[\\b]",
17 | NULL: "(?:\\0)",
18 | QUOTE: "\""
19 | }
20 |
21 | export const ParseMatch = (character: Characters | LiteralCharacterInterface | string) : string => {
22 | if(typeof(character) === "number" && character in Characters){
23 | return CharactersMap[Characters[character]];
24 | }
25 |
26 | if(typeof(character) === "string"){
27 | return EscapeCharacter(character);
28 | }
29 |
30 | if(typeof(character) === "object" && isLiteralCharacterInterface(character)){
31 | return character.character;
32 | }
33 |
34 | throw new Error("Invalid input for match: " + character);
35 | }
36 |
37 | const isLiteralCharacterInterface = (object: any): object is LiteralCharacterInterface => {
38 | return "character" in object;
39 | }
40 |
41 | const EscapeCharacter = (character: string) : string => {
42 | return character.replace(/[-[\]{}()*+?.,\\\/^$|#]/g, '\\$&');
43 | }
44 |
45 | export const ParseAssertion = (assertion: Assertion) : string => {
46 | if(typeof(assertion) === "number" && assertion in Assertion){
47 | return AssertionMap[Assertion[assertion]];
48 | }
49 |
50 | throw new Error("Invalid input for assertion: " + assertion);
51 | }
52 |
53 | export const AssertionMap = {
54 | START: "^",
55 | END: "$",
56 | WORD_BOUNDARY: "\\b",
57 | NOT_WORD_BOUNDARY: "\\B"
58 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rexs",
3 | "version": "1.0.3",
4 | "description": "REXS is a language for creating regular expressions. This library can compile REXS to a regular expression.",
5 | "main": "dist/cjs/index.js",
6 | "types": "dist/cjs/index.d.ts",
7 | "module": "dist/esm/index.js",
8 | "browser": "dist/rexs.min.js",
9 | "jsdeliver": "dist/rexs.min.js",
10 | "scripts": {
11 | "build": "tsc && tsc -p tsconfig.browser.json && npx webpack",
12 | "test": "nyc --reporter=lcov mocha --slow 0",
13 | "coverage": "codecov",
14 | "deploy": "npm publish"
15 | },
16 | "repository": {
17 | "type": "git",
18 | "url": "git+https://github.com/uellenberg/REXS.git"
19 | },
20 | "keywords": [
21 | "rexs",
22 | "re",
23 | "reg",
24 | "regex",
25 | "regular",
26 | "expression",
27 | "expressions",
28 | "regular expression",
29 | "regular expressions",
30 | "language",
31 | "lang",
32 | "compiler",
33 | "compile",
34 | "builder",
35 | "creator",
36 | "create",
37 | "helper",
38 | "help",
39 | "maker",
40 | "make",
41 | "easy",
42 | "fast",
43 | "quick",
44 | "quickly"
45 | ],
46 | "author": "Jonah Uellenberg",
47 | "license": "Apache-2.0",
48 | "bugs": {
49 | "url": "https://github.com/uellenberg/REXS/issues"
50 | },
51 | "homepage": "https://github.com/uellenberg/REXS",
52 | "devDependencies": {
53 | "@types/node": "^15.0.1",
54 | "chai": "^4.3.4",
55 | "codecov": "^3.8.1",
56 | "eslint": "^7.25.0",
57 | "mocha": "^8.3.2",
58 | "nyc": "^15.1.0",
59 | "typescript": "^4.2.4",
60 | "webpack": "^5.36.2",
61 | "webpack-cli": "^4.7.0"
62 | },
63 | "dependencies": {
64 | "parselib": "^1.0.0"
65 | },
66 | "engines": {
67 | "node": ">=0.14"
68 | },
69 | "files": [
70 | "dist",
71 | "README.md",
72 | "LICENSE"
73 | ]
74 | }
75 |
--------------------------------------------------------------------------------
/src/expressions/tokenizer.rexs:
--------------------------------------------------------------------------------
1 | flag(g);
2 |
3 | before(not) {
4 | match("\");
5 | }
6 |
7 | repeat(0, inf) {
8 | match("\\");
9 | }
10 |
11 | group() {
12 | or() {
13 | orpart() {
14 | set() {
15 | match("*.^$|[]-()+?{},<=!:");
16 | }
17 | }
18 |
19 | orpart() {
20 | match("\d");
21 | }
22 |
23 | orpart() {
24 | match("\D");
25 | }
26 |
27 | orpart() {
28 | match("\w");
29 | }
30 |
31 | orpart() {
32 | match("\W");
33 | }
34 |
35 | orpart() {
36 | match("\s");
37 | }
38 |
39 | orpart() {
40 | match("\S");
41 | }
42 |
43 | orpart() {
44 | match("\t");
45 | }
46 |
47 | orpart() {
48 | match("\r");
49 | }
50 |
51 | orpart() {
52 | match("\n");
53 | }
54 |
55 | orpart() {
56 | match("\v");
57 | }
58 |
59 | orpart() {
60 | match("\f");
61 | }
62 |
63 | orpart() {
64 | match("[\b]");
65 | }
66 |
67 | orpart() {
68 | match("\");
69 | match(DIGIT);
70 | }
71 |
72 | orpart() {
73 | match("\c");
74 | set() {
75 | match("A");
76 | to():
77 | match("Z");
78 | }
79 | }
80 |
81 | orpart() {
82 | match("\x");
83 | repeat(2) {
84 | set() {
85 | match("0");
86 | to();
87 | match("9");
88 | match("a");
89 | to();
90 | match("f");
91 | }
92 | }
93 | }
94 |
95 | orpart() {
96 | match("\u");
97 | repeat(4) {
98 | set() {
99 | match("0");
100 | to();
101 | match("9");
102 | match("a");
103 | to();
104 | match("f");
105 | }
106 | }
107 | }
108 |
109 | orpart() {
110 | match("\b");
111 | }
112 |
113 | orpart() {
114 | match("\B");
115 | }
116 | }
117 | }
--------------------------------------------------------------------------------
/test/index.js:
--------------------------------------------------------------------------------
1 | const {ExpressionBuilder, Assertion, RepeatOptions, Characters, Compile, Decompile} = require("../dist/cjs/index");
2 | const {expect} = require("chai");
3 | const fs = require("fs");
4 |
5 | describe("Compiler", () => {
6 | context("with simple URL test", () => {
7 | it("should return the correct regular expression.", () => {
8 | const expression = Compile(`
9 | assert(START);
10 |
11 | match("http");
12 |
13 | repeat(0, 1) {
14 | match("s");
15 | }
16 |
17 | match("://");
18 |
19 | repeat(0, inf, nongreedy) {
20 | repeat(1, inf, nongreedy) {
21 | match(ANY);
22 | }
23 | match(".");
24 | }
25 |
26 | group() {
27 | repeat(1, inf, nongreedy) {
28 | match(ANY);
29 | }
30 |
31 | match(".com");
32 | }
33 |
34 | assert(END);`);
35 |
36 | expect(expression).to.eql("/^https?:\\/\\/(?:.+?\\.)*?(.+?\\.com)$/");
37 | });
38 | });
39 | });
40 |
41 | describe("Decompiler", () => {
42 | context("with a simple URL test", () => {
43 | it("should return the correct regular expression.", () => {
44 | expect(Compile(Decompile("/^https?:\\/\\/(?:.+?\\.)*?(.+?\\.com)$/g"))).to.eql("/^https?:\\/\\/(?:.+?\\.)*?(.+?\\.com)$/g");
45 | });
46 | });
47 |
48 | //https://gist.github.com/jacksonfdam/3000275
49 | const lines = fs.readFileSync("test/expressions.txt", "utf-8").replace(/\r/g, "").split("\n");
50 |
51 | for (let i = 0; i < lines.length; i+=3) {
52 | context("with expression #" + (Math.floor(i/3)+1) + " (line " + (i+1) + ")", () => {
53 | it("should return the correct regular expression.", () => {
54 | expect(Compile(Decompile(lines[i]))).to.eql(lines[i+1]);
55 | });
56 | });
57 | }
58 | });
59 |
60 | describe("ExpressionBuilder", () => {
61 | context("with simple URL test", () => {
62 | it("should return the correct regular expression.", () => {
63 | const expression = ExpressionBuilder((functions) => {
64 | functions.Assert(Assertion.START);
65 |
66 | functions.Match("http");
67 |
68 | functions.Repeat(() => {
69 | functions.Match("s");
70 | }, RepeatOptions.ZeroOrOne());
71 |
72 | functions.Match("://");
73 |
74 | functions.Repeat(() => {
75 | functions.Repeat(() => {
76 | functions.Match(Characters.ANY);
77 | }, RepeatOptions.OneOrMore(false));
78 | functions.Match(".");
79 | }, RepeatOptions.ZeroOrMore(false));
80 |
81 | functions.Repeat(() => {
82 | functions.Match(Characters.ANY);
83 | }, RepeatOptions.OneOrMore(false));
84 |
85 | functions.Match(".com");
86 |
87 | functions.Assert(Assertion.END);
88 | });
89 |
90 | expect(expression).to.eql("/^http(?:s?):\\/\\/(?:(?:.+?)\\.*?)(?:.+?)\\.com$/");
91 | });
92 | });
93 | });
--------------------------------------------------------------------------------
/test/expressions.txt:
--------------------------------------------------------------------------------
1 | /^[\w-]+(\.[\w-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)*?\.[a-z]{2,6}|(\d{1,3}\.){3}\d{1,3})(:\d{4})?$/
2 | /^(?:[\w\-])+(?:(\.(?:[\w\-])+))*@((?:(?:[a-z0-9\-])+(?:(\.(?:[a-z0-9\-])+))*?\.(?:[a-z]){2,6}|(?:((?:\d){1,3}\.)){3}(?:\d){1,3}))(?:(:(?:\d){4}))?$/
3 |
4 | /^([\w\.*\-*]+@([\w]\.*\-*)+[a-zA-Z]{2,9}(\s*;\s*[\w\.*\-*]+@([\w]\.*\-*)+[a-zA-Z]{2,9})*)$/
5 | /^((?:[\w\.\*\-\*])+@(?:([\w](?:\.)*(?:\-)*))+(?:[a-zA-Z]){2,9}(?:((?:\s)*;(?:\s)*(?:[\w\.\*\-\*])+@(?:([\w](?:\.)*(?:\-)*))+(?:[a-zA-Z]){2,9}))*)$/
6 |
7 | /^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})*$/
8 | /^(?:((?:[a-zA-Z0-9._%\-])+@(?:[a-zA-Z0-9.\-])+\.(?:[a-zA-Z]){2,4}))*$/
9 |
10 | /^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$/
11 | /^(?:((?:(?:25[0-5]|2[0-4][0-9]|(?:[01])?[0-9](?:[0-9])?)\.){3}(?:25[0-5]|2[0-4][0-9]|(?:[01])?[0-9](?:[0-9])?)))*$/
12 |
13 | /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|622((12[6-9]|1[3-9][0-9])|([2-8][0-9][0-9])|(9(([0-1][0-9])|(2[0-5]))))[0-9]{10}|64[4-9][0-9]{13}|65[0-9]{14}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})*$/
14 | /^(?:(?:4(?:[0-9]){12}(?:(?:[0-9]){3})?|5[1-5](?:[0-9]){14}|6011(?:[0-9]){12}|622((?:((?:12[6-9]|1[3-9][0-9]))|([2-8][0-9][0-9])|(9((?:([0-1][0-9])|(2[0-5]))))))(?:[0-9]){10}|64[4-9](?:[0-9]){13}|65(?:[0-9]){14}|3(?:0[0-5]|[68][0-9])(?:[0-9]){11}|3[47](?:[0-9]){13}))*$/
15 |
16 | /[^@/]+@[^@/]+/
17 | /(?:[^@\/])+@(?:[^@\/])+/
18 |
19 | /\\s+/
20 | /\\s+/
21 |
22 | /[^a-zA-Z0-9]/
23 | /[^a-zA-Z0-9]/
24 |
25 | /^$/
26 | /^$/
27 |
28 | /^[1-9]+[0-9]*$/
29 | /^(?:[1-9])+(?:[0-9])*$/
30 |
31 | /(^\d*\.?\d*[0-9]+\d*$)|(^[0-9]+\d*\.\d*$)/
32 | /(?:(^(?:\d)*(?:\.)?(?:\d)*(?:[0-9])+(?:\d)*$)|(^(?:[0-9])+(?:\d)*\.(?:\d)*$))/
33 |
34 | /^-?[0-9]{0,2}(\.[0-9]{1,2})?$|^-?(100)(\.[0]{1,2})?$/
35 | /(?:^(?:\-)?(?:[0-9]){0,2}(?:(\.(?:[0-9]){1,2}))?$|^(?:\-)?(100)(?:(\.(?:[0]){1,2}))?$)/
36 |
37 | /[A-Z][A-Z]/
38 | /[A-Z][A-Z]/
39 |
40 | /(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)/
41 | /((?:^\+(?:[0-9]){2}|^\+(?:[0-9]){2}\(0\)|^\(\+(?:[0-9]){2}\)\(0\)|^00(?:[0-9]){2}|^0))((?:(?:[0-9]){9}$|(?:[0-9\-\s]){10}$))/
42 |
43 | /.*, [A-Z][A-Z]/
44 | /.*\, [A-Z][A-Z]/
45 |
46 | /[0-9]\{5\}(-[0-9]\{4\})?/
47 | /[0-9]\{5\}(?:(\-[0-9]\{4\}))?/
48 |
49 | /[0-9]\{3\}-[0-9]\{2\}-[0-9]\{4\}/
50 | /[0-9]\{3\}\-[0-9]\{2\}\-[0-9]\{4\}/
51 |
52 | /\$[0-9]*.[0-9][0-9]/
53 | /\$(?:[0-9])*.[0-9][0-9]/
54 |
55 | /[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}/
56 | /[0-9]\{4\}\-[0-9]\{2\}\-[0-9]\{2\}/
57 |
58 | /[A-Z][a-z][a-z] [0-9][0-9]*, [0-9]\{4\}/
59 | /[A-Z][a-z][a-z] [0-9](?:[0-9])*\, [0-9]\{4\}/
60 |
61 | /^(\d{1,2})\/(\d{1,2})\/(\d{2}|(19|20)\d{2})$/
62 | /^((?:\d){1,2})\/((?:\d){1,2})\/((?:(?:\d){2}|((?:19|20))(?:\d){2}))$/
63 |
64 | /^http(s)?:\/\/((\d+\.\d+\.\d+\.\d+)|(([\w-]+\.)+([a-z,A-Z][\w-]*)))(:[1-9][0-9]*)?(\/([\w-.\/:%+@&=]+[\w- .\/?:%+@&=]*)?)?(#(.*))?$/i
65 | /^http(?:(s))?:\/\/((?:((?:\d)+\.(?:\d)+\.(?:\d)+\.(?:\d)+)|((?:((?:[\w\-])+\.))+([a-z\,A-Z](?:[\w\-])*))))(?:(:[1-9](?:[0-9])*))?(?:(\/(?:((?:[\w-.\/:%\+@&=])+(?:[\w- .\/\?:%\+@&=])*))?))?(?:(\#(.*)))?$/i
66 |
--------------------------------------------------------------------------------
/src/lang/compiler.ts:
--------------------------------------------------------------------------------
1 | import {CustomTokenizer, RecursiveMap, RegexTokenizer, Token, TokenizerChain} from "parselib";
2 | import {Assertion, Characters, ExpressionBuilder} from "../builder";
3 |
4 | /**
5 | * Compiles REXS into a regular expression string.
6 | * @param input {string} - the REXS code as a string.
7 | */
8 | export const Compile = (input: string) : string => {
9 | let before = "";
10 | let beforeNot = "";
11 | let after = "";
12 | let afterNot = "";
13 |
14 | let flags = {i: false, g: false, m: false, s: false, u: false, y: false};
15 |
16 | const body = RecursiveMap(tokenizerChain.run(FixFormatting(input)), input => !input.isToken && input.value === "{", input => !input.isToken && input.value === "}", input => {
17 | switch (input.value) {
18 | case "repeat":
19 | return "repeat-" + ProcessRepeatParams(input.data.split(",").map(x => x.trim().toLowerCase()));
20 | case "group":
21 | return "group";
22 | case "or":
23 | return "or";
24 | case "orpart":
25 | return "orpart";
26 | case "set":
27 | return "set-" + (input.data.split(",").map(x => x.trim().toLowerCase()).includes("not") ? "not" : "");
28 | case "before":
29 | return "before-" + (input.data.split(",").map(x => x.trim().toLowerCase()).includes("not") ? "not" : "");
30 | case "after":
31 | return "after-" + (input.data.split(",").map(x => x.trim().toLowerCase()).includes("not") ? "not" : "");
32 | case "flag":
33 | if(!Object.keys(flags).includes(input.data)) throw new Error("A flag was given that does not exist: " + input.data);
34 |
35 | flags[input.data] = true;
36 | return "";
37 | default:
38 | return HandleFunction(input);
39 | }
40 | }, (input, startToken, endToken) => {
41 | let split = input.shift().split("-");
42 |
43 | const name = split.shift();
44 | const data = split.join("-");
45 |
46 | switch(name){
47 | case "repeat":
48 | const join = input.join("");
49 | if(join.length === 1) return join + data;
50 |
51 | return "(?:" + join + ")" + data;
52 | case "group":
53 | return "(" + input.join("") + ")";
54 | case "or":
55 | return "(?:" + input.join("|") + ")";
56 | case "orpart":
57 | return input.join("");
58 | case "set":
59 | return "[" + (data === "not" ? "^" : "") + input.join("") + "]";
60 | case "before":
61 | if(data === "not") beforeNot = "(? flags[key]).join("");
74 | }
75 |
76 | const HandleFunction = (token: Token) : string => {
77 | const out = ExpressionBuilder(functions => {
78 | const functionsFormatted = Object.keys(functions).map(x => x.toLowerCase());
79 |
80 | const value = token.value.trim();
81 |
82 | const args = token.data ? token.data.trim() : null;
83 |
84 | if(!functionsFormatted.includes(value)) throw new Error("An invalid function was given: " + token.value);
85 |
86 | switch(value){
87 | case "match":
88 | let funValue: Characters | string = null;
89 |
90 | if((args.startsWith("\"") && args.endsWith("\"")) || (args.startsWith("'") && args.endsWith("'"))){
91 | funValue = args.substring(1, args.length-1);
92 | } else {
93 | const val = args.toUpperCase().split(",")[0];
94 |
95 | if(!(val in Characters)) throw new Error("An invalid character was given: " + token.data);
96 |
97 | funValue = Characters[val];
98 | }
99 |
100 | if(typeof(funValue) === "function") funValue = (funValue)(args.split(",")[1].trim());
101 |
102 | functions.Match(funValue);
103 | break;
104 | case "assert":
105 | let funValue1: Assertion = null;
106 |
107 | const val = args.toUpperCase();
108 |
109 | if(!(val in Assertion)) throw new Error("An invalid assertion was given: " + token.data);
110 |
111 | funValue1 = Assertion[val];
112 |
113 | functions.Assert(funValue1);
114 | break;
115 | case "to":
116 | functions.To();
117 | break;
118 | case "backref":
119 | functions.BackRef(args.trim());
120 | break;
121 | }
122 | });
123 |
124 | return out.substring(1, out.length-1);
125 | }
126 |
127 | const ProcessRepeatParams = (args: string[]) : string => {
128 | let body = "";
129 | let greedy = "";
130 |
131 | if(args.length < 1) throw new Error("The repeat function requires arguments.");
132 |
133 | const from = ParseRepeatInt(args[0]);
134 |
135 | if(args.length > 1 && args[1] !== "nongreedy") {
136 | const to = ParseRepeatInt(args[1]);
137 |
138 | if(from === Infinity) {
139 | throw new Error("The \"from\" argument in repeat must be less than Infinity.");
140 | }
141 |
142 | if(from >= to) {
143 | throw new Error("The \"from\" argument in repeat must be less than the \"to\" argument.");
144 | }
145 |
146 | if(from < 0 || to < 0){
147 | throw new Error("The \"from\" and \"to\" arguments in repeat must be greator than or equal to zero.");
148 | }
149 |
150 | switch("" + from + to){
151 | case "0Infinity":
152 | body = "*";
153 | break;
154 | case "1Infinity":
155 | body = "+";
156 | break;
157 | case "01":
158 | body = "?";
159 | break;
160 | default:
161 | if(to === Infinity){
162 | body = "{" + from + ",}";
163 | } else {
164 | body = "{" + from + "," + to + "}";
165 | }
166 | break;
167 | }
168 | } else {
169 | body = "{" + from + "}";
170 | }
171 |
172 | if(args.includes("nongreedy")) greedy = "?";
173 |
174 | return body + greedy;
175 | }
176 |
177 | const ParseRepeatInt = (int: string) : number => {
178 | const cleaned = int.trim().toLowerCase();
179 |
180 | const parsed = parseInt(cleaned);
181 | if(!isNaN(parsed)) return parsed;
182 |
183 | switch(cleaned){
184 | case "inf":
185 | case "infinity":
186 | case "forever":
187 | case "more":
188 | case "max":
189 | return Infinity;
190 | case "one":
191 | return 1;
192 | case "zero":
193 | case "none":
194 | return 0;
195 | }
196 |
197 | throw new Error("Unknown argument for repeat: " + int);
198 | }
199 |
200 | const FixFormatting = (input: string) : string => {
201 | return input.replace(/\)\s*?{/gm, ") {").split("\n").map(val => {
202 | const fixed = val.trim();
203 |
204 | if(!fixed) return null;
205 |
206 | if([";", "{", "}"].includes(fixed.substring(fixed.length-1))) return fixed;
207 |
208 | return fixed + ";";
209 | }).filter(val => val !== null).join("");
210 | }
211 |
212 | const tokenizerChain = new TokenizerChain(new RegexTokenizer(/([a-zA-Z]*?)\s*?\((.*?)\)\s*?[;{]/g)).token(new CustomTokenizer(input => {
213 | let out = [];
214 |
215 | let split = input.trim().split("(");
216 |
217 | const name = split.shift();
218 |
219 | let join = split.join("(");
220 | if(join.endsWith("{")) {
221 | join = join.substring(0, join.length-1);
222 | out.push({value: "{", isToken: false});
223 | }
224 |
225 | const params = join.substring(0, join.length-2);
226 |
227 | out.push({value: name, data: params, isToken: true});
228 |
229 | return out;
230 | })).text(new CustomTokenizer(input => {
231 | let out = [];
232 |
233 | while(input.startsWith("}") || input.startsWith("{")){
234 | out.push({value: input.substring(input.length-1), isToken: false});
235 | input = input.substring(0, input.length-1);
236 | }
237 |
238 | return out;
239 | }));
--------------------------------------------------------------------------------
/src/builder.ts:
--------------------------------------------------------------------------------
1 | import {ParseAssertion, ParseMatch} from "./builderHelpers";
2 |
3 | /**
4 | * Build a regular expression.
5 | * @param callback {ExpressionBuilderCallback} - is a callback where the expression is created in.
6 | * @param options {ExpressionBuilderOptions} - are the options for the expression builder.
7 | */
8 | export const ExpressionBuilder = (callback: ExpressionBuilderCallback, options?: ExpressionBuilderOptions) => {
9 | let expression = "";
10 |
11 | let start = "";
12 | let end = "";
13 |
14 | callback({
15 | Match: (character) => {
16 | expression += ParseMatch(character);
17 | },
18 | Assert: (assertion) => {
19 | expression += ParseAssertion(assertion);
20 | },
21 | PositiveLookahead: (callback) => {
22 | const temp = expression;
23 | expression = "";
24 |
25 | callback();
26 |
27 | end += "(?=" + expression + ")";
28 |
29 | expression = temp;
30 | },
31 | NegativeLookahead: (callback) => {
32 | const temp = expression;
33 | expression = "";
34 |
35 | callback();
36 |
37 | end += "(?!" + expression + ")";
38 |
39 | expression = temp;
40 | },
41 | PositiveLookbehind: (callback) => {
42 | const temp = expression;
43 | expression = "";
44 |
45 | callback();
46 |
47 | start += "(?<=" + expression + ")";
48 |
49 | expression = temp;
50 | },
51 | NegativeLookbehind: (callback) => {
52 | const temp = expression;
53 | expression = "";
54 |
55 | callback();
56 |
57 | start += "(? {
62 | const temp = expression;
63 | expression = "";
64 |
65 | let values: string[] = [];
66 |
67 | for (let callback of callbacks) {
68 | callback();
69 |
70 | values.push("(?:" + expression + ")");
71 |
72 | expression = "";
73 | }
74 |
75 | expression = temp + "(?:" + values.join("|") + ")";
76 | },
77 | InSet: (callback) => {
78 | const temp = expression;
79 | expression = "";
80 |
81 | callback();
82 |
83 | expression = temp + "[" + expression + "]";
84 | },
85 | NotInSet: (callback) => {
86 | const temp = expression;
87 | expression = "";
88 |
89 | callback();
90 |
91 | expression = temp + "[^" + expression + "]";
92 | },
93 | To: () => {
94 | expression += "-";
95 | },
96 | Group: (callback) => {
97 | const temp = expression;
98 | expression = "";
99 |
100 | callback();
101 |
102 | expression = temp + "(" + expression + ")";
103 | },
104 | BackRef: (index) => {
105 | expression += "\\" + index;
106 | },
107 | Repeat: (callback, options) => {
108 | const temp = expression;
109 | expression = "";
110 |
111 | callback();
112 |
113 | expression = temp + "(?:" + expression + options.repeatChars + ")";
114 | }
115 | });
116 |
117 | return "/" + start + expression + end + "/";
118 | }
119 |
120 | /**
121 | * The functions used to build a regular expression.
122 | */
123 | export interface ExpressionBuilderFunctions {
124 | /**
125 | * Match something.
126 | */
127 | Match: Match;
128 | /**
129 | * Make an assertion.
130 | */
131 | Assert: Assert;
132 | /**
133 | * Ensure that something appears after the expression.
134 | */
135 | PositiveLookahead: EmptyCallback;
136 | /**
137 | * Ensure that something does not appear after the expression.
138 | */
139 | NegativeLookahead: EmptyCallback;
140 | /**
141 | * Ensure that something appears before the expression.
142 | */
143 | PositiveLookbehind: EmptyCallback;
144 | /**
145 | * Ensure that something does not appear before the expression.
146 | */
147 | NegativeLookbehind: EmptyCallback;
148 | /**
149 | * Match one thing or another.
150 | */
151 | OR: OR;
152 | /**
153 | * Match something in a set of matches.
154 | */
155 | InSet: EmptyCallback;
156 | /**
157 | * Match something not in a set of matches.
158 | */
159 | NotInSet: EmptyCallback;
160 | /**
161 | * Used in sets; match any character between the match before and the match after this one (inclusive).
162 | */
163 | To: Function;
164 | /**
165 | * Creates a capturing group.
166 | */
167 | Group: EmptyCallback;
168 | /**
169 | * Match the value of a previous capturing group, by its one-based ID.
170 | */
171 | BackRef: BackRef;
172 | /**
173 | * Repeat a match.
174 | */
175 | Repeat: Repeat;
176 | }
177 |
178 | export type ExpressionBuilderCallback = (functions: ExpressionBuilderFunctions) => void;
179 |
180 | /**
181 | * The options for the expression builder.
182 | */
183 | export interface ExpressionBuilderOptions {
184 |
185 | }
186 |
187 | /**
188 | * Special characters that can be used in matches.
189 | */
190 | export enum Characters {
191 | ANY,
192 | DIGIT,
193 | NON_DIGIT,
194 | ALPHANUM,
195 | NON_ALPHANUM,
196 | SPACE,
197 | NON_SPACE,
198 | HTAB,
199 | VTAB,
200 | RETURN,
201 | LINEFEED,
202 | FORMFEED,
203 | BACKSPACE,
204 | NULL
205 | }
206 |
207 | export namespace Characters {
208 | /**
209 | * Match a control character.
210 | * @param caret {string} - is a one-length character from A-Z indicating the control character.
211 | */
212 | export const CONTROL = (caret: string) : LiteralCharacterInterface => {
213 | if(caret.length !== 1 || !/[A-Z]/.test(caret.toUpperCase())) throw new Error("The caret must be a character in A-Z.");
214 |
215 | return LiteralCharacter("\\c"+caret.toUpperCase());
216 | }
217 |
218 | /**
219 | * Match a character by its character code
220 | * @param hex {string} - is a two-length or four-length string of hexadecimal digits indicating the character code.
221 | */
222 | export const HEX = (hex: string) : LiteralCharacterInterface => {
223 | if(![2, 4].includes(hex.length) || !/^[0-9a-fA-F]{2}$/.test(hex)) throw new Error("The hex must be two or four characters in 0-9 or A-F");
224 |
225 | return LiteralCharacter((hex.length === 2 ? "\\x" : "\\u")+hex.toLowerCase());
226 | }
227 | }
228 |
229 | /**
230 | * Match a character literally, without escaping.
231 | * @param character {string} - the character being matched.
232 | */
233 | export const LiteralCharacter = (character: string) : LiteralCharacterInterface => {
234 | return {character};
235 | }
236 |
237 | export interface LiteralCharacterInterface {
238 | character: string;
239 | }
240 |
241 | /**
242 | * An assertion.
243 | */
244 | export enum Assertion {
245 | START,
246 | END,
247 | WORD_BOUNDARY,
248 | NOT_WORD_BOUNDARY
249 | }
250 |
251 | /**
252 | * Options for a repeat.
253 | */
254 | export namespace RepeatOptions {
255 | /**
256 | * Repeat zero or more times.
257 | * @param greedy {boolean} - if set to true, will match as many times as possible, otherwise as least times as possible.
258 | */
259 | export const ZeroOrMore = (greedy: boolean = true) : RepeatOptionsInterface => {
260 | return {repeatChars: "*" + (greedy ? "" : "?")};
261 | }
262 |
263 | /**
264 | * Repeat one or more times.
265 | * @param greedy {boolean} - if set to true, will match as many times as possible, otherwise as least times as possible.
266 | */
267 | export const OneOrMore = (greedy: boolean = true) : RepeatOptionsInterface => {
268 | return {repeatChars: "+" + (greedy ? "" : "?")};
269 | }
270 |
271 | /**
272 | * Repeat zero or one times.
273 | */
274 | export const ZeroOrOne = () : RepeatOptionsInterface => {
275 | return {repeatChars: "?"};
276 | }
277 |
278 | /**
279 | * Repeat exactly some amount of times.
280 | * @param count {number} - the amount of times to repeat.
281 | */
282 | export const Exactly = (count: number) : RepeatOptionsInterface => {
283 | return {repeatChars: "{" + count + "}"};
284 | }
285 |
286 | /**
287 | * Repeat at least some amount of times.
288 | * @param count {number} - the minimum amount of times to repeat.
289 | */
290 | export const AtLeast = (count: number) : RepeatOptionsInterface => {
291 | return {repeatChars: "{" + count + ",}"};
292 | }
293 |
294 | /**
295 | * Repeat between some amount of times and another amount of times (inclusive).
296 | * @param count1 {number} - the lower bounds for the amount of times to repeat.
297 | * @param count2 {number} - the upper bounds for the amount of times to repeat.
298 | */
299 | export const Between = (count1: number, count2: number) : RepeatOptionsInterface => {
300 | return {repeatChars: "{" + count1 + "," + count2 + "}"};
301 | }
302 | }
303 |
304 | export interface RepeatOptionsInterface {
305 | repeatChars: string;
306 | }
307 |
308 | export type Match = (character: Characters | LiteralCharacterInterface | string) => void;
309 |
310 | export type Assert = (assertion: Assertion) => void;
311 |
312 | export type EmptyCallback = (callback: Function) => void;
313 |
314 | export type OR = (...callbacks: Function[]) => void;
315 |
316 | export type BackRef = (index: number) => void;
317 |
318 | export type Repeat = (callback: Function, options: RepeatOptionsInterface) => void;
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Apache License
3 | Version 2.0, January 2004
4 | http://www.apache.org/licenses/
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 | 1. Definitions.
9 |
10 | "License" shall mean the terms and conditions for use, reproduction,
11 | and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by
14 | the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all
17 | other entities that control, are controlled by, or are under common
18 | control with that entity. For the purposes of this definition,
19 | "control" means (i) the power, direct or indirect, to cause the
20 | direction or management of such entity, whether by contract or
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
22 | outstanding shares, or (iii) beneficial ownership of such entity.
23 |
24 | "You" (or "Your") shall mean an individual or Legal Entity
25 | exercising permissions granted by this License.
26 |
27 | "Source" form shall mean the preferred form for making modifications,
28 | including but not limited to software source code, documentation
29 | source, and configuration files.
30 |
31 | "Object" form shall mean any form resulting from mechanical
32 | transformation or translation of a Source form, including but
33 | not limited to compiled object code, generated documentation,
34 | and conversions to other media types.
35 |
36 | "Work" shall mean the work of authorship, whether in Source or
37 | Object form, made available under the License, as indicated by a
38 | copyright notice that is included in or attached to the work
39 | (an example is provided in the Appendix below).
40 |
41 | "Derivative Works" shall mean any work, whether in Source or Object
42 | form, that is based on (or derived from) the Work and for which the
43 | editorial revisions, annotations, elaborations, or other modifications
44 | represent, as a whole, an original work of authorship. For the purposes
45 | of this License, Derivative Works shall not include works that remain
46 | separable from, or merely link (or bind by name) to the interfaces of,
47 | the Work and Derivative Works thereof.
48 |
49 | "Contribution" shall mean any work of authorship, including
50 | the original version of the Work and any modifications or additions
51 | to that Work or Derivative Works thereof, that is intentionally
52 | submitted to Licensor for inclusion in the Work by the copyright owner
53 | or by an individual or Legal Entity authorized to submit on behalf of
54 | the copyright owner. For the purposes of this definition, "submitted"
55 | means any form of electronic, verbal, or written communication sent
56 | to the Licensor or its representatives, including but not limited to
57 | communication on electronic mailing lists, source code control systems,
58 | and issue tracking systems that are managed by, or on behalf of, the
59 | Licensor for the purpose of discussing and improving the Work, but
60 | excluding communication that is conspicuously marked or otherwise
61 | designated in writing by the copyright owner as "Not a Contribution."
62 |
63 | "Contributor" shall mean Licensor and any individual or Legal Entity
64 | on behalf of whom a Contribution has been received by Licensor and
65 | subsequently incorporated within the Work.
66 |
67 | 2. Grant of Copyright License. Subject to the terms and conditions of
68 | this License, each Contributor hereby grants to You a perpetual,
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70 | copyright license to reproduce, prepare Derivative Works of,
71 | publicly display, publicly perform, sublicense, and distribute the
72 | Work and such Derivative Works in Source or Object form.
73 |
74 | 3. Grant of Patent License. Subject to the terms and conditions of
75 | this License, each Contributor hereby grants to You a perpetual,
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77 | (except as stated in this section) patent license to make, have made,
78 | use, offer to sell, sell, import, and otherwise transfer the Work,
79 | where such license applies only to those patent claims licensable
80 | by such Contributor that are necessarily infringed by their
81 | Contribution(s) alone or by combination of their Contribution(s)
82 | with the Work to which such Contribution(s) was submitted. If You
83 | institute patent litigation against any entity (including a
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work
85 | or a Contribution incorporated within the Work constitutes direct
86 | or contributory patent infringement, then any patent licenses
87 | granted to You under this License for that Work shall terminate
88 | as of the date such litigation is filed.
89 |
90 | 4. Redistribution. You may reproduce and distribute copies of the
91 | Work or Derivative Works thereof in any medium, with or without
92 | modifications, and in Source or Object form, provided that You
93 | meet the following conditions:
94 |
95 | (a) You must give any other recipients of the Work or
96 | Derivative Works a copy of this License; and
97 |
98 | (b) You must cause any modified files to carry prominent notices
99 | stating that You changed the files; and
100 |
101 | (c) You must retain, in the Source form of any Derivative Works
102 | that You distribute, all copyright, patent, trademark, and
103 | attribution notices from the Source form of the Work,
104 | excluding those notices that do not pertain to any part of
105 | the Derivative Works; and
106 |
107 | (d) If the Work includes a "NOTICE" text file as part of its
108 | distribution, then any Derivative Works that You distribute must
109 | include a readable copy of the attribution notices contained
110 | within such NOTICE file, excluding those notices that do not
111 | pertain to any part of the Derivative Works, in at least one
112 | of the following places: within a NOTICE text file distributed
113 | as part of the Derivative Works; within the Source form or
114 | documentation, if provided along with the Derivative Works; or,
115 | within a display generated by the Derivative Works, if and
116 | wherever such third-party notices normally appear. The contents
117 | of the NOTICE file are for informational purposes only and
118 | do not modify the License. You may add Your own attribution
119 | notices within Derivative Works that You distribute, alongside
120 | or as an addendum to the NOTICE text from the Work, provided
121 | that such additional attribution notices cannot be construed
122 | as modifying the License.
123 |
124 | You may add Your own copyright statement to Your modifications and
125 | may provide additional or different license terms and conditions
126 | for use, reproduction, or distribution of Your modifications, or
127 | for any such Derivative Works as a whole, provided Your use,
128 | reproduction, and distribution of the Work otherwise complies with
129 | the conditions stated in this License.
130 |
131 | 5. Submission of Contributions. Unless You explicitly state otherwise,
132 | any Contribution intentionally submitted for inclusion in the Work
133 | by You to the Licensor shall be under the terms and conditions of
134 | this License, without any additional terms or conditions.
135 | Notwithstanding the above, nothing herein shall supersede or modify
136 | the terms of any separate license agreement you may have executed
137 | with Licensor regarding such Contributions.
138 |
139 | 6. Trademarks. This License does not grant permission to use the trade
140 | names, trademarks, service marks, or product names of the Licensor,
141 | except as required for reasonable and customary use in describing the
142 | origin of the Work and reproducing the content of the NOTICE file.
143 |
144 | 7. Disclaimer of Warranty. Unless required by applicable law or
145 | agreed to in writing, Licensor provides the Work (and each
146 | Contributor provides its Contributions) on an "AS IS" BASIS,
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148 | implied, including, without limitation, any warranties or conditions
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150 | PARTICULAR PURPOSE. You are solely responsible for determining the
151 | appropriateness of using or redistributing the Work and assume any
152 | risks associated with Your exercise of permissions under this License.
153 |
154 | 8. Limitation of Liability. In no event and under no legal theory,
155 | whether in tort (including negligence), contract, or otherwise,
156 | unless required by applicable law (such as deliberate and grossly
157 | negligent acts) or agreed to in writing, shall any Contributor be
158 | liable to You for damages, including any direct, indirect, special,
159 | incidental, or consequential damages of any character arising as a
160 | result of this License or out of the use or inability to use the
161 | Work (including but not limited to damages for loss of goodwill,
162 | work stoppage, computer failure or malfunction, or any and all
163 | other commercial damages or losses), even if such Contributor
164 | has been advised of the possibility of such damages.
165 |
166 | 9. Accepting Warranty or Additional Liability. While redistributing
167 | the Work or Derivative Works thereof, You may choose to offer,
168 | and charge a fee for, acceptance of support, warranty, indemnity,
169 | or other liability obligations and/or rights consistent with this
170 | License. However, in accepting such obligations, You may act only
171 | on Your own behalf and on Your sole responsibility, not on behalf
172 | of any other Contributor, and only if You agree to indemnify,
173 | defend, and hold each Contributor harmless for any liability
174 | incurred by, or claims asserted against, such Contributor by reason
175 | of your accepting any such warranty or additional liability.
176 |
177 | END OF TERMS AND CONDITIONS
178 |
179 | APPENDIX: How to apply the Apache License to your work.
180 |
181 | To apply the Apache License to your work, attach the following
182 | boilerplate notice, with the fields enclosed by brackets "[]"
183 | replaced with your own identifying information. (Don't include
184 | the brackets!) The text should be enclosed in the appropriate
185 | comment syntax for the file format. We also recommend that a
186 | file or class name and description of purpose be included on the
187 | same "printed page" as the copyright notice for easier
188 | identification within third-party archives.
189 |
190 | Copyright 2021 Jonah Uellenberg
191 |
192 | Licensed under the Apache License, Version 2.0 (the "License");
193 | you may not use this file except in compliance with the License.
194 | You may obtain a copy of the License at
195 |
196 | http://www.apache.org/licenses/LICENSE-2.0
197 |
198 | Unless required by applicable law or agreed to in writing, software
199 | distributed under the License is distributed on an "AS IS" BASIS,
200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 | See the License for the specific language governing permissions and
202 | limitations under the License.
--------------------------------------------------------------------------------
/src/lang/decompiler.ts:
--------------------------------------------------------------------------------
1 | import {CustomTokenizer, RegexTokenizer, Token, TokenizerChain} from "parselib";
2 | import {AssertionMap, CharactersMap} from "../builderHelpers";
3 |
4 | export const Decompile = (input: string | RegExp) : string => {
5 | if(input instanceof RegExp) input = input.toString();
6 |
7 | let split = input.split("/");
8 | split.shift();
9 |
10 | let flags = split.pop().split("").map(flag => "flag(" + flag + ");").join("\n");
11 | if(flags.length > 0) flags += "\n\n";
12 |
13 | const tokens = groupTokenizerChain.run(split.join("/"));
14 |
15 | return flags + REXSDataToString(Recurse(tokens));
16 | }
17 |
18 | const REXSDataToString = (data: REXSData[], indent: number = 0) : string => {
19 | const indentStr = " ".repeat(indent * 4);
20 |
21 | let lines: string[] = [];
22 |
23 | for (let tag of data) {
24 | if(tag.tag === "ugroup"){
25 | lines.push(REXSDataToString(tag.body, indent));
26 | continue;
27 | }
28 |
29 | lines.push(indentStr + tag.tag + "(" + (tag.params || "") + ")" + (tag.body ? " {" : ";"));
30 |
31 | if(tag.body){
32 | lines.push(REXSDataToString(tag.body, indent+1));
33 |
34 | lines.push(indentStr + "}");
35 | }
36 | }
37 |
38 | return lines.join("\n");
39 | }
40 |
41 | //I don't even want to think about this code ever again.
42 | const Recurse = (tokens: Token[], data?: RecurseData) : REXSData[] => {
43 | const stringSeq = tokens.map(token => token.value).join("");
44 |
45 | let outerTag: REXSData = null;
46 |
47 | let isSet = false;
48 |
49 | if(data && data.startToken.value === "(") {
50 | if(stringSeq.startsWith("?:")){
51 | outerTag = {tag: "ugroup"};
52 | tokens = tokens.slice(2);
53 | } else if(stringSeq.startsWith("?=")) {
54 | outerTag = {tag: "ahead"};
55 | tokens = tokens.slice(2);
56 | } else if(stringSeq.startsWith("?!")) {
57 | outerTag = {tag: "ahead", params: "not"};
58 | tokens = tokens.slice(2);
59 | } else if(stringSeq.startsWith("?<=")) {
60 | outerTag = {tag: "before"};
61 | tokens = tokens.slice(3);
62 | } else if(stringSeq.startsWith("? {
223 | const character = Object.keys(CharactersMap).filter(key => CharactersMap[key] === token.value);
224 | if(character.length > 0) return {tag: "match", params: character[0]};
225 |
226 | const assertion = Object.keys(AssertionMap).filter(key => AssertionMap[key] === token.value);
227 | if(assertion.length > 0 && !isSet) return {tag: "assert", params: assertion[0]};
228 |
229 | if(token.value.startsWith("\\c")){
230 | return {tag: "match", params: "CONTROL, " + token.value.substring(2)};
231 | }
232 | if(token.value.startsWith("\\x")){
233 | return {tag: "match", params: "HEX, " + token.value.substring(2)};
234 | }
235 | if(token.value.startsWith("\\u")){
236 | return {tag: "match", params: "HEX, " + token.value.substring(2)};
237 | }
238 | if(token.value.startsWith("\\")){
239 | const parse = parseInt(token.value.substring(1));
240 |
241 | if(!isNaN(parse)){
242 | if(parse === 0){
243 | return {tag: "match", params: "NULL"};
244 | } else {
245 | return {tag: "backref", params: token.value.substring(1)};
246 | }
247 | }
248 | }
249 |
250 | return {tag: "match", params: "\""+unEscape(token.value)+"\""};
251 | }
252 |
253 | const pushMatch = (match: REXSData, out: REXSData[]) => {
254 | if(match.tag !== "match" || out.length < 1 || out[out.length-1].tag !== "match" || !out[out.length-1].params || !out[out.length-1].params.startsWith("\"") || !match.params || !match.params.startsWith("\"")) {
255 | out.push(match);
256 | return;
257 | }
258 |
259 | out[out.length-1].params = out[out.length-1].params.substring(0, out[out.length-1].params.length-1) + match.params.substring(1, match.params.length-1) + "\"";
260 | }
261 |
262 | const getRepeatParams = (params: string) : string => {
263 | let startVal: string = "";
264 | let endVal: string = "";
265 | let greedy: string = "";
266 |
267 | if(params.startsWith("*")){
268 | startVal = "0";
269 | endVal = "inf";
270 | }
271 | if(params.startsWith("+")){
272 | startVal = "1";
273 | endVal = "inf";
274 | }
275 | if(params.startsWith("?")){
276 | startVal = "0";
277 | endVal = "1";
278 | }
279 |
280 | if(params.startsWith("{")){
281 | const split = params.substring(1, params.length-1).split(",");
282 |
283 | if(split.length === 1){
284 | startVal = split[0];
285 | }
286 | if(split.length === 2){
287 | startVal = split[0];
288 | if(split[1]){
289 | endVal = split[1];
290 | } else {
291 | endVal = "inf";
292 | }
293 | }
294 | }
295 |
296 | if(params.length > 1 && params[params.length-1] === "?"){
297 | greedy = "nongreedy";
298 | }
299 |
300 | return [startVal, endVal, greedy].filter(Boolean).join(", ");
301 | }
302 |
303 | //expressions/unescape.rexs
304 | const unEscape = (val: string) : string => {
305 | return val.replace(/(? {
310 | let out = [];
311 |
312 | if(token.length > 2) {
313 | const value = token.replace(/\\\\/g, "");
314 | token = token.substring(0, token.length - value.length);
315 |
316 | if (token) out.push({value: token, isToken: false});
317 | out.push({value: value, isToken: true});
318 | } else {
319 | out.push({value: token, isToken: true});
320 | }
321 |
322 | return out;
323 | }));
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@7.12.11":
6 | version "7.12.11"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
9 | dependencies:
10 | "@babel/highlight" "^7.10.4"
11 |
12 | "@babel/code-frame@^7.12.13":
13 | version "7.12.13"
14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
15 | integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
16 | dependencies:
17 | "@babel/highlight" "^7.12.13"
18 |
19 | "@babel/compat-data@^7.13.15":
20 | version "7.14.0"
21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919"
22 | integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==
23 |
24 | "@babel/core@^7.7.5":
25 | version "7.14.3"
26 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38"
27 | integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==
28 | dependencies:
29 | "@babel/code-frame" "^7.12.13"
30 | "@babel/generator" "^7.14.3"
31 | "@babel/helper-compilation-targets" "^7.13.16"
32 | "@babel/helper-module-transforms" "^7.14.2"
33 | "@babel/helpers" "^7.14.0"
34 | "@babel/parser" "^7.14.3"
35 | "@babel/template" "^7.12.13"
36 | "@babel/traverse" "^7.14.2"
37 | "@babel/types" "^7.14.2"
38 | convert-source-map "^1.7.0"
39 | debug "^4.1.0"
40 | gensync "^1.0.0-beta.2"
41 | json5 "^2.1.2"
42 | semver "^6.3.0"
43 | source-map "^0.5.0"
44 |
45 | "@babel/generator@^7.14.2", "@babel/generator@^7.14.3":
46 | version "7.14.3"
47 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91"
48 | integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==
49 | dependencies:
50 | "@babel/types" "^7.14.2"
51 | jsesc "^2.5.1"
52 | source-map "^0.5.0"
53 |
54 | "@babel/helper-compilation-targets@^7.13.16":
55 | version "7.13.16"
56 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c"
57 | integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==
58 | dependencies:
59 | "@babel/compat-data" "^7.13.15"
60 | "@babel/helper-validator-option" "^7.12.17"
61 | browserslist "^4.14.5"
62 | semver "^6.3.0"
63 |
64 | "@babel/helper-function-name@^7.14.2":
65 | version "7.14.2"
66 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2"
67 | integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==
68 | dependencies:
69 | "@babel/helper-get-function-arity" "^7.12.13"
70 | "@babel/template" "^7.12.13"
71 | "@babel/types" "^7.14.2"
72 |
73 | "@babel/helper-get-function-arity@^7.12.13":
74 | version "7.12.13"
75 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
76 | integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==
77 | dependencies:
78 | "@babel/types" "^7.12.13"
79 |
80 | "@babel/helper-member-expression-to-functions@^7.13.12":
81 | version "7.13.12"
82 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72"
83 | integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==
84 | dependencies:
85 | "@babel/types" "^7.13.12"
86 |
87 | "@babel/helper-module-imports@^7.13.12":
88 | version "7.13.12"
89 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
90 | integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
91 | dependencies:
92 | "@babel/types" "^7.13.12"
93 |
94 | "@babel/helper-module-transforms@^7.14.2":
95 | version "7.14.2"
96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5"
97 | integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==
98 | dependencies:
99 | "@babel/helper-module-imports" "^7.13.12"
100 | "@babel/helper-replace-supers" "^7.13.12"
101 | "@babel/helper-simple-access" "^7.13.12"
102 | "@babel/helper-split-export-declaration" "^7.12.13"
103 | "@babel/helper-validator-identifier" "^7.14.0"
104 | "@babel/template" "^7.12.13"
105 | "@babel/traverse" "^7.14.2"
106 | "@babel/types" "^7.14.2"
107 |
108 | "@babel/helper-optimise-call-expression@^7.12.13":
109 | version "7.12.13"
110 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
111 | integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==
112 | dependencies:
113 | "@babel/types" "^7.12.13"
114 |
115 | "@babel/helper-replace-supers@^7.13.12":
116 | version "7.14.3"
117 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz#ca17b318b859d107f0e9b722d58cf12d94436600"
118 | integrity sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==
119 | dependencies:
120 | "@babel/helper-member-expression-to-functions" "^7.13.12"
121 | "@babel/helper-optimise-call-expression" "^7.12.13"
122 | "@babel/traverse" "^7.14.2"
123 | "@babel/types" "^7.14.2"
124 |
125 | "@babel/helper-simple-access@^7.13.12":
126 | version "7.13.12"
127 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
128 | integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==
129 | dependencies:
130 | "@babel/types" "^7.13.12"
131 |
132 | "@babel/helper-split-export-declaration@^7.12.13":
133 | version "7.12.13"
134 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05"
135 | integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==
136 | dependencies:
137 | "@babel/types" "^7.12.13"
138 |
139 | "@babel/helper-validator-identifier@^7.14.0":
140 | version "7.14.0"
141 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
142 | integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
143 |
144 | "@babel/helper-validator-option@^7.12.17":
145 | version "7.12.17"
146 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
147 | integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==
148 |
149 | "@babel/helpers@^7.14.0":
150 | version "7.14.0"
151 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62"
152 | integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==
153 | dependencies:
154 | "@babel/template" "^7.12.13"
155 | "@babel/traverse" "^7.14.0"
156 | "@babel/types" "^7.14.0"
157 |
158 | "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
159 | version "7.14.0"
160 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
161 | integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==
162 | dependencies:
163 | "@babel/helper-validator-identifier" "^7.14.0"
164 | chalk "^2.0.0"
165 | js-tokens "^4.0.0"
166 |
167 | "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3":
168 | version "7.14.3"
169 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298"
170 | integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==
171 |
172 | "@babel/template@^7.12.13":
173 | version "7.12.13"
174 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
175 | integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==
176 | dependencies:
177 | "@babel/code-frame" "^7.12.13"
178 | "@babel/parser" "^7.12.13"
179 | "@babel/types" "^7.12.13"
180 |
181 | "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2":
182 | version "7.14.2"
183 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b"
184 | integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==
185 | dependencies:
186 | "@babel/code-frame" "^7.12.13"
187 | "@babel/generator" "^7.14.2"
188 | "@babel/helper-function-name" "^7.14.2"
189 | "@babel/helper-split-export-declaration" "^7.12.13"
190 | "@babel/parser" "^7.14.2"
191 | "@babel/types" "^7.14.2"
192 | debug "^4.1.0"
193 | globals "^11.1.0"
194 |
195 | "@babel/types@^7.12.13", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.2":
196 | version "7.14.2"
197 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3"
198 | integrity sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==
199 | dependencies:
200 | "@babel/helper-validator-identifier" "^7.14.0"
201 | to-fast-properties "^2.0.0"
202 |
203 | "@discoveryjs/json-ext@^0.5.0":
204 | version "0.5.3"
205 | resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d"
206 | integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==
207 |
208 | "@eslint/eslintrc@^0.4.1":
209 | version "0.4.1"
210 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz#442763b88cecbe3ee0ec7ca6d6dd6168550cbf14"
211 | integrity sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==
212 | dependencies:
213 | ajv "^6.12.4"
214 | debug "^4.1.1"
215 | espree "^7.3.0"
216 | globals "^12.1.0"
217 | ignore "^4.0.6"
218 | import-fresh "^3.2.1"
219 | js-yaml "^3.13.1"
220 | minimatch "^3.0.4"
221 | strip-json-comments "^3.1.1"
222 |
223 | "@istanbuljs/load-nyc-config@^1.0.0":
224 | version "1.1.0"
225 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
226 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
227 | dependencies:
228 | camelcase "^5.3.1"
229 | find-up "^4.1.0"
230 | get-package-type "^0.1.0"
231 | js-yaml "^3.13.1"
232 | resolve-from "^5.0.0"
233 |
234 | "@istanbuljs/schema@^0.1.2":
235 | version "0.1.3"
236 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
237 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
238 |
239 | "@tootallnate/once@1":
240 | version "1.1.2"
241 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
242 | integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
243 |
244 | "@types/eslint-scope@^3.7.0":
245 | version "3.7.0"
246 | resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86"
247 | integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==
248 | dependencies:
249 | "@types/eslint" "*"
250 | "@types/estree" "*"
251 |
252 | "@types/eslint@*":
253 | version "7.2.11"
254 | resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.11.tgz#180b58f5bb7d7376e39d22496e2b08901aa52fd2"
255 | integrity sha512-WYhv//5K8kQtsSc9F1Kn2vHzhYor6KpwPbARH7hwYe3C3ETD0EVx/3P5qQybUoaBEuUa9f/02JjBiXFWalYUmw==
256 | dependencies:
257 | "@types/estree" "*"
258 | "@types/json-schema" "*"
259 |
260 | "@types/estree@*", "@types/estree@^0.0.47":
261 | version "0.0.47"
262 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4"
263 | integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==
264 |
265 | "@types/json-schema@*", "@types/json-schema@^7.0.6":
266 | version "7.0.7"
267 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
268 | integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
269 |
270 | "@types/node@*", "@types/node@^15.0.1":
271 | version "15.6.1"
272 | resolved "https://registry.yarnpkg.com/@types/node/-/node-15.6.1.tgz#32d43390d5c62c5b6ec486a9bc9c59544de39a08"
273 | integrity sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==
274 |
275 | "@ungap/promise-all-settled@1.1.2":
276 | version "1.1.2"
277 | resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
278 | integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
279 |
280 | "@webassemblyjs/ast@1.11.0":
281 | version "1.11.0"
282 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f"
283 | integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==
284 | dependencies:
285 | "@webassemblyjs/helper-numbers" "1.11.0"
286 | "@webassemblyjs/helper-wasm-bytecode" "1.11.0"
287 |
288 | "@webassemblyjs/floating-point-hex-parser@1.11.0":
289 | version "1.11.0"
290 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c"
291 | integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==
292 |
293 | "@webassemblyjs/helper-api-error@1.11.0":
294 | version "1.11.0"
295 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4"
296 | integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==
297 |
298 | "@webassemblyjs/helper-buffer@1.11.0":
299 | version "1.11.0"
300 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642"
301 | integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==
302 |
303 | "@webassemblyjs/helper-numbers@1.11.0":
304 | version "1.11.0"
305 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9"
306 | integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==
307 | dependencies:
308 | "@webassemblyjs/floating-point-hex-parser" "1.11.0"
309 | "@webassemblyjs/helper-api-error" "1.11.0"
310 | "@xtuc/long" "4.2.2"
311 |
312 | "@webassemblyjs/helper-wasm-bytecode@1.11.0":
313 | version "1.11.0"
314 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1"
315 | integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==
316 |
317 | "@webassemblyjs/helper-wasm-section@1.11.0":
318 | version "1.11.0"
319 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b"
320 | integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==
321 | dependencies:
322 | "@webassemblyjs/ast" "1.11.0"
323 | "@webassemblyjs/helper-buffer" "1.11.0"
324 | "@webassemblyjs/helper-wasm-bytecode" "1.11.0"
325 | "@webassemblyjs/wasm-gen" "1.11.0"
326 |
327 | "@webassemblyjs/ieee754@1.11.0":
328 | version "1.11.0"
329 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf"
330 | integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==
331 | dependencies:
332 | "@xtuc/ieee754" "^1.2.0"
333 |
334 | "@webassemblyjs/leb128@1.11.0":
335 | version "1.11.0"
336 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b"
337 | integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==
338 | dependencies:
339 | "@xtuc/long" "4.2.2"
340 |
341 | "@webassemblyjs/utf8@1.11.0":
342 | version "1.11.0"
343 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf"
344 | integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==
345 |
346 | "@webassemblyjs/wasm-edit@1.11.0":
347 | version "1.11.0"
348 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78"
349 | integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==
350 | dependencies:
351 | "@webassemblyjs/ast" "1.11.0"
352 | "@webassemblyjs/helper-buffer" "1.11.0"
353 | "@webassemblyjs/helper-wasm-bytecode" "1.11.0"
354 | "@webassemblyjs/helper-wasm-section" "1.11.0"
355 | "@webassemblyjs/wasm-gen" "1.11.0"
356 | "@webassemblyjs/wasm-opt" "1.11.0"
357 | "@webassemblyjs/wasm-parser" "1.11.0"
358 | "@webassemblyjs/wast-printer" "1.11.0"
359 |
360 | "@webassemblyjs/wasm-gen@1.11.0":
361 | version "1.11.0"
362 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe"
363 | integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==
364 | dependencies:
365 | "@webassemblyjs/ast" "1.11.0"
366 | "@webassemblyjs/helper-wasm-bytecode" "1.11.0"
367 | "@webassemblyjs/ieee754" "1.11.0"
368 | "@webassemblyjs/leb128" "1.11.0"
369 | "@webassemblyjs/utf8" "1.11.0"
370 |
371 | "@webassemblyjs/wasm-opt@1.11.0":
372 | version "1.11.0"
373 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978"
374 | integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==
375 | dependencies:
376 | "@webassemblyjs/ast" "1.11.0"
377 | "@webassemblyjs/helper-buffer" "1.11.0"
378 | "@webassemblyjs/wasm-gen" "1.11.0"
379 | "@webassemblyjs/wasm-parser" "1.11.0"
380 |
381 | "@webassemblyjs/wasm-parser@1.11.0":
382 | version "1.11.0"
383 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754"
384 | integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==
385 | dependencies:
386 | "@webassemblyjs/ast" "1.11.0"
387 | "@webassemblyjs/helper-api-error" "1.11.0"
388 | "@webassemblyjs/helper-wasm-bytecode" "1.11.0"
389 | "@webassemblyjs/ieee754" "1.11.0"
390 | "@webassemblyjs/leb128" "1.11.0"
391 | "@webassemblyjs/utf8" "1.11.0"
392 |
393 | "@webassemblyjs/wast-printer@1.11.0":
394 | version "1.11.0"
395 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e"
396 | integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==
397 | dependencies:
398 | "@webassemblyjs/ast" "1.11.0"
399 | "@xtuc/long" "4.2.2"
400 |
401 | "@webpack-cli/configtest@^1.0.3":
402 | version "1.0.3"
403 | resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.3.tgz#204bcff87cda3ea4810881f7ea96e5f5321b87b9"
404 | integrity sha512-WQs0ep98FXX2XBAfQpRbY0Ma6ADw8JR6xoIkaIiJIzClGOMqVRvPCWqndTxf28DgFopWan0EKtHtg/5W1h0Zkw==
405 |
406 | "@webpack-cli/info@^1.2.4":
407 | version "1.2.4"
408 | resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.4.tgz#7381fd41c9577b2d8f6c2594fad397ef49ad5573"
409 | integrity sha512-ogE2T4+pLhTTPS/8MM3IjHn0IYplKM4HbVNMCWA9N4NrdPzunwenpCsqKEXyejMfRu6K8mhauIPYf8ZxWG5O6g==
410 | dependencies:
411 | envinfo "^7.7.3"
412 |
413 | "@webpack-cli/serve@^1.4.0":
414 | version "1.4.0"
415 | resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.4.0.tgz#f84fd07bcacefe56ce762925798871092f0f228e"
416 | integrity sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg==
417 |
418 | "@xtuc/ieee754@^1.2.0":
419 | version "1.2.0"
420 | resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
421 | integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
422 |
423 | "@xtuc/long@4.2.2":
424 | version "4.2.2"
425 | resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
426 | integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
427 |
428 | acorn-jsx@^5.3.1:
429 | version "5.3.1"
430 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
431 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
432 |
433 | acorn@^7.4.0:
434 | version "7.4.1"
435 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
436 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
437 |
438 | acorn@^8.2.1:
439 | version "8.2.4"
440 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0"
441 | integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==
442 |
443 | agent-base@6:
444 | version "6.0.2"
445 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
446 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
447 | dependencies:
448 | debug "4"
449 |
450 | aggregate-error@^3.0.0:
451 | version "3.1.0"
452 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
453 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
454 | dependencies:
455 | clean-stack "^2.0.0"
456 | indent-string "^4.0.0"
457 |
458 | ajv-keywords@^3.5.2:
459 | version "3.5.2"
460 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
461 | integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
462 |
463 | ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
464 | version "6.12.6"
465 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
466 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
467 | dependencies:
468 | fast-deep-equal "^3.1.1"
469 | fast-json-stable-stringify "^2.0.0"
470 | json-schema-traverse "^0.4.1"
471 | uri-js "^4.2.2"
472 |
473 | ajv@^8.0.1:
474 | version "8.5.0"
475 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz#695528274bcb5afc865446aa275484049a18ae4b"
476 | integrity sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==
477 | dependencies:
478 | fast-deep-equal "^3.1.1"
479 | json-schema-traverse "^1.0.0"
480 | require-from-string "^2.0.2"
481 | uri-js "^4.2.2"
482 |
483 | ansi-colors@4.1.1, ansi-colors@^4.1.1:
484 | version "4.1.1"
485 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
486 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
487 |
488 | ansi-regex@^3.0.0:
489 | version "3.0.0"
490 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
491 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
492 |
493 | ansi-regex@^5.0.0:
494 | version "5.0.0"
495 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
496 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
497 |
498 | ansi-styles@^3.2.1:
499 | version "3.2.1"
500 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
501 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
502 | dependencies:
503 | color-convert "^1.9.0"
504 |
505 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
506 | version "4.3.0"
507 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
508 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
509 | dependencies:
510 | color-convert "^2.0.1"
511 |
512 | anymatch@~3.1.1:
513 | version "3.1.2"
514 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
515 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
516 | dependencies:
517 | normalize-path "^3.0.0"
518 | picomatch "^2.0.4"
519 |
520 | append-transform@^2.0.0:
521 | version "2.0.0"
522 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12"
523 | integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==
524 | dependencies:
525 | default-require-extensions "^3.0.0"
526 |
527 | archy@^1.0.0:
528 | version "1.0.0"
529 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
530 | integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
531 |
532 | argparse@^1.0.7:
533 | version "1.0.10"
534 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
535 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
536 | dependencies:
537 | sprintf-js "~1.0.2"
538 |
539 | argparse@^2.0.1:
540 | version "2.0.1"
541 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
542 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
543 |
544 | argv@0.0.2:
545 | version "0.0.2"
546 | resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab"
547 | integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=
548 |
549 | assertion-error@^1.1.0:
550 | version "1.1.0"
551 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
552 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
553 |
554 | astral-regex@^2.0.0:
555 | version "2.0.0"
556 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
557 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
558 |
559 | balanced-match@^1.0.0:
560 | version "1.0.2"
561 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
562 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
563 |
564 | binary-extensions@^2.0.0:
565 | version "2.2.0"
566 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
567 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
568 |
569 | brace-expansion@^1.1.7:
570 | version "1.1.11"
571 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
572 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
573 | dependencies:
574 | balanced-match "^1.0.0"
575 | concat-map "0.0.1"
576 |
577 | braces@~3.0.2:
578 | version "3.0.2"
579 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
580 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
581 | dependencies:
582 | fill-range "^7.0.1"
583 |
584 | browser-stdout@1.3.1:
585 | version "1.3.1"
586 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
587 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
588 |
589 | browserslist@^4.14.5:
590 | version "4.16.6"
591 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
592 | integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
593 | dependencies:
594 | caniuse-lite "^1.0.30001219"
595 | colorette "^1.2.2"
596 | electron-to-chromium "^1.3.723"
597 | escalade "^3.1.1"
598 | node-releases "^1.1.71"
599 |
600 | buffer-from@^1.0.0:
601 | version "1.1.1"
602 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
603 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
604 |
605 | caching-transform@^4.0.0:
606 | version "4.0.0"
607 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f"
608 | integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==
609 | dependencies:
610 | hasha "^5.0.0"
611 | make-dir "^3.0.0"
612 | package-hash "^4.0.0"
613 | write-file-atomic "^3.0.0"
614 |
615 | callsites@^3.0.0:
616 | version "3.1.0"
617 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
618 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
619 |
620 | camelcase@^5.0.0, camelcase@^5.3.1:
621 | version "5.3.1"
622 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
623 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
624 |
625 | camelcase@^6.0.0:
626 | version "6.2.0"
627 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
628 | integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
629 |
630 | caniuse-lite@^1.0.30001219:
631 | version "1.0.30001228"
632 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa"
633 | integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==
634 |
635 | chai@^4.3.4:
636 | version "4.3.4"
637 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49"
638 | integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==
639 | dependencies:
640 | assertion-error "^1.1.0"
641 | check-error "^1.0.2"
642 | deep-eql "^3.0.1"
643 | get-func-name "^2.0.0"
644 | pathval "^1.1.1"
645 | type-detect "^4.0.5"
646 |
647 | chalk@^2.0.0:
648 | version "2.4.2"
649 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
650 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
651 | dependencies:
652 | ansi-styles "^3.2.1"
653 | escape-string-regexp "^1.0.5"
654 | supports-color "^5.3.0"
655 |
656 | chalk@^4.0.0:
657 | version "4.1.1"
658 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
659 | integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
660 | dependencies:
661 | ansi-styles "^4.1.0"
662 | supports-color "^7.1.0"
663 |
664 | check-error@^1.0.2:
665 | version "1.0.2"
666 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
667 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
668 |
669 | chokidar@3.5.1:
670 | version "3.5.1"
671 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
672 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
673 | dependencies:
674 | anymatch "~3.1.1"
675 | braces "~3.0.2"
676 | glob-parent "~5.1.0"
677 | is-binary-path "~2.1.0"
678 | is-glob "~4.0.1"
679 | normalize-path "~3.0.0"
680 | readdirp "~3.5.0"
681 | optionalDependencies:
682 | fsevents "~2.3.1"
683 |
684 | chrome-trace-event@^1.0.2:
685 | version "1.0.3"
686 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
687 | integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
688 |
689 | clean-stack@^2.0.0:
690 | version "2.2.0"
691 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
692 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
693 |
694 | cliui@^6.0.0:
695 | version "6.0.0"
696 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
697 | integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
698 | dependencies:
699 | string-width "^4.2.0"
700 | strip-ansi "^6.0.0"
701 | wrap-ansi "^6.2.0"
702 |
703 | cliui@^7.0.2:
704 | version "7.0.4"
705 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
706 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
707 | dependencies:
708 | string-width "^4.2.0"
709 | strip-ansi "^6.0.0"
710 | wrap-ansi "^7.0.0"
711 |
712 | clone-deep@^4.0.1:
713 | version "4.0.1"
714 | resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
715 | integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
716 | dependencies:
717 | is-plain-object "^2.0.4"
718 | kind-of "^6.0.2"
719 | shallow-clone "^3.0.0"
720 |
721 | codecov@^3.8.1:
722 | version "3.8.2"
723 | resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.2.tgz#ab24f18783998c39e809ea210af899f8dbcc790e"
724 | integrity sha512-6w/kt/xvmPsWMfDFPE/T054txA9RTgcJEw36PNa6MYX+YV29jCHCRFXwbQ3QZBTOgnex1J2WP8bo2AT8TWWz9g==
725 | dependencies:
726 | argv "0.0.2"
727 | ignore-walk "3.0.3"
728 | js-yaml "3.14.1"
729 | teeny-request "7.0.1"
730 | urlgrey "0.4.4"
731 |
732 | color-convert@^1.9.0:
733 | version "1.9.3"
734 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
735 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
736 | dependencies:
737 | color-name "1.1.3"
738 |
739 | color-convert@^2.0.1:
740 | version "2.0.1"
741 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
742 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
743 | dependencies:
744 | color-name "~1.1.4"
745 |
746 | color-name@1.1.3:
747 | version "1.1.3"
748 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
749 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
750 |
751 | color-name@~1.1.4:
752 | version "1.1.4"
753 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
754 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
755 |
756 | colorette@^1.2.1, colorette@^1.2.2:
757 | version "1.2.2"
758 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
759 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
760 |
761 | commander@^2.20.0:
762 | version "2.20.3"
763 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
764 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
765 |
766 | commander@^7.0.0:
767 | version "7.2.0"
768 | resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
769 | integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
770 |
771 | commondir@^1.0.1:
772 | version "1.0.1"
773 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
774 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
775 |
776 | concat-map@0.0.1:
777 | version "0.0.1"
778 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
779 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
780 |
781 | convert-source-map@^1.7.0:
782 | version "1.7.0"
783 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
784 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
785 | dependencies:
786 | safe-buffer "~5.1.1"
787 |
788 | cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
789 | version "7.0.3"
790 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
791 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
792 | dependencies:
793 | path-key "^3.1.0"
794 | shebang-command "^2.0.0"
795 | which "^2.0.1"
796 |
797 | debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
798 | version "4.3.1"
799 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
800 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
801 | dependencies:
802 | ms "2.1.2"
803 |
804 | decamelize@^1.2.0:
805 | version "1.2.0"
806 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
807 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
808 |
809 | decamelize@^4.0.0:
810 | version "4.0.0"
811 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
812 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
813 |
814 | deep-eql@^3.0.1:
815 | version "3.0.1"
816 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
817 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
818 | dependencies:
819 | type-detect "^4.0.0"
820 |
821 | deep-is@^0.1.3:
822 | version "0.1.3"
823 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
824 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
825 |
826 | default-require-extensions@^3.0.0:
827 | version "3.0.0"
828 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96"
829 | integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==
830 | dependencies:
831 | strip-bom "^4.0.0"
832 |
833 | diff@5.0.0:
834 | version "5.0.0"
835 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
836 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
837 |
838 | doctrine@^3.0.0:
839 | version "3.0.0"
840 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
841 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
842 | dependencies:
843 | esutils "^2.0.2"
844 |
845 | electron-to-chromium@^1.3.723:
846 | version "1.3.735"
847 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.735.tgz#fa1a8660f2790662291cb2136f0e446a444cdfdc"
848 | integrity sha512-cp7MWzC3NseUJV2FJFgaiesdrS+A8ZUjX5fLAxdRlcaPDkaPGFplX930S5vf84yqDp4LjuLdKouWuVOTwUfqHQ==
849 |
850 | emoji-regex@^8.0.0:
851 | version "8.0.0"
852 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
853 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
854 |
855 | enhanced-resolve@^5.8.0:
856 | version "5.8.2"
857 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b"
858 | integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==
859 | dependencies:
860 | graceful-fs "^4.2.4"
861 | tapable "^2.2.0"
862 |
863 | enquirer@^2.3.5:
864 | version "2.3.6"
865 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
866 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
867 | dependencies:
868 | ansi-colors "^4.1.1"
869 |
870 | envinfo@^7.7.3:
871 | version "7.8.1"
872 | resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
873 | integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
874 |
875 | es-module-lexer@^0.4.0:
876 | version "0.4.1"
877 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e"
878 | integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==
879 |
880 | es6-error@^4.0.1:
881 | version "4.1.1"
882 | resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
883 | integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
884 |
885 | escalade@^3.1.1:
886 | version "3.1.1"
887 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
888 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
889 |
890 | escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
891 | version "4.0.0"
892 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
893 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
894 |
895 | escape-string-regexp@^1.0.5:
896 | version "1.0.5"
897 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
898 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
899 |
900 | eslint-scope@^5.1.1:
901 | version "5.1.1"
902 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
903 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
904 | dependencies:
905 | esrecurse "^4.3.0"
906 | estraverse "^4.1.1"
907 |
908 | eslint-utils@^2.1.0:
909 | version "2.1.0"
910 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
911 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
912 | dependencies:
913 | eslint-visitor-keys "^1.1.0"
914 |
915 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
916 | version "1.3.0"
917 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
918 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
919 |
920 | eslint-visitor-keys@^2.0.0:
921 | version "2.1.0"
922 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
923 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
924 |
925 | eslint@^7.25.0:
926 | version "7.27.0"
927 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.27.0.tgz#665a1506d8f95655c9274d84bd78f7166b07e9c7"
928 | integrity sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==
929 | dependencies:
930 | "@babel/code-frame" "7.12.11"
931 | "@eslint/eslintrc" "^0.4.1"
932 | ajv "^6.10.0"
933 | chalk "^4.0.0"
934 | cross-spawn "^7.0.2"
935 | debug "^4.0.1"
936 | doctrine "^3.0.0"
937 | enquirer "^2.3.5"
938 | escape-string-regexp "^4.0.0"
939 | eslint-scope "^5.1.1"
940 | eslint-utils "^2.1.0"
941 | eslint-visitor-keys "^2.0.0"
942 | espree "^7.3.1"
943 | esquery "^1.4.0"
944 | esutils "^2.0.2"
945 | fast-deep-equal "^3.1.3"
946 | file-entry-cache "^6.0.1"
947 | functional-red-black-tree "^1.0.1"
948 | glob-parent "^5.0.0"
949 | globals "^13.6.0"
950 | ignore "^4.0.6"
951 | import-fresh "^3.0.0"
952 | imurmurhash "^0.1.4"
953 | is-glob "^4.0.0"
954 | js-yaml "^3.13.1"
955 | json-stable-stringify-without-jsonify "^1.0.1"
956 | levn "^0.4.1"
957 | lodash.merge "^4.6.2"
958 | minimatch "^3.0.4"
959 | natural-compare "^1.4.0"
960 | optionator "^0.9.1"
961 | progress "^2.0.0"
962 | regexpp "^3.1.0"
963 | semver "^7.2.1"
964 | strip-ansi "^6.0.0"
965 | strip-json-comments "^3.1.0"
966 | table "^6.0.9"
967 | text-table "^0.2.0"
968 | v8-compile-cache "^2.0.3"
969 |
970 | espree@^7.3.0, espree@^7.3.1:
971 | version "7.3.1"
972 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
973 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
974 | dependencies:
975 | acorn "^7.4.0"
976 | acorn-jsx "^5.3.1"
977 | eslint-visitor-keys "^1.3.0"
978 |
979 | esprima@^4.0.0:
980 | version "4.0.1"
981 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
982 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
983 |
984 | esquery@^1.4.0:
985 | version "1.4.0"
986 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
987 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
988 | dependencies:
989 | estraverse "^5.1.0"
990 |
991 | esrecurse@^4.3.0:
992 | version "4.3.0"
993 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
994 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
995 | dependencies:
996 | estraverse "^5.2.0"
997 |
998 | estraverse@^4.1.1:
999 | version "4.3.0"
1000 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
1001 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
1002 |
1003 | estraverse@^5.1.0, estraverse@^5.2.0:
1004 | version "5.2.0"
1005 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
1006 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
1007 |
1008 | esutils@^2.0.2:
1009 | version "2.0.3"
1010 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1011 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1012 |
1013 | events@^3.2.0:
1014 | version "3.3.0"
1015 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
1016 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
1017 |
1018 | execa@^5.0.0:
1019 | version "5.0.0"
1020 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376"
1021 | integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==
1022 | dependencies:
1023 | cross-spawn "^7.0.3"
1024 | get-stream "^6.0.0"
1025 | human-signals "^2.1.0"
1026 | is-stream "^2.0.0"
1027 | merge-stream "^2.0.0"
1028 | npm-run-path "^4.0.1"
1029 | onetime "^5.1.2"
1030 | signal-exit "^3.0.3"
1031 | strip-final-newline "^2.0.0"
1032 |
1033 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
1034 | version "3.1.3"
1035 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
1036 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
1037 |
1038 | fast-json-stable-stringify@^2.0.0:
1039 | version "2.1.0"
1040 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
1041 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
1042 |
1043 | fast-levenshtein@^2.0.6:
1044 | version "2.0.6"
1045 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1046 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
1047 |
1048 | fastest-levenshtein@^1.0.12:
1049 | version "1.0.12"
1050 | resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2"
1051 | integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
1052 |
1053 | file-entry-cache@^6.0.1:
1054 | version "6.0.1"
1055 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
1056 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
1057 | dependencies:
1058 | flat-cache "^3.0.4"
1059 |
1060 | fill-range@^7.0.1:
1061 | version "7.0.1"
1062 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
1063 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
1064 | dependencies:
1065 | to-regex-range "^5.0.1"
1066 |
1067 | find-cache-dir@^3.2.0:
1068 | version "3.3.1"
1069 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
1070 | integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
1071 | dependencies:
1072 | commondir "^1.0.1"
1073 | make-dir "^3.0.2"
1074 | pkg-dir "^4.1.0"
1075 |
1076 | find-up@5.0.0:
1077 | version "5.0.0"
1078 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
1079 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
1080 | dependencies:
1081 | locate-path "^6.0.0"
1082 | path-exists "^4.0.0"
1083 |
1084 | find-up@^4.0.0, find-up@^4.1.0:
1085 | version "4.1.0"
1086 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
1087 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
1088 | dependencies:
1089 | locate-path "^5.0.0"
1090 | path-exists "^4.0.0"
1091 |
1092 | flat-cache@^3.0.4:
1093 | version "3.0.4"
1094 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
1095 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
1096 | dependencies:
1097 | flatted "^3.1.0"
1098 | rimraf "^3.0.2"
1099 |
1100 | flat@^5.0.2:
1101 | version "5.0.2"
1102 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
1103 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
1104 |
1105 | flatted@^3.1.0:
1106 | version "3.1.1"
1107 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
1108 | integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
1109 |
1110 | foreground-child@^2.0.0:
1111 | version "2.0.0"
1112 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53"
1113 | integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==
1114 | dependencies:
1115 | cross-spawn "^7.0.0"
1116 | signal-exit "^3.0.2"
1117 |
1118 | fromentries@^1.2.0:
1119 | version "1.3.2"
1120 | resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a"
1121 | integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==
1122 |
1123 | fs.realpath@^1.0.0:
1124 | version "1.0.0"
1125 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1126 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1127 |
1128 | fsevents@~2.3.1:
1129 | version "2.3.2"
1130 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1131 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1132 |
1133 | function-bind@^1.1.1:
1134 | version "1.1.1"
1135 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1136 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
1137 |
1138 | functional-red-black-tree@^1.0.1:
1139 | version "1.0.1"
1140 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
1141 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
1142 |
1143 | gensync@^1.0.0-beta.2:
1144 | version "1.0.0-beta.2"
1145 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
1146 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
1147 |
1148 | get-caller-file@^2.0.1, get-caller-file@^2.0.5:
1149 | version "2.0.5"
1150 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1151 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
1152 |
1153 | get-func-name@^2.0.0:
1154 | version "2.0.0"
1155 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
1156 | integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
1157 |
1158 | get-package-type@^0.1.0:
1159 | version "0.1.0"
1160 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
1161 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
1162 |
1163 | get-stream@^6.0.0:
1164 | version "6.0.1"
1165 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
1166 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
1167 |
1168 | glob-parent@^5.0.0, glob-parent@~5.1.0:
1169 | version "5.1.2"
1170 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1171 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1172 | dependencies:
1173 | is-glob "^4.0.1"
1174 |
1175 | glob-to-regexp@^0.4.1:
1176 | version "0.4.1"
1177 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
1178 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
1179 |
1180 | glob@7.1.6:
1181 | version "7.1.6"
1182 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
1183 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
1184 | dependencies:
1185 | fs.realpath "^1.0.0"
1186 | inflight "^1.0.4"
1187 | inherits "2"
1188 | minimatch "^3.0.4"
1189 | once "^1.3.0"
1190 | path-is-absolute "^1.0.0"
1191 |
1192 | glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
1193 | version "7.1.7"
1194 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
1195 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
1196 | dependencies:
1197 | fs.realpath "^1.0.0"
1198 | inflight "^1.0.4"
1199 | inherits "2"
1200 | minimatch "^3.0.4"
1201 | once "^1.3.0"
1202 | path-is-absolute "^1.0.0"
1203 |
1204 | globals@^11.1.0:
1205 | version "11.12.0"
1206 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1207 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1208 |
1209 | globals@^12.1.0:
1210 | version "12.4.0"
1211 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
1212 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
1213 | dependencies:
1214 | type-fest "^0.8.1"
1215 |
1216 | globals@^13.6.0:
1217 | version "13.8.0"
1218 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3"
1219 | integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==
1220 | dependencies:
1221 | type-fest "^0.20.2"
1222 |
1223 | graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4:
1224 | version "4.2.6"
1225 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
1226 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
1227 |
1228 | growl@1.10.5:
1229 | version "1.10.5"
1230 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
1231 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
1232 |
1233 | has-flag@^3.0.0:
1234 | version "3.0.0"
1235 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1236 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
1237 |
1238 | has-flag@^4.0.0:
1239 | version "4.0.0"
1240 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1241 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1242 |
1243 | has@^1.0.3:
1244 | version "1.0.3"
1245 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1246 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1247 | dependencies:
1248 | function-bind "^1.1.1"
1249 |
1250 | hasha@^5.0.0:
1251 | version "5.2.2"
1252 | resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1"
1253 | integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==
1254 | dependencies:
1255 | is-stream "^2.0.0"
1256 | type-fest "^0.8.0"
1257 |
1258 | he@1.2.0:
1259 | version "1.2.0"
1260 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
1261 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
1262 |
1263 | html-escaper@^2.0.0:
1264 | version "2.0.2"
1265 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
1266 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
1267 |
1268 | http-proxy-agent@^4.0.0:
1269 | version "4.0.1"
1270 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
1271 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
1272 | dependencies:
1273 | "@tootallnate/once" "1"
1274 | agent-base "6"
1275 | debug "4"
1276 |
1277 | https-proxy-agent@^5.0.0:
1278 | version "5.0.0"
1279 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
1280 | integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
1281 | dependencies:
1282 | agent-base "6"
1283 | debug "4"
1284 |
1285 | human-signals@^2.1.0:
1286 | version "2.1.0"
1287 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
1288 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
1289 |
1290 | ignore-walk@3.0.3:
1291 | version "3.0.3"
1292 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
1293 | integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
1294 | dependencies:
1295 | minimatch "^3.0.4"
1296 |
1297 | ignore@^4.0.6:
1298 | version "4.0.6"
1299 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
1300 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
1301 |
1302 | import-fresh@^3.0.0, import-fresh@^3.2.1:
1303 | version "3.3.0"
1304 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1305 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1306 | dependencies:
1307 | parent-module "^1.0.0"
1308 | resolve-from "^4.0.0"
1309 |
1310 | import-local@^3.0.2:
1311 | version "3.0.2"
1312 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6"
1313 | integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==
1314 | dependencies:
1315 | pkg-dir "^4.2.0"
1316 | resolve-cwd "^3.0.0"
1317 |
1318 | imurmurhash@^0.1.4:
1319 | version "0.1.4"
1320 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1321 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
1322 |
1323 | indent-string@^4.0.0:
1324 | version "4.0.0"
1325 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
1326 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
1327 |
1328 | inflight@^1.0.4:
1329 | version "1.0.6"
1330 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1331 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
1332 | dependencies:
1333 | once "^1.3.0"
1334 | wrappy "1"
1335 |
1336 | inherits@2:
1337 | version "2.0.4"
1338 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1339 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1340 |
1341 | interpret@^2.2.0:
1342 | version "2.2.0"
1343 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9"
1344 | integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
1345 |
1346 | is-binary-path@~2.1.0:
1347 | version "2.1.0"
1348 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
1349 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
1350 | dependencies:
1351 | binary-extensions "^2.0.0"
1352 |
1353 | is-core-module@^2.2.0:
1354 | version "2.4.0"
1355 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
1356 | integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
1357 | dependencies:
1358 | has "^1.0.3"
1359 |
1360 | is-extglob@^2.1.1:
1361 | version "2.1.1"
1362 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1363 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
1364 |
1365 | is-fullwidth-code-point@^2.0.0:
1366 | version "2.0.0"
1367 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
1368 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
1369 |
1370 | is-fullwidth-code-point@^3.0.0:
1371 | version "3.0.0"
1372 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1373 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1374 |
1375 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
1376 | version "4.0.1"
1377 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
1378 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
1379 | dependencies:
1380 | is-extglob "^2.1.1"
1381 |
1382 | is-number@^7.0.0:
1383 | version "7.0.0"
1384 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1385 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1386 |
1387 | is-plain-obj@^2.1.0:
1388 | version "2.1.0"
1389 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
1390 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
1391 |
1392 | is-plain-object@^2.0.4:
1393 | version "2.0.4"
1394 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
1395 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
1396 | dependencies:
1397 | isobject "^3.0.1"
1398 |
1399 | is-stream@^2.0.0:
1400 | version "2.0.0"
1401 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
1402 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
1403 |
1404 | is-typedarray@^1.0.0:
1405 | version "1.0.0"
1406 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1407 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
1408 |
1409 | is-windows@^1.0.2:
1410 | version "1.0.2"
1411 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
1412 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
1413 |
1414 | isexe@^2.0.0:
1415 | version "2.0.0"
1416 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1417 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
1418 |
1419 | isobject@^3.0.1:
1420 | version "3.0.1"
1421 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
1422 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
1423 |
1424 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1:
1425 | version "3.0.0"
1426 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
1427 | integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
1428 |
1429 | istanbul-lib-hook@^3.0.0:
1430 | version "3.0.0"
1431 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6"
1432 | integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==
1433 | dependencies:
1434 | append-transform "^2.0.0"
1435 |
1436 | istanbul-lib-instrument@^4.0.0:
1437 | version "4.0.3"
1438 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
1439 | integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
1440 | dependencies:
1441 | "@babel/core" "^7.7.5"
1442 | "@istanbuljs/schema" "^0.1.2"
1443 | istanbul-lib-coverage "^3.0.0"
1444 | semver "^6.3.0"
1445 |
1446 | istanbul-lib-processinfo@^2.0.2:
1447 | version "2.0.2"
1448 | resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c"
1449 | integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==
1450 | dependencies:
1451 | archy "^1.0.0"
1452 | cross-spawn "^7.0.0"
1453 | istanbul-lib-coverage "^3.0.0-alpha.1"
1454 | make-dir "^3.0.0"
1455 | p-map "^3.0.0"
1456 | rimraf "^3.0.0"
1457 | uuid "^3.3.3"
1458 |
1459 | istanbul-lib-report@^3.0.0:
1460 | version "3.0.0"
1461 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
1462 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
1463 | dependencies:
1464 | istanbul-lib-coverage "^3.0.0"
1465 | make-dir "^3.0.0"
1466 | supports-color "^7.1.0"
1467 |
1468 | istanbul-lib-source-maps@^4.0.0:
1469 | version "4.0.0"
1470 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9"
1471 | integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==
1472 | dependencies:
1473 | debug "^4.1.1"
1474 | istanbul-lib-coverage "^3.0.0"
1475 | source-map "^0.6.1"
1476 |
1477 | istanbul-reports@^3.0.2:
1478 | version "3.0.2"
1479 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b"
1480 | integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==
1481 | dependencies:
1482 | html-escaper "^2.0.0"
1483 | istanbul-lib-report "^3.0.0"
1484 |
1485 | jest-worker@^26.6.2:
1486 | version "26.6.2"
1487 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
1488 | integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
1489 | dependencies:
1490 | "@types/node" "*"
1491 | merge-stream "^2.0.0"
1492 | supports-color "^7.0.0"
1493 |
1494 | js-tokens@^4.0.0:
1495 | version "4.0.0"
1496 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1497 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1498 |
1499 | js-yaml@3.14.1, js-yaml@^3.13.1:
1500 | version "3.14.1"
1501 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
1502 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
1503 | dependencies:
1504 | argparse "^1.0.7"
1505 | esprima "^4.0.0"
1506 |
1507 | js-yaml@4.0.0:
1508 | version "4.0.0"
1509 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f"
1510 | integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==
1511 | dependencies:
1512 | argparse "^2.0.1"
1513 |
1514 | jsesc@^2.5.1:
1515 | version "2.5.2"
1516 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
1517 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
1518 |
1519 | json-parse-better-errors@^1.0.2:
1520 | version "1.0.2"
1521 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
1522 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
1523 |
1524 | json-schema-traverse@^0.4.1:
1525 | version "0.4.1"
1526 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1527 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1528 |
1529 | json-schema-traverse@^1.0.0:
1530 | version "1.0.0"
1531 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
1532 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
1533 |
1534 | json-stable-stringify-without-jsonify@^1.0.1:
1535 | version "1.0.1"
1536 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1537 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
1538 |
1539 | json5@^2.1.2:
1540 | version "2.2.0"
1541 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
1542 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
1543 | dependencies:
1544 | minimist "^1.2.5"
1545 |
1546 | kind-of@^6.0.2:
1547 | version "6.0.3"
1548 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
1549 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
1550 |
1551 | levn@^0.4.1:
1552 | version "0.4.1"
1553 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1554 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1555 | dependencies:
1556 | prelude-ls "^1.2.1"
1557 | type-check "~0.4.0"
1558 |
1559 | loader-runner@^4.2.0:
1560 | version "4.2.0"
1561 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384"
1562 | integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==
1563 |
1564 | locate-path@^5.0.0:
1565 | version "5.0.0"
1566 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
1567 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
1568 | dependencies:
1569 | p-locate "^4.1.0"
1570 |
1571 | locate-path@^6.0.0:
1572 | version "6.0.0"
1573 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
1574 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1575 | dependencies:
1576 | p-locate "^5.0.0"
1577 |
1578 | lodash.clonedeep@^4.5.0:
1579 | version "4.5.0"
1580 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
1581 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
1582 |
1583 | lodash.flattendeep@^4.4.0:
1584 | version "4.4.0"
1585 | resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
1586 | integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
1587 |
1588 | lodash.merge@^4.6.2:
1589 | version "4.6.2"
1590 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1591 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1592 |
1593 | lodash.truncate@^4.4.2:
1594 | version "4.4.2"
1595 | resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
1596 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
1597 |
1598 | log-symbols@4.0.0:
1599 | version "4.0.0"
1600 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
1601 | integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
1602 | dependencies:
1603 | chalk "^4.0.0"
1604 |
1605 | lru-cache@^6.0.0:
1606 | version "6.0.0"
1607 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1608 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1609 | dependencies:
1610 | yallist "^4.0.0"
1611 |
1612 | make-dir@^3.0.0, make-dir@^3.0.2:
1613 | version "3.1.0"
1614 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
1615 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
1616 | dependencies:
1617 | semver "^6.0.0"
1618 |
1619 | merge-stream@^2.0.0:
1620 | version "2.0.0"
1621 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
1622 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
1623 |
1624 | mime-db@1.47.0:
1625 | version "1.47.0"
1626 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
1627 | integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
1628 |
1629 | mime-types@^2.1.27:
1630 | version "2.1.30"
1631 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
1632 | integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
1633 | dependencies:
1634 | mime-db "1.47.0"
1635 |
1636 | mimic-fn@^2.1.0:
1637 | version "2.1.0"
1638 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
1639 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
1640 |
1641 | minimatch@3.0.4, minimatch@^3.0.4:
1642 | version "3.0.4"
1643 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1644 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
1645 | dependencies:
1646 | brace-expansion "^1.1.7"
1647 |
1648 | minimist@^1.2.5:
1649 | version "1.2.5"
1650 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
1651 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
1652 |
1653 | mocha@^8.3.2:
1654 | version "8.4.0"
1655 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff"
1656 | integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==
1657 | dependencies:
1658 | "@ungap/promise-all-settled" "1.1.2"
1659 | ansi-colors "4.1.1"
1660 | browser-stdout "1.3.1"
1661 | chokidar "3.5.1"
1662 | debug "4.3.1"
1663 | diff "5.0.0"
1664 | escape-string-regexp "4.0.0"
1665 | find-up "5.0.0"
1666 | glob "7.1.6"
1667 | growl "1.10.5"
1668 | he "1.2.0"
1669 | js-yaml "4.0.0"
1670 | log-symbols "4.0.0"
1671 | minimatch "3.0.4"
1672 | ms "2.1.3"
1673 | nanoid "3.1.20"
1674 | serialize-javascript "5.0.1"
1675 | strip-json-comments "3.1.1"
1676 | supports-color "8.1.1"
1677 | which "2.0.2"
1678 | wide-align "1.1.3"
1679 | workerpool "6.1.0"
1680 | yargs "16.2.0"
1681 | yargs-parser "20.2.4"
1682 | yargs-unparser "2.0.0"
1683 |
1684 | ms@2.1.2:
1685 | version "2.1.2"
1686 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1687 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1688 |
1689 | ms@2.1.3:
1690 | version "2.1.3"
1691 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
1692 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1693 |
1694 | nanoid@3.1.20:
1695 | version "3.1.20"
1696 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
1697 | integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
1698 |
1699 | natural-compare@^1.4.0:
1700 | version "1.4.0"
1701 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1702 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
1703 |
1704 | neo-async@^2.6.2:
1705 | version "2.6.2"
1706 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
1707 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
1708 |
1709 | node-fetch@^2.6.1:
1710 | version "2.6.1"
1711 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
1712 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
1713 |
1714 | node-preload@^0.2.1:
1715 | version "0.2.1"
1716 | resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301"
1717 | integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==
1718 | dependencies:
1719 | process-on-spawn "^1.0.0"
1720 |
1721 | node-releases@^1.1.71:
1722 | version "1.1.72"
1723 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe"
1724 | integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==
1725 |
1726 | normalize-path@^3.0.0, normalize-path@~3.0.0:
1727 | version "3.0.0"
1728 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1729 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1730 |
1731 | npm-run-path@^4.0.1:
1732 | version "4.0.1"
1733 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
1734 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
1735 | dependencies:
1736 | path-key "^3.0.0"
1737 |
1738 | nyc@^15.1.0:
1739 | version "15.1.0"
1740 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02"
1741 | integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==
1742 | dependencies:
1743 | "@istanbuljs/load-nyc-config" "^1.0.0"
1744 | "@istanbuljs/schema" "^0.1.2"
1745 | caching-transform "^4.0.0"
1746 | convert-source-map "^1.7.0"
1747 | decamelize "^1.2.0"
1748 | find-cache-dir "^3.2.0"
1749 | find-up "^4.1.0"
1750 | foreground-child "^2.0.0"
1751 | get-package-type "^0.1.0"
1752 | glob "^7.1.6"
1753 | istanbul-lib-coverage "^3.0.0"
1754 | istanbul-lib-hook "^3.0.0"
1755 | istanbul-lib-instrument "^4.0.0"
1756 | istanbul-lib-processinfo "^2.0.2"
1757 | istanbul-lib-report "^3.0.0"
1758 | istanbul-lib-source-maps "^4.0.0"
1759 | istanbul-reports "^3.0.2"
1760 | make-dir "^3.0.0"
1761 | node-preload "^0.2.1"
1762 | p-map "^3.0.0"
1763 | process-on-spawn "^1.0.0"
1764 | resolve-from "^5.0.0"
1765 | rimraf "^3.0.0"
1766 | signal-exit "^3.0.2"
1767 | spawn-wrap "^2.0.0"
1768 | test-exclude "^6.0.0"
1769 | yargs "^15.0.2"
1770 |
1771 | once@^1.3.0:
1772 | version "1.4.0"
1773 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1774 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1775 | dependencies:
1776 | wrappy "1"
1777 |
1778 | onetime@^5.1.2:
1779 | version "5.1.2"
1780 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
1781 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
1782 | dependencies:
1783 | mimic-fn "^2.1.0"
1784 |
1785 | optionator@^0.9.1:
1786 | version "0.9.1"
1787 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1788 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
1789 | dependencies:
1790 | deep-is "^0.1.3"
1791 | fast-levenshtein "^2.0.6"
1792 | levn "^0.4.1"
1793 | prelude-ls "^1.2.1"
1794 | type-check "^0.4.0"
1795 | word-wrap "^1.2.3"
1796 |
1797 | p-limit@^2.2.0:
1798 | version "2.3.0"
1799 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
1800 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
1801 | dependencies:
1802 | p-try "^2.0.0"
1803 |
1804 | p-limit@^3.0.2, p-limit@^3.1.0:
1805 | version "3.1.0"
1806 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
1807 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
1808 | dependencies:
1809 | yocto-queue "^0.1.0"
1810 |
1811 | p-locate@^4.1.0:
1812 | version "4.1.0"
1813 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
1814 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
1815 | dependencies:
1816 | p-limit "^2.2.0"
1817 |
1818 | p-locate@^5.0.0:
1819 | version "5.0.0"
1820 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
1821 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
1822 | dependencies:
1823 | p-limit "^3.0.2"
1824 |
1825 | p-map@^3.0.0:
1826 | version "3.0.0"
1827 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d"
1828 | integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==
1829 | dependencies:
1830 | aggregate-error "^3.0.0"
1831 |
1832 | p-try@^2.0.0:
1833 | version "2.2.0"
1834 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
1835 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
1836 |
1837 | package-hash@^4.0.0:
1838 | version "4.0.0"
1839 | resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506"
1840 | integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==
1841 | dependencies:
1842 | graceful-fs "^4.1.15"
1843 | hasha "^5.0.0"
1844 | lodash.flattendeep "^4.4.0"
1845 | release-zalgo "^1.0.0"
1846 |
1847 | parent-module@^1.0.0:
1848 | version "1.0.1"
1849 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1850 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1851 | dependencies:
1852 | callsites "^3.0.0"
1853 |
1854 | parselib@^1.0.0:
1855 | version "1.0.0"
1856 | resolved "https://registry.yarnpkg.com/parselib/-/parselib-1.0.0.tgz#681a25a4614c75a8bb211b1786a90e33d1e48c02"
1857 | integrity sha512-G+pcgRKqcJKODRBJdIKxJh2IQPUUB4/HCNG0uAcubPg1pD1eFEHu66mNnF95jRW/Kv17nnzpeEi69gcWSWteRA==
1858 |
1859 | path-exists@^4.0.0:
1860 | version "4.0.0"
1861 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1862 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1863 |
1864 | path-is-absolute@^1.0.0:
1865 | version "1.0.1"
1866 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1867 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1868 |
1869 | path-key@^3.0.0, path-key@^3.1.0:
1870 | version "3.1.1"
1871 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1872 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1873 |
1874 | path-parse@^1.0.6:
1875 | version "1.0.7"
1876 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1877 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1878 |
1879 | pathval@^1.1.1:
1880 | version "1.1.1"
1881 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
1882 | integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
1883 |
1884 | picomatch@^2.0.4, picomatch@^2.2.1:
1885 | version "2.3.0"
1886 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
1887 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
1888 |
1889 | pkg-dir@^4.1.0, pkg-dir@^4.2.0:
1890 | version "4.2.0"
1891 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
1892 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
1893 | dependencies:
1894 | find-up "^4.0.0"
1895 |
1896 | prelude-ls@^1.2.1:
1897 | version "1.2.1"
1898 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1899 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1900 |
1901 | process-on-spawn@^1.0.0:
1902 | version "1.0.0"
1903 | resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93"
1904 | integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==
1905 | dependencies:
1906 | fromentries "^1.2.0"
1907 |
1908 | progress@^2.0.0:
1909 | version "2.0.3"
1910 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
1911 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
1912 |
1913 | punycode@^2.1.0:
1914 | version "2.1.1"
1915 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
1916 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
1917 |
1918 | randombytes@^2.1.0:
1919 | version "2.1.0"
1920 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
1921 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
1922 | dependencies:
1923 | safe-buffer "^5.1.0"
1924 |
1925 | readdirp@~3.5.0:
1926 | version "3.5.0"
1927 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e"
1928 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==
1929 | dependencies:
1930 | picomatch "^2.2.1"
1931 |
1932 | rechoir@^0.7.0:
1933 | version "0.7.0"
1934 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca"
1935 | integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==
1936 | dependencies:
1937 | resolve "^1.9.0"
1938 |
1939 | regexpp@^3.1.0:
1940 | version "3.1.0"
1941 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
1942 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
1943 |
1944 | release-zalgo@^1.0.0:
1945 | version "1.0.0"
1946 | resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730"
1947 | integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=
1948 | dependencies:
1949 | es6-error "^4.0.1"
1950 |
1951 | require-directory@^2.1.1:
1952 | version "2.1.1"
1953 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1954 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
1955 |
1956 | require-from-string@^2.0.2:
1957 | version "2.0.2"
1958 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
1959 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
1960 |
1961 | require-main-filename@^2.0.0:
1962 | version "2.0.0"
1963 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
1964 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
1965 |
1966 | resolve-cwd@^3.0.0:
1967 | version "3.0.0"
1968 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
1969 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
1970 | dependencies:
1971 | resolve-from "^5.0.0"
1972 |
1973 | resolve-from@^4.0.0:
1974 | version "4.0.0"
1975 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1976 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1977 |
1978 | resolve-from@^5.0.0:
1979 | version "5.0.0"
1980 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
1981 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
1982 |
1983 | resolve@^1.9.0:
1984 | version "1.20.0"
1985 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
1986 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
1987 | dependencies:
1988 | is-core-module "^2.2.0"
1989 | path-parse "^1.0.6"
1990 |
1991 | rimraf@^3.0.0, rimraf@^3.0.2:
1992 | version "3.0.2"
1993 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1994 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1995 | dependencies:
1996 | glob "^7.1.3"
1997 |
1998 | safe-buffer@^5.1.0:
1999 | version "5.2.1"
2000 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
2001 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
2002 |
2003 | safe-buffer@~5.1.1:
2004 | version "5.1.2"
2005 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
2006 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
2007 |
2008 | schema-utils@^3.0.0:
2009 | version "3.0.0"
2010 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef"
2011 | integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==
2012 | dependencies:
2013 | "@types/json-schema" "^7.0.6"
2014 | ajv "^6.12.5"
2015 | ajv-keywords "^3.5.2"
2016 |
2017 | semver@^6.0.0, semver@^6.3.0:
2018 | version "6.3.0"
2019 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
2020 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
2021 |
2022 | semver@^7.2.1:
2023 | version "7.3.5"
2024 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
2025 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
2026 | dependencies:
2027 | lru-cache "^6.0.0"
2028 |
2029 | serialize-javascript@5.0.1, serialize-javascript@^5.0.1:
2030 | version "5.0.1"
2031 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
2032 | integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
2033 | dependencies:
2034 | randombytes "^2.1.0"
2035 |
2036 | set-blocking@^2.0.0:
2037 | version "2.0.0"
2038 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
2039 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
2040 |
2041 | shallow-clone@^3.0.0:
2042 | version "3.0.1"
2043 | resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
2044 | integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
2045 | dependencies:
2046 | kind-of "^6.0.2"
2047 |
2048 | shebang-command@^2.0.0:
2049 | version "2.0.0"
2050 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
2051 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
2052 | dependencies:
2053 | shebang-regex "^3.0.0"
2054 |
2055 | shebang-regex@^3.0.0:
2056 | version "3.0.0"
2057 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
2058 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
2059 |
2060 | signal-exit@^3.0.2, signal-exit@^3.0.3:
2061 | version "3.0.3"
2062 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
2063 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
2064 |
2065 | slice-ansi@^4.0.0:
2066 | version "4.0.0"
2067 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
2068 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
2069 | dependencies:
2070 | ansi-styles "^4.0.0"
2071 | astral-regex "^2.0.0"
2072 | is-fullwidth-code-point "^3.0.0"
2073 |
2074 | source-list-map@^2.0.1:
2075 | version "2.0.1"
2076 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
2077 | integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
2078 |
2079 | source-map-support@~0.5.19:
2080 | version "0.5.19"
2081 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
2082 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
2083 | dependencies:
2084 | buffer-from "^1.0.0"
2085 | source-map "^0.6.0"
2086 |
2087 | source-map@^0.5.0:
2088 | version "0.5.7"
2089 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
2090 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
2091 |
2092 | source-map@^0.6.0, source-map@^0.6.1:
2093 | version "0.6.1"
2094 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
2095 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
2096 |
2097 | source-map@~0.7.2:
2098 | version "0.7.3"
2099 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
2100 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
2101 |
2102 | spawn-wrap@^2.0.0:
2103 | version "2.0.0"
2104 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e"
2105 | integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==
2106 | dependencies:
2107 | foreground-child "^2.0.0"
2108 | is-windows "^1.0.2"
2109 | make-dir "^3.0.0"
2110 | rimraf "^3.0.0"
2111 | signal-exit "^3.0.2"
2112 | which "^2.0.1"
2113 |
2114 | sprintf-js@~1.0.2:
2115 | version "1.0.3"
2116 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
2117 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
2118 |
2119 | stream-events@^1.0.5:
2120 | version "1.0.5"
2121 | resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5"
2122 | integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==
2123 | dependencies:
2124 | stubs "^3.0.0"
2125 |
2126 | "string-width@^1.0.2 || 2":
2127 | version "2.1.1"
2128 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
2129 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
2130 | dependencies:
2131 | is-fullwidth-code-point "^2.0.0"
2132 | strip-ansi "^4.0.0"
2133 |
2134 | string-width@^4.1.0, string-width@^4.2.0:
2135 | version "4.2.2"
2136 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
2137 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
2138 | dependencies:
2139 | emoji-regex "^8.0.0"
2140 | is-fullwidth-code-point "^3.0.0"
2141 | strip-ansi "^6.0.0"
2142 |
2143 | strip-ansi@^4.0.0:
2144 | version "4.0.0"
2145 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
2146 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
2147 | dependencies:
2148 | ansi-regex "^3.0.0"
2149 |
2150 | strip-ansi@^6.0.0:
2151 | version "6.0.0"
2152 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
2153 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
2154 | dependencies:
2155 | ansi-regex "^5.0.0"
2156 |
2157 | strip-bom@^4.0.0:
2158 | version "4.0.0"
2159 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
2160 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
2161 |
2162 | strip-final-newline@^2.0.0:
2163 | version "2.0.0"
2164 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
2165 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
2166 |
2167 | strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
2168 | version "3.1.1"
2169 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
2170 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
2171 |
2172 | stubs@^3.0.0:
2173 | version "3.0.0"
2174 | resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b"
2175 | integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls=
2176 |
2177 | supports-color@8.1.1:
2178 | version "8.1.1"
2179 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
2180 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
2181 | dependencies:
2182 | has-flag "^4.0.0"
2183 |
2184 | supports-color@^5.3.0:
2185 | version "5.5.0"
2186 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
2187 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
2188 | dependencies:
2189 | has-flag "^3.0.0"
2190 |
2191 | supports-color@^7.0.0, supports-color@^7.1.0:
2192 | version "7.2.0"
2193 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
2194 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
2195 | dependencies:
2196 | has-flag "^4.0.0"
2197 |
2198 | table@^6.0.9:
2199 | version "6.7.1"
2200 | resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
2201 | integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==
2202 | dependencies:
2203 | ajv "^8.0.1"
2204 | lodash.clonedeep "^4.5.0"
2205 | lodash.truncate "^4.4.2"
2206 | slice-ansi "^4.0.0"
2207 | string-width "^4.2.0"
2208 | strip-ansi "^6.0.0"
2209 |
2210 | tapable@^2.1.1, tapable@^2.2.0:
2211 | version "2.2.0"
2212 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b"
2213 | integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==
2214 |
2215 | teeny-request@7.0.1:
2216 | version "7.0.1"
2217 | resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.0.1.tgz#bdd41fdffea5f8fbc0d29392cb47bec4f66b2b4c"
2218 | integrity sha512-sasJmQ37klOlplL4Ia/786M5YlOcoLGQyq2TE4WHSRupbAuDaQW0PfVxV4MtdBtRJ4ngzS+1qim8zP6Zp35qCw==
2219 | dependencies:
2220 | http-proxy-agent "^4.0.0"
2221 | https-proxy-agent "^5.0.0"
2222 | node-fetch "^2.6.1"
2223 | stream-events "^1.0.5"
2224 | uuid "^8.0.0"
2225 |
2226 | terser-webpack-plugin@^5.1.1:
2227 | version "5.1.2"
2228 | resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.2.tgz#51d295eb7cc56785a67a372575fdc46e42d5c20c"
2229 | integrity sha512-6QhDaAiVHIQr5Ab3XUWZyDmrIPCHMiqJVljMF91YKyqwKkL5QHnYMkrMBy96v9Z7ev1hGhSEw1HQZc2p/s5Z8Q==
2230 | dependencies:
2231 | jest-worker "^26.6.2"
2232 | p-limit "^3.1.0"
2233 | schema-utils "^3.0.0"
2234 | serialize-javascript "^5.0.1"
2235 | source-map "^0.6.1"
2236 | terser "^5.7.0"
2237 |
2238 | terser@^5.7.0:
2239 | version "5.7.0"
2240 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693"
2241 | integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==
2242 | dependencies:
2243 | commander "^2.20.0"
2244 | source-map "~0.7.2"
2245 | source-map-support "~0.5.19"
2246 |
2247 | test-exclude@^6.0.0:
2248 | version "6.0.0"
2249 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
2250 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
2251 | dependencies:
2252 | "@istanbuljs/schema" "^0.1.2"
2253 | glob "^7.1.4"
2254 | minimatch "^3.0.4"
2255 |
2256 | text-table@^0.2.0:
2257 | version "0.2.0"
2258 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
2259 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
2260 |
2261 | to-fast-properties@^2.0.0:
2262 | version "2.0.0"
2263 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
2264 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
2265 |
2266 | to-regex-range@^5.0.1:
2267 | version "5.0.1"
2268 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
2269 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
2270 | dependencies:
2271 | is-number "^7.0.0"
2272 |
2273 | type-check@^0.4.0, type-check@~0.4.0:
2274 | version "0.4.0"
2275 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
2276 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
2277 | dependencies:
2278 | prelude-ls "^1.2.1"
2279 |
2280 | type-detect@^4.0.0, type-detect@^4.0.5:
2281 | version "4.0.8"
2282 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
2283 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
2284 |
2285 | type-fest@^0.20.2:
2286 | version "0.20.2"
2287 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
2288 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
2289 |
2290 | type-fest@^0.8.0, type-fest@^0.8.1:
2291 | version "0.8.1"
2292 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
2293 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
2294 |
2295 | typedarray-to-buffer@^3.1.5:
2296 | version "3.1.5"
2297 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
2298 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
2299 | dependencies:
2300 | is-typedarray "^1.0.0"
2301 |
2302 | typescript@^4.2.4:
2303 | version "4.2.4"
2304 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961"
2305 | integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==
2306 |
2307 | uri-js@^4.2.2:
2308 | version "4.4.1"
2309 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
2310 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
2311 | dependencies:
2312 | punycode "^2.1.0"
2313 |
2314 | urlgrey@0.4.4:
2315 | version "0.4.4"
2316 | resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f"
2317 | integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=
2318 |
2319 | uuid@^3.3.3:
2320 | version "3.4.0"
2321 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
2322 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
2323 |
2324 | uuid@^8.0.0:
2325 | version "8.3.2"
2326 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
2327 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
2328 |
2329 | v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0:
2330 | version "2.3.0"
2331 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
2332 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
2333 |
2334 | watchpack@^2.0.0:
2335 | version "2.2.0"
2336 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce"
2337 | integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==
2338 | dependencies:
2339 | glob-to-regexp "^0.4.1"
2340 | graceful-fs "^4.1.2"
2341 |
2342 | webpack-cli@^4.7.0:
2343 | version "4.7.0"
2344 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.0.tgz#3195a777f1f802ecda732f6c95d24c0004bc5a35"
2345 | integrity sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g==
2346 | dependencies:
2347 | "@discoveryjs/json-ext" "^0.5.0"
2348 | "@webpack-cli/configtest" "^1.0.3"
2349 | "@webpack-cli/info" "^1.2.4"
2350 | "@webpack-cli/serve" "^1.4.0"
2351 | colorette "^1.2.1"
2352 | commander "^7.0.0"
2353 | execa "^5.0.0"
2354 | fastest-levenshtein "^1.0.12"
2355 | import-local "^3.0.2"
2356 | interpret "^2.2.0"
2357 | rechoir "^0.7.0"
2358 | v8-compile-cache "^2.2.0"
2359 | webpack-merge "^5.7.3"
2360 |
2361 | webpack-merge@^5.7.3:
2362 | version "5.7.3"
2363 | resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213"
2364 | integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==
2365 | dependencies:
2366 | clone-deep "^4.0.1"
2367 | wildcard "^2.0.0"
2368 |
2369 | webpack-sources@^2.1.1:
2370 | version "2.2.0"
2371 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac"
2372 | integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==
2373 | dependencies:
2374 | source-list-map "^2.0.1"
2375 | source-map "^0.6.1"
2376 |
2377 | webpack@^5.36.2:
2378 | version "5.37.1"
2379 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.37.1.tgz#2deb5acd350583c1ab9338471f323381b0b0c14b"
2380 | integrity sha512-btZjGy/hSjCAAVHw+cKG+L0M+rstlyxbO2C+BOTaQ5/XAnxkDrP5sVbqWhXgo4pL3X2dcOib6rqCP20Zr9PLow==
2381 | dependencies:
2382 | "@types/eslint-scope" "^3.7.0"
2383 | "@types/estree" "^0.0.47"
2384 | "@webassemblyjs/ast" "1.11.0"
2385 | "@webassemblyjs/wasm-edit" "1.11.0"
2386 | "@webassemblyjs/wasm-parser" "1.11.0"
2387 | acorn "^8.2.1"
2388 | browserslist "^4.14.5"
2389 | chrome-trace-event "^1.0.2"
2390 | enhanced-resolve "^5.8.0"
2391 | es-module-lexer "^0.4.0"
2392 | eslint-scope "^5.1.1"
2393 | events "^3.2.0"
2394 | glob-to-regexp "^0.4.1"
2395 | graceful-fs "^4.2.4"
2396 | json-parse-better-errors "^1.0.2"
2397 | loader-runner "^4.2.0"
2398 | mime-types "^2.1.27"
2399 | neo-async "^2.6.2"
2400 | schema-utils "^3.0.0"
2401 | tapable "^2.1.1"
2402 | terser-webpack-plugin "^5.1.1"
2403 | watchpack "^2.0.0"
2404 | webpack-sources "^2.1.1"
2405 |
2406 | which-module@^2.0.0:
2407 | version "2.0.0"
2408 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
2409 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
2410 |
2411 | which@2.0.2, which@^2.0.1:
2412 | version "2.0.2"
2413 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2414 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2415 | dependencies:
2416 | isexe "^2.0.0"
2417 |
2418 | wide-align@1.1.3:
2419 | version "1.1.3"
2420 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
2421 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
2422 | dependencies:
2423 | string-width "^1.0.2 || 2"
2424 |
2425 | wildcard@^2.0.0:
2426 | version "2.0.0"
2427 | resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
2428 | integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
2429 |
2430 | word-wrap@^1.2.3:
2431 | version "1.2.3"
2432 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
2433 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
2434 |
2435 | workerpool@6.1.0:
2436 | version "6.1.0"
2437 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b"
2438 | integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==
2439 |
2440 | wrap-ansi@^6.2.0:
2441 | version "6.2.0"
2442 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
2443 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
2444 | dependencies:
2445 | ansi-styles "^4.0.0"
2446 | string-width "^4.1.0"
2447 | strip-ansi "^6.0.0"
2448 |
2449 | wrap-ansi@^7.0.0:
2450 | version "7.0.0"
2451 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
2452 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
2453 | dependencies:
2454 | ansi-styles "^4.0.0"
2455 | string-width "^4.1.0"
2456 | strip-ansi "^6.0.0"
2457 |
2458 | wrappy@1:
2459 | version "1.0.2"
2460 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2461 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
2462 |
2463 | write-file-atomic@^3.0.0:
2464 | version "3.0.3"
2465 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
2466 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
2467 | dependencies:
2468 | imurmurhash "^0.1.4"
2469 | is-typedarray "^1.0.0"
2470 | signal-exit "^3.0.2"
2471 | typedarray-to-buffer "^3.1.5"
2472 |
2473 | y18n@^4.0.0:
2474 | version "4.0.3"
2475 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
2476 | integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
2477 |
2478 | y18n@^5.0.5:
2479 | version "5.0.8"
2480 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
2481 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
2482 |
2483 | yallist@^4.0.0:
2484 | version "4.0.0"
2485 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
2486 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
2487 |
2488 | yargs-parser@20.2.4:
2489 | version "20.2.4"
2490 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
2491 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
2492 |
2493 | yargs-parser@^18.1.2:
2494 | version "18.1.3"
2495 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
2496 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
2497 | dependencies:
2498 | camelcase "^5.0.0"
2499 | decamelize "^1.2.0"
2500 |
2501 | yargs-parser@^20.2.2:
2502 | version "20.2.7"
2503 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
2504 | integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==
2505 |
2506 | yargs-unparser@2.0.0:
2507 | version "2.0.0"
2508 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
2509 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
2510 | dependencies:
2511 | camelcase "^6.0.0"
2512 | decamelize "^4.0.0"
2513 | flat "^5.0.2"
2514 | is-plain-obj "^2.1.0"
2515 |
2516 | yargs@16.2.0:
2517 | version "16.2.0"
2518 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
2519 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
2520 | dependencies:
2521 | cliui "^7.0.2"
2522 | escalade "^3.1.1"
2523 | get-caller-file "^2.0.5"
2524 | require-directory "^2.1.1"
2525 | string-width "^4.2.0"
2526 | y18n "^5.0.5"
2527 | yargs-parser "^20.2.2"
2528 |
2529 | yargs@^15.0.2:
2530 | version "15.4.1"
2531 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
2532 | integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
2533 | dependencies:
2534 | cliui "^6.0.0"
2535 | decamelize "^1.2.0"
2536 | find-up "^4.1.0"
2537 | get-caller-file "^2.0.1"
2538 | require-directory "^2.1.1"
2539 | require-main-filename "^2.0.0"
2540 | set-blocking "^2.0.0"
2541 | string-width "^4.2.0"
2542 | which-module "^2.0.0"
2543 | y18n "^4.0.0"
2544 | yargs-parser "^18.1.2"
2545 |
2546 | yocto-queue@^0.1.0:
2547 | version "0.1.0"
2548 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
2549 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
2550 |
--------------------------------------------------------------------------------