├── .gitignore
├── public
└── cm-solidity-support.png
├── dev
├── vite.config.js
├── index.html
└── index.ts
├── replit.nix
├── .replit
├── LICENSE
├── package.json
├── README.md
├── src
└── index.ts
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .upm
4 | .config
5 | .cache
--------------------------------------------------------------------------------
/public/cm-solidity-support.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/replit/codemirror-lang-solidity/main/public/cm-solidity-support.png
--------------------------------------------------------------------------------
/dev/vite.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | server: {
3 | host: '0.0.0.0',
4 | hmr: {
5 | port: 443,
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/replit.nix:
--------------------------------------------------------------------------------
1 | { pkgs }: {
2 | deps = [
3 | pkgs.nodejs-16_x
4 | pkgs.nodePackages.yarn
5 | pkgs.nodePackages.typescript-language-server
6 | ];
7 | }
--------------------------------------------------------------------------------
/.replit:
--------------------------------------------------------------------------------
1 | run="yarn run dev"
2 |
3 | entrypoint = "src/index.ts"
4 |
5 | [packager]
6 | language = "nodejs-yarn"
7 | [packager.features]
8 | packageSearch = true
9 | guessImports = true
10 |
11 | [languages.js]
12 | pattern = "**/*.ts"
13 | [languages.js.languageServer]
14 | start = ["typescript-language-server", "--stdio"]
--------------------------------------------------------------------------------
/dev/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | CodeMirror Solidity
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/dev/index.ts:
--------------------------------------------------------------------------------
1 | import { basicSetup } from 'codemirror';
2 | import { EditorView, keymap } from '@codemirror/view';
3 | import { EditorState } from '@codemirror/state';
4 | import { indentWithTab } from '@codemirror/commands';
5 | import { solidity } from '../src';
6 |
7 | const doc = `
8 | // SPDX-License-Identifier: MIT
9 | pragma solidity ^0.8.10;
10 |
11 | contract EtherWallet {
12 | address payable public owner;
13 |
14 | constructor() {
15 | owner = payable(msg.sender);
16 | }
17 |
18 | receive() external payable {}
19 |
20 | function withdraw(uint _amount) external {
21 | require(msg.sender == owner, "caller is not owner");
22 | payable(msg.sender).transfer(_amount);
23 | }
24 |
25 | function getBalance() external view returns (uint) {
26 | return address(this).balance;
27 | }
28 | }
29 | `
30 |
31 | new EditorView({
32 | state: EditorState.create({
33 | doc,
34 | extensions: [
35 | basicSetup,
36 | keymap.of([indentWithTab]),
37 | solidity,
38 | ],
39 | }),
40 | parent: document.querySelector('#editor'),
41 | });
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Replit
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@replit/codemirror-lang-solidity",
3 | "description": "Solidity language support for CM6",
4 | "version": "6.0.2",
5 | "author": {
6 | "name": "Sergei Chestakov",
7 | "email": "me@sergei.com"
8 | },
9 | "type": "module",
10 | "main": "dist/index.cjs",
11 | "exports": {
12 | "import": "./dist/index.js",
13 | "require": "./dist/index.cjs"
14 | },
15 | "types": "dist/index.d.ts",
16 | "module": "dist/index.js",
17 | "sideEffects": false,
18 | "license": "MIT",
19 | "scripts": {
20 | "dev": "vite ./dev",
21 | "build": "cm-buildhelper src/index.ts",
22 | "test": "cm-runtests",
23 | "publish": "npm run build && npm publish"
24 | },
25 | "peerDependencies": {
26 | "@codemirror/language": "^6.0.0"
27 | },
28 | "devDependencies": {
29 | "@codemirror/buildhelper": "^0.1.16",
30 | "@codemirror/commands": "^6.0.0",
31 | "@codemirror/language": "^6.0.0",
32 | "@codemirror/state": "^6.0.0",
33 | "@codemirror/view": "^6.00.0",
34 | "codemirror": "^6.0.0",
35 | "vite": "^2.3.8"
36 | },
37 | "repository": {
38 | "type": "git",
39 | "url": "https://github.com/replit/codemirror-lang-solidity.git"
40 | },
41 | "dependencies": {
42 | "@lezer/highlight": "^1.2.0"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # CodeMirror Solidity Language Support
2 |
3 |
4 |
5 |
6 | A CodeMirror extension that provides Solidity syntax highlighting and language support.
7 |
8 | 
9 |
10 | ### Usage
11 |
12 | ```ts
13 | import { basicSetup } from 'codemirror';
14 | import { EditorView } from '@codemirror/view';
15 | import { EditorState } from '@codemirror/state';
16 | import { solidity } from '@replit/codemirror-lang-solidity';
17 |
18 | const doc = `
19 | pragma solidity ^0.8.10;
20 |
21 | contract EtherWallet {
22 | address payable public owner;
23 |
24 | constructor() {
25 | owner = payable(msg.sender);
26 | }
27 |
28 | receive() external payable {}
29 |
30 | function withdraw(uint _amount) external {
31 | require(msg.sender == owner, "caller is not owner");
32 | payable(msg.sender).transfer(_amount);
33 | }
34 |
35 | function getBalance() external view returns (uint) {
36 | return address(this).balance;
37 | }
38 | }
39 | `
40 |
41 | new EditorView({
42 | state: EditorState.create({
43 | doc,
44 | extensions: [
45 | basicSetup,
46 | solidity,
47 | ],
48 | }),
49 | parent: document.querySelector('#editor'),
50 | });
51 | ```
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Wrapper around the legacy CM5 Solidity language mode
3 | * See: https://github.com/alincode/codemirror-solidity
4 | */
5 | import { LanguageSupport, StreamLanguage, StreamParser, StringStream } from '@codemirror/language';
6 | import { Tag } from '@lezer/highlight';
7 |
8 | const keywords = {
9 | pragma: true,
10 | solidity: true,
11 | import: true,
12 | as: true,
13 | from: true,
14 | contract: true,
15 | constructor: true,
16 | is: true,
17 | function: true,
18 | modifier: true,
19 | // modifiers
20 | pure: true,
21 | view: true,
22 | payable: true,
23 | constant: true,
24 | anonymous: true,
25 | indexed: true,
26 | returns: true,
27 | return: true,
28 | event: true,
29 | struct: true,
30 | mapping: true,
31 | interface: true,
32 | using: true,
33 | library: true,
34 | storage: true,
35 | memory: true,
36 | calldata: true,
37 | public: true,
38 | private: true,
39 | external: true,
40 | internal: true,
41 | emit: true,
42 | assembly: true,
43 | abstract: true,
44 | after: true,
45 | catch: true,
46 | final: true,
47 | in: true,
48 | inline: true,
49 | let: true,
50 | match: true,
51 | null: true,
52 | of: true,
53 | relocatable: true,
54 | static: true,
55 | try: true,
56 | typeof: true,
57 | var: true,
58 | };
59 |
60 | const keywordsSpecial = {
61 | pragma: true,
62 | returns: true,
63 | address: true,
64 | contract: true,
65 | function: true,
66 | struct: true,
67 | };
68 |
69 | const keywordsEtherUnit = {
70 | wei: true,
71 | szabo: true,
72 | finney: true,
73 | ether: true,
74 | };
75 | const keywordsTimeUnit = {
76 | seconds: true,
77 | minutes: true,
78 | hours: true,
79 | days: true,
80 | weeks: true,
81 | };
82 | const keywordsBlockAndTransactionProperties = {
83 | block: ['coinbase', 'difficulty', 'gaslimit', 'number', 'timestamp'],
84 | msg: ['data', 'sender', 'sig', 'value'],
85 | tx: ['gasprice', 'origin'],
86 | };
87 | const keywordsMoreBlockAndTransactionProperties = {
88 | now: true,
89 | gasleft: true,
90 | blockhash: true,
91 | };
92 | const keywordsErrorHandling = {
93 | assert: true,
94 | require: true,
95 | revert: true,
96 | throw: true,
97 | };
98 | const keywordsMathematicalAndCryptographicFuctions = {
99 | addmod: true,
100 | mulmod: true,
101 | keccak256: true,
102 | sha256: true,
103 | ripemd160: true,
104 | ecrecover: true,
105 | };
106 | const keywordsContractRelated = {
107 | this: true,
108 | selfdestruct: true,
109 | super: true,
110 | };
111 | const keywordsTypeInformation = { type: true };
112 | const keywordsContractList: Record = {};
113 |
114 | const keywordsControlStructures = {
115 | if: true,
116 | else: true,
117 | while: true,
118 | do: true,
119 | for: true,
120 | break: true,
121 | continue: true,
122 | switch: true,
123 | case: true,
124 | default: true,
125 | };
126 |
127 | const keywordsValueTypes = {
128 | bool: true,
129 | byte: true,
130 | string: true,
131 | enum: true,
132 | address: true,
133 | };
134 |
135 | const keywordsV0505NewReserve = {
136 | alias: true,
137 | apply: true,
138 | auto: true,
139 | copyof: true,
140 | define: true,
141 | immutable: true,
142 | implements: true,
143 | macro: true,
144 | mutable: true,
145 | override: true,
146 | partial: true,
147 | promise: true,
148 | reference: true,
149 | sealed: true,
150 | sizeof: true,
151 | supports: true,
152 | typedef: true,
153 | unchecked: true,
154 | };
155 |
156 | const keywordsAbiEncodeDecodeFunctions = {
157 | abi: [
158 | 'decode',
159 | 'encodePacked',
160 | 'encodeWithSelector',
161 | 'encodeWithSignature',
162 | 'encode',
163 | ],
164 | };
165 |
166 | const keywordsMembersOfAddressType = [
167 | 'transfer',
168 | 'send',
169 | 'balance',
170 | 'call',
171 | 'delegatecall',
172 | 'staticcall',
173 | ];
174 |
175 | const natSpecTags = ['title', 'author', 'notice', 'dev', 'param', 'return'];
176 |
177 | const atoms = {
178 | delete: true,
179 | new: true,
180 | true: true,
181 | false: true,
182 | };
183 |
184 | const isOperatorChar = /[+\-*&^%:=<>!|/~]/;
185 | const isNegativeChar = /[-]/;
186 |
187 | let curPunc;
188 |
189 | function tokenBase(stream: StringStream, state: State) {
190 | let ch = stream.next();
191 |
192 | if (ch === '"' || ch === "'" || ch === '`') {
193 | state.tokenize = tokenString(ch);
194 |
195 | return state.tokenize(stream, state);
196 | }
197 |
198 | if (isVersion(stream, state)) {
199 | return 'version';
200 | }
201 |
202 | if (
203 | ch === '.' &&
204 | keywordsMembersOfAddressType.some(function (item) {
205 | return stream.match(`${item}`);
206 | })
207 | ) {
208 | return 'addressFunction';
209 | }
210 |
211 | if (typeof ch === 'string' && isNumber(ch, stream)) {
212 | return 'number';
213 | }
214 |
215 | if (typeof ch === 'string' && /[[\]{}(),;:.]/.test(ch)) {
216 | return updateGarmmer(ch, state);
217 | }
218 |
219 | if (ch === '/') {
220 | if (stream.eat('*')) {
221 | state.tokenize = tokenComment;
222 |
223 | return tokenComment(stream, state);
224 | }
225 |
226 | if (stream.match(/\/{2}/)) {
227 | ch = stream.next();
228 | while (ch) {
229 | if (ch === '@') {
230 | stream.backUp(1);
231 | state.grammar = 'doc';
232 | break;
233 | }
234 |
235 | ch = stream.next();
236 | }
237 |
238 | return 'doc';
239 | }
240 |
241 | if (stream.eat('/')) {
242 | stream.skipToEnd();
243 |
244 | return 'comment';
245 | }
246 | }
247 |
248 | if (typeof ch === 'string' && isNegativeChar.test(ch)) {
249 | const peeked = stream.peek();
250 | if (typeof peeked === 'string' && isNumber(peeked, stream)) {
251 | return 'number';
252 | }
253 |
254 | return 'operator';
255 | }
256 |
257 | if (typeof ch === 'string' && isOperatorChar.test(ch)) {
258 | stream.eatWhile(isOperatorChar);
259 |
260 | return 'operator';
261 | }
262 |
263 | stream.eatWhile(/[\w$_\xa1-\uffff]/);
264 |
265 | const cur = stream.current();
266 |
267 | if (state.grammar === 'doc') {
268 | if (
269 | natSpecTags.some(function (item) {
270 | return cur === `@${item}`;
271 | })
272 | ) {
273 | return 'docReserve';
274 | }
275 |
276 | return 'doc';
277 | }
278 |
279 | if (cur === 'solidity' && state.lastToken === 'pragma') {
280 | state.lastToken = state.lastToken + ' ' + cur;
281 | }
282 |
283 | if (Object.prototype.propertyIsEnumerable.call(keywords, cur)) {
284 | if (cur === 'case' || cur === 'default') {
285 | curPunc = 'case';
286 | }
287 |
288 | if (Object.prototype.propertyIsEnumerable.call(keywordsSpecial, cur)) {
289 | state.lastToken = cur;
290 | }
291 |
292 | //if (cur === 'function' && state.para === 'parameterMode')
293 | return 'keyword';
294 | }
295 |
296 | if (Object.prototype.propertyIsEnumerable.call(keywordsEtherUnit, cur)) {
297 | return 'etherUnit';
298 | }
299 |
300 | if (
301 | Object.prototype.propertyIsEnumerable.call(keywordsContractRelated, cur)
302 | ) {
303 | return 'contractRelated';
304 | }
305 |
306 | if (
307 | Object.prototype.propertyIsEnumerable.call(
308 | keywordsControlStructures,
309 | cur,
310 | ) ||
311 | Object.prototype.propertyIsEnumerable.call(keywordsTypeInformation, cur) ||
312 | Object.prototype.propertyIsEnumerable.call(keywordsV0505NewReserve, cur)
313 | ) {
314 | return 'keyword';
315 | }
316 |
317 | if (
318 | Object.prototype.propertyIsEnumerable.call(keywordsValueTypes, cur) ||
319 | Object.prototype.propertyIsEnumerable.call(keywordsTimeUnit, cur) ||
320 | isValidInteger(cur) ||
321 | isValidBytes(cur) ||
322 | isValidFixed(cur)
323 | ) {
324 | state.lastToken += 'variable';
325 |
326 | return 'keyword';
327 | }
328 |
329 | if (Object.prototype.propertyIsEnumerable.call(atoms, cur)) {
330 | return 'atom';
331 | }
332 |
333 | if (Object.prototype.propertyIsEnumerable.call(keywordsErrorHandling, cur)) {
334 | return 'errorHandling';
335 | }
336 |
337 | if (
338 | Object.prototype.propertyIsEnumerable.call(
339 | keywordsMathematicalAndCryptographicFuctions,
340 | cur,
341 | )
342 | ) {
343 | return 'mathematicalAndCryptographic';
344 | }
345 |
346 | if (
347 | Object.prototype.propertyIsEnumerable.call(
348 | keywordsMoreBlockAndTransactionProperties,
349 | cur,
350 | ) ||
351 | (Object.prototype.propertyIsEnumerable.call(
352 | keywordsBlockAndTransactionProperties,
353 | cur,
354 | ) &&
355 | ((keywordsBlockAndTransactionProperties as any)[cur] as Array<
356 | string
357 | >).some(function (item) {
358 | return stream.match(`.${item}`);
359 | }))
360 | ) {
361 | return 'variable-2';
362 | }
363 |
364 | if (
365 | cur === 'abi' &&
366 | keywordsAbiEncodeDecodeFunctions[cur].some(function (item) {
367 | return stream.match(`.${item}`);
368 | })
369 | ) {
370 | return 'abi';
371 | }
372 |
373 | const style = updateHexLiterals(cur, stream);
374 | if (style != null) {
375 | return style;
376 | }
377 |
378 | if (
379 | (state.lastToken === 'functionName(' || state.lastToken === 'returns(') &&
380 | Object.prototype.propertyIsEnumerable.call(keywordsContractList, cur)
381 | ) {
382 | state.lastToken += 'variable';
383 |
384 | return 'variable';
385 | }
386 |
387 | if (state.lastToken === 'function') {
388 | state.lastToken = 'functionName';
389 | if (state.para == null) {
390 | state.grammar = 'function';
391 | state.para = '';
392 | }
393 |
394 | //state.parasMode = isNaN(state.parasMode) ? 1 : state.functionLayerCount++;
395 | state.para += 'functionName';
396 |
397 | return 'functionName';
398 | }
399 |
400 | if (state.lastToken === 'functionName(variable') {
401 | state.lastToken = 'functionName(';
402 |
403 | return 'parameterValue';
404 | }
405 |
406 | if (state.lastToken === 'returns(variable') {
407 | state.lastToken = 'returns(';
408 |
409 | return 'parameterValue';
410 | }
411 |
412 | if (state.lastToken === 'address' && cur === 'payable') {
413 | state.lastToken = 'address payable';
414 | }
415 |
416 | if (state.lastToken === 'contract' || state.lastToken === 'struct') {
417 | keywordsContractList[cur] = true;
418 | state.lastToken = null;
419 | }
420 |
421 | if (state.grammar === 'function') {
422 | return 'parameterValue';
423 | }
424 |
425 | return 'variable';
426 | }
427 |
428 | function tokenString(quote: string) {
429 | return function (stream: StringStream, state: State) {
430 | let escaped = false;
431 |
432 | let next;
433 |
434 | let end = false;
435 | next = stream.next();
436 | while (next != null) {
437 | if (next === quote && !escaped) {
438 | end = true;
439 | break;
440 | }
441 |
442 | escaped = !escaped && quote !== '`' && next === '\\';
443 | next = stream.next();
444 | }
445 |
446 | if (end || !(escaped || quote === '`')) {
447 | state.tokenize = tokenBase;
448 | }
449 |
450 | return 'string';
451 | };
452 | }
453 |
454 | function tokenComment(stream: StringStream, state: State) {
455 | let maybeEnd = false;
456 |
457 | let ch = stream.next();
458 | while (ch) {
459 | if (ch === '/' && maybeEnd) {
460 | state.tokenize = tokenBase;
461 | break;
462 | }
463 |
464 | maybeEnd = ch === '*';
465 | ch = stream.next();
466 | }
467 |
468 | return 'comment';
469 | }
470 |
471 | function isVersion(stream: StringStream, state: State) {
472 | if (state.lastToken === 'pragma solidity') {
473 | state.lastToken = null;
474 |
475 | return (
476 | !state.startOfLine &&
477 | (stream.match(/[\^{0}][0-9.]+/) ||
478 | stream.match(/[>=]+?[\s]*[0-9.]+[\s]*[<]?[\s]*[0-9.]+/))
479 | );
480 | }
481 | }
482 |
483 | function isNumber(ch: string, stream: StringStream) {
484 | if (/[\d.]/.test(ch)) {
485 | if (ch === '.') {
486 | stream.match(/^[0-9]+([eE][-+]?[0-9]+)?/);
487 | } else if (ch === '0') {
488 | if (!stream.match(/^[xX][0-9a-fA-F]+/)) {
489 | stream.match(/^0[0-7]+/);
490 | }
491 | } else {
492 | stream.match(/^[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?/);
493 | }
494 |
495 | return true;
496 | }
497 | }
498 |
499 | function isValidInteger(token: string) {
500 | if (token.match(/^[u]?int/)) {
501 | if (token.indexOf('t') + 1 === token.length) {
502 | return true;
503 | }
504 |
505 | const numberPart = Number(
506 | token.substr(token.indexOf('t') + 1, token.length),
507 | );
508 |
509 | return numberPart % 8 === 0 && numberPart <= 256;
510 | }
511 | }
512 |
513 | function isValidBytes(token: string) {
514 | if (token.match(/^bytes/)) {
515 | if (token.indexOf('s') + 1 === token.length) {
516 | return true;
517 | }
518 |
519 | const bytesPart = token.substr(token.indexOf('s') + 1, token.length);
520 |
521 | return Number(bytesPart) <= 32;
522 | }
523 | }
524 |
525 | function isValidFixed(token: string) {
526 | if (token.match(/^[u]?fixed([0-9]+x[0-9]+)?/)) {
527 | if (token.indexOf('d') + 1 === token.length) {
528 | return true;
529 | }
530 |
531 | const numberPart = token
532 | .substr(token.indexOf('d') + 1, token.length)
533 | .split('x')
534 | .map(Number);
535 |
536 | return (
537 | numberPart[0] % 8 === 0 && numberPart[0] <= 256 && numberPart[1] <= 80
538 | );
539 | }
540 | }
541 |
542 | function updateHexLiterals(token: string, stream: StringStream) {
543 | if (token.match(/^hex/) && stream.peek() === '"') {
544 | let maybeEnd = false;
545 |
546 | let ch;
547 |
548 | let hexValue = '';
549 |
550 | let stringAfterHex = '';
551 | ch = stream.next();
552 | while (ch) {
553 | stringAfterHex += ch;
554 | if (ch === '"' && maybeEnd) {
555 | hexValue = stringAfterHex.substring(1, stringAfterHex.length - 1);
556 | if (hexValue.match(/^[0-9a-fA-F]+$/)) {
557 | return 'number';
558 | }
559 |
560 | stream.backUp(stringAfterHex.length);
561 |
562 | break;
563 | }
564 |
565 | maybeEnd = maybeEnd || ch === '"';
566 | ch = stream.next();
567 | }
568 | }
569 | }
570 |
571 | function updateGarmmer(ch: string, state: State) {
572 | if (ch === ',' && state.para === 'functionName(variable') {
573 | state.para = 'functionName(';
574 | }
575 |
576 | if (state.para != null && state.para.startsWith('functionName')) {
577 | if (ch === ')') {
578 | if (state.para.endsWith('(')) {
579 | state.para = state.para.substr(0, state.para.length - 1);
580 | if (state.para === 'functionName') {
581 | state.grammar = '';
582 | }
583 | }
584 | } else if (ch === '(') {
585 | state.para += ch;
586 | }
587 | }
588 |
589 | if (ch === '(' && state.lastToken === 'functionName') {
590 | state.lastToken += ch;
591 | } else if (ch === ')' && state.lastToken === 'functionName(') {
592 | state.lastToken = null;
593 | } else if (ch === '(' && state.lastToken === 'returns') {
594 | state.lastToken += ch;
595 | } else if (
596 | ch === ')' &&
597 | (state.lastToken === 'returns(' || state.lastToken === 'returns(variable')
598 | ) {
599 | state.lastToken = null;
600 | }
601 |
602 | if (ch === '(' && state.lastToken === 'address') {
603 | state.lastToken += ch;
604 | }
605 |
606 | curPunc = ch;
607 |
608 | return null;
609 | }
610 |
611 | class Context {
612 | indented: number;
613 | column: number;
614 | type: string;
615 | align: boolean | null;
616 | prev: Context | null;
617 |
618 | constructor(
619 | indented: number,
620 | column: number,
621 | type: string,
622 | align: boolean | null,
623 | prev: Context | null,
624 | ) {
625 | this.indented = indented;
626 | this.column = column;
627 | this.type = type;
628 | this.align = align;
629 | this.prev = prev;
630 | }
631 | }
632 |
633 | function pushContext(state: State, col: number, type: string) {
634 | state.context = new Context(state.indented, col, type, null, state.context);
635 |
636 | return state.context;
637 | }
638 |
639 | function popContext(state: State) {
640 | if (!state.context.prev) {
641 | return;
642 | }
643 |
644 | const t = state.context.type;
645 | if (t === ')' || t === ']' || t === '}') {
646 | state.indented = state.context.indented;
647 | }
648 |
649 | return (state.context = state.context.prev);
650 | }
651 |
652 | interface State {
653 | context: Context;
654 | tokenize: null | ((stream: StringStream, state: State) => string | null);
655 | indented: number;
656 | startOfLine: boolean;
657 | grammar: string | null;
658 | lastToken: string | null;
659 | para: string | null;
660 | }
661 |
662 | export const parser: StreamParser = {
663 | startState(indentUnit) {
664 | return {
665 | tokenize: null,
666 | context: new Context(0 - indentUnit, 0, 'top', false, null),
667 | indented: 0,
668 | startOfLine: true,
669 | grammar: null,
670 | lastToken: null,
671 | para: null,
672 | };
673 | },
674 |
675 | token(stream, state) {
676 | const ctx = state.context;
677 | if (stream.sol()) {
678 | if (ctx.align == null) {
679 | ctx.align = false;
680 | }
681 |
682 | state.indented = stream.indentation();
683 | state.startOfLine = true;
684 | if (ctx.type === 'case') {
685 | ctx.type = '}';
686 | }
687 |
688 | if (state.grammar === 'doc') {
689 | state.grammar = null;
690 | }
691 | }
692 |
693 | if (stream.eatSpace()) {
694 | return null;
695 | }
696 |
697 | curPunc = null;
698 | const style = (state.tokenize || tokenBase)(stream, state);
699 |
700 | if (style === 'comment') {
701 | return style;
702 | }
703 |
704 | if (ctx.align == null) {
705 | ctx.align = true;
706 | }
707 |
708 | if (curPunc === '{') {
709 | pushContext(state, stream.column(), '}');
710 | } else if (curPunc === '[') {
711 | pushContext(state, stream.column(), ']');
712 | } else if (curPunc === '(') {
713 | pushContext(state, stream.column(), ')');
714 | } else if (curPunc === 'case') {
715 | ctx.type = 'case';
716 | } else if (curPunc === '}' && ctx.type === '}') {
717 | popContext(state);
718 | } else if (curPunc === ctx.type) {
719 | popContext(state);
720 | }
721 |
722 | state.startOfLine = false;
723 |
724 | return style;
725 | },
726 |
727 | indent(state, textAfter, indentContext) {
728 | if (state.tokenize !== tokenBase && state.tokenize != null) {
729 | return null;
730 | }
731 |
732 | const ctx = state.context;
733 |
734 | const firstChar = textAfter && textAfter.charAt(0);
735 | if (ctx.type === 'case' && /^(?:case|default)\b/.test(textAfter)) {
736 | state.context.type = '}';
737 |
738 | return ctx.indented;
739 | }
740 |
741 | const closing = firstChar === ctx.type;
742 | if (ctx.align) {
743 | return ctx.column + (closing ? 0 : 1);
744 | }
745 |
746 | return ctx.indented + (closing ? 0 : indentContext.unit);
747 | },
748 |
749 | // @ts-ignore not specified in new stream parser, but maybe does something
750 | electricChars: '{}):',
751 | closeBrackets: '()[]{}\'\'""``',
752 | fold: 'brace',
753 | blockCommentStart: '/*',
754 | blockCommentEnd: '*/',
755 | lineComment: '//',
756 | tokenTable: {
757 | functionName: Tag.define(),
758 | parameterValue: Tag.define(),
759 | addressFunction: Tag.define(),
760 | errorHandling: Tag.define(),
761 | contractRelated: Tag.define(),
762 | version: Tag.define(),
763 | etherUnit: Tag.define(),
764 | doc: Tag.define(),
765 | mathematicalAndCryptographic: Tag.define(),
766 | abi: Tag.define(),
767 | }
768 | };
769 |
770 | export const solidity = new LanguageSupport(StreamLanguage.define(parser));
771 |
--------------------------------------------------------------------------------
/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.13":
6 | version "7.16.7"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
8 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
9 | dependencies:
10 | "@babel/highlight" "^7.16.7"
11 |
12 | "@babel/helper-validator-identifier@^7.16.7":
13 | version "7.16.7"
14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
15 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
16 |
17 | "@babel/highlight@^7.16.7":
18 | version "7.17.12"
19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351"
20 | integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==
21 | dependencies:
22 | "@babel/helper-validator-identifier" "^7.16.7"
23 | chalk "^2.0.0"
24 | js-tokens "^4.0.0"
25 |
26 | "@codemirror/autocomplete@^6.0.0":
27 | version "6.0.2"
28 | resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.0.2.tgz#119b9d147456418895de6fae09419465b58d7beb"
29 | integrity sha512-9PDjnllmXan/7Uax87KGORbxerDJ/cu10SB+n4Jz0zXMEvIh3+TGgZxhIvDOtaQ4jDBQEM7kHYW4vLdQB0DGZQ==
30 | dependencies:
31 | "@codemirror/language" "^6.0.0"
32 | "@codemirror/state" "^6.0.0"
33 | "@codemirror/view" "^6.0.0"
34 | "@lezer/common" "^1.0.0"
35 |
36 | "@codemirror/buildhelper@^0.1.16":
37 | version "0.1.16"
38 | resolved "https://registry.yarnpkg.com/@codemirror/buildhelper/-/buildhelper-0.1.16.tgz#bda138522fdade53d63f457c440b64be48c7fa71"
39 | integrity sha512-b88pPVoLoBp3DHe+CK5p/1t/WFGYRGxn69d9Efp/cEP3uF91hXTIKOimaL3IyVhm9q6ILjKzn8q8MFUUy7GvwA==
40 | dependencies:
41 | "@lezer/generator" "^1.0.0"
42 | "@types/mocha" "^9.1.1"
43 | acorn "^8.1.0"
44 | acorn-walk "^8.0.2"
45 | esmoduleserve "^0.2.0"
46 | ist "^1.1.7"
47 | mocha "^10.0.0"
48 | rollup "^2.35.1"
49 | rollup-plugin-dts "^3.0.0"
50 | selenium-webdriver "^4.0.0-beta.3"
51 | serve-static "^1.14.1"
52 | typescript "^4.2.3"
53 |
54 | "@codemirror/commands@^6.0.0":
55 | version "6.0.0"
56 | resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.0.0.tgz#9eaa4d53e9cdb2e13da52c8a03636a9f9ad45d2b"
57 | integrity sha512-nVJDPiCQXWXj5AZxqNVXyIM3nOYauF4Dko9NGPSwgVdK+lXWJQhI5LGhS/AvdG5b7u7/pTQBkrQmzkLWRBF62A==
58 | dependencies:
59 | "@codemirror/language" "^6.0.0"
60 | "@codemirror/state" "^6.0.0"
61 | "@codemirror/view" "^6.0.0"
62 | "@lezer/common" "^1.0.0"
63 |
64 | "@codemirror/language@^6.0.0":
65 | version "6.1.0"
66 | resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.1.0.tgz#7686f0ecafd958c35332c3cc2aa3d564fd33dc44"
67 | integrity sha512-CeqY80nvUFrJcXcBW115aNi06D0PS8NSW6nuJRSwbrYFkE0SfJnPfyLGrcM90AV95lqg5+4xUi99BCmzNaPGJg==
68 | dependencies:
69 | "@codemirror/state" "^6.0.0"
70 | "@codemirror/view" "^6.0.0"
71 | "@lezer/common" "^1.0.0"
72 | "@lezer/highlight" "^1.0.0"
73 | "@lezer/lr" "^1.0.0"
74 | style-mod "^4.0.0"
75 |
76 | "@codemirror/lint@^6.0.0":
77 | version "6.0.0"
78 | resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.0.0.tgz#a249b021ac9933b94fe312d994d220f0ef11a157"
79 | integrity sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==
80 | dependencies:
81 | "@codemirror/state" "^6.0.0"
82 | "@codemirror/view" "^6.0.0"
83 | crelt "^1.0.5"
84 |
85 | "@codemirror/search@^6.0.0":
86 | version "6.0.0"
87 | resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.0.0.tgz#43bd6341d9aff18869386d2fce27519850e919e3"
88 | integrity sha512-rL0rd3AhI0TAsaJPUaEwC63KHLO7KL0Z/dYozXj6E7L3wNHRyx7RfE0/j5HsIf912EE5n2PCb4Vg0rGYmDv4UQ==
89 | dependencies:
90 | "@codemirror/state" "^6.0.0"
91 | "@codemirror/view" "^6.0.0"
92 | crelt "^1.0.5"
93 |
94 | "@codemirror/state@^6.0.0":
95 | version "6.0.1"
96 | resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.0.1.tgz#a1994f14c49e2f77cb9e26aef35f63a8b3707c6c"
97 | integrity sha512-6vYgaXc4KjSY0BUfSVDJooGcoswg/RJZpq/ZGjsUYmY0KN1lmB8u03nv+jiG1ncUV5qoggyxFT5AGD5Ak+5Zrw==
98 |
99 | "@codemirror/view@^6.0.0", "@codemirror/view@^6.00.0":
100 | version "6.0.2"
101 | resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.0.2.tgz#27f4d08edd10a3678cf15390b4fba5e2a7220873"
102 | integrity sha512-mnVT/q1JvKPjpmjXJNeCi/xHyaJ3abGJsumIVpdQ1nE1MXAyHf7GHWt8QpWMUvDiqF0j+inkhVR2OviTdFFX7Q==
103 | dependencies:
104 | "@codemirror/state" "^6.0.0"
105 | style-mod "^4.0.0"
106 | w3c-keyname "^2.2.4"
107 |
108 | "@lezer/common@^1.0.0":
109 | version "1.0.0"
110 | resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.0.0.tgz#1c95ae53ec17706aa3cbcc88b52c23f22ed56096"
111 | integrity sha512-ohydQe+Hb+w4oMDvXzs8uuJd2NoA3D8YDcLiuDsLqH+yflDTPEpgCsWI3/6rH5C3BAedtH1/R51dxENldQceEA==
112 |
113 | "@lezer/generator@^1.0.0":
114 | version "1.0.0"
115 | resolved "https://registry.yarnpkg.com/@lezer/generator/-/generator-1.0.0.tgz#da647a3db6770d149c48760b1dda29cfc07df6d7"
116 | integrity sha512-MgtTb9O2RxAn+WNfv8z9xOg7Q2orbChs9P3tHLUSBzvRL1PR2wiL/MKFpUnsYFG4mkcTTLkrkQgzUMVYa/ATfA==
117 | dependencies:
118 | "@lezer/common" "^1.0.0"
119 | "@lezer/lr" "^1.0.0"
120 |
121 | "@lezer/highlight@^1.0.0":
122 | version "1.0.0"
123 | resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.0.0.tgz#1dc82300f5d39fbd67ae1194b5519b4c381878d3"
124 | integrity sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA==
125 | dependencies:
126 | "@lezer/common" "^1.0.0"
127 |
128 | "@lezer/highlight@^1.2.0":
129 | version "1.2.0"
130 | resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.0.tgz#e5898c3644208b4b589084089dceeea2966f7780"
131 | integrity sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==
132 | dependencies:
133 | "@lezer/common" "^1.0.0"
134 |
135 | "@lezer/lr@^1.0.0":
136 | version "1.0.0"
137 | resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.0.0.tgz#89e30c1e710b8715ac5c847ad063418c51d6e750"
138 | integrity sha512-k6DEqBh4HxqO/cVGedb6Ern6LS7K6IOzfydJ5WaqCR26v6UR9sIFyb6PS+5rPUs/mXgnBR/QQCW7RkyjSCMoQA==
139 | dependencies:
140 | "@lezer/common" "^1.0.0"
141 |
142 | "@types/mocha@^9.1.1":
143 | version "9.1.1"
144 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4"
145 | integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==
146 |
147 | "@ungap/promise-all-settled@1.1.2":
148 | version "1.1.2"
149 | resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
150 | integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
151 |
152 | acorn-walk@^8.0.0, acorn-walk@^8.0.2:
153 | version "8.2.0"
154 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
155 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
156 |
157 | acorn@^8.0.4, acorn@^8.1.0:
158 | version "8.7.1"
159 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
160 | integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
161 |
162 | ansi-colors@4.1.1:
163 | version "4.1.1"
164 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
165 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
166 |
167 | ansi-regex@^5.0.1:
168 | version "5.0.1"
169 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
170 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
171 |
172 | ansi-styles@^3.2.1:
173 | version "3.2.1"
174 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
175 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
176 | dependencies:
177 | color-convert "^1.9.0"
178 |
179 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
180 | version "4.3.0"
181 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
182 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
183 | dependencies:
184 | color-convert "^2.0.1"
185 |
186 | anymatch@~3.1.2:
187 | version "3.1.2"
188 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
189 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
190 | dependencies:
191 | normalize-path "^3.0.0"
192 | picomatch "^2.0.4"
193 |
194 | argparse@^2.0.1:
195 | version "2.0.1"
196 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
197 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
198 |
199 | balanced-match@^1.0.0:
200 | version "1.0.2"
201 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
202 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
203 |
204 | binary-extensions@^2.0.0:
205 | version "2.2.0"
206 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
207 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
208 |
209 | brace-expansion@^1.1.7:
210 | version "1.1.11"
211 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
212 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
213 | dependencies:
214 | balanced-match "^1.0.0"
215 | concat-map "0.0.1"
216 |
217 | brace-expansion@^2.0.1:
218 | version "2.0.1"
219 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
220 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
221 | dependencies:
222 | balanced-match "^1.0.0"
223 |
224 | braces@~3.0.2:
225 | version "3.0.2"
226 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
227 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
228 | dependencies:
229 | fill-range "^7.0.1"
230 |
231 | browser-stdout@1.3.1:
232 | version "1.3.1"
233 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
234 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
235 |
236 | camelcase@^6.0.0:
237 | version "6.3.0"
238 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
239 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
240 |
241 | chalk@^2.0.0:
242 | version "2.4.2"
243 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
244 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
245 | dependencies:
246 | ansi-styles "^3.2.1"
247 | escape-string-regexp "^1.0.5"
248 | supports-color "^5.3.0"
249 |
250 | chalk@^4.1.0:
251 | version "4.1.2"
252 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
253 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
254 | dependencies:
255 | ansi-styles "^4.1.0"
256 | supports-color "^7.1.0"
257 |
258 | chokidar@3.5.3:
259 | version "3.5.3"
260 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
261 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
262 | dependencies:
263 | anymatch "~3.1.2"
264 | braces "~3.0.2"
265 | glob-parent "~5.1.2"
266 | is-binary-path "~2.1.0"
267 | is-glob "~4.0.1"
268 | normalize-path "~3.0.0"
269 | readdirp "~3.6.0"
270 | optionalDependencies:
271 | fsevents "~2.3.2"
272 |
273 | cliui@^7.0.2:
274 | version "7.0.4"
275 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
276 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
277 | dependencies:
278 | string-width "^4.2.0"
279 | strip-ansi "^6.0.0"
280 | wrap-ansi "^7.0.0"
281 |
282 | codemirror@^6.0.0:
283 | version "6.0.0"
284 | resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.0.tgz#48aac6370d188f0761807ad9c3b62da7e7f72446"
285 | integrity sha512-c4XR9QtDn+NhKLM2FBsnRn9SFdRH7G6594DYC/fyKKIsTOcdLF0WNWRd+f6kNyd5j1vgYPucbIeq2XkywYCwhA==
286 | dependencies:
287 | "@codemirror/autocomplete" "^6.0.0"
288 | "@codemirror/commands" "^6.0.0"
289 | "@codemirror/language" "^6.0.0"
290 | "@codemirror/lint" "^6.0.0"
291 | "@codemirror/search" "^6.0.0"
292 | "@codemirror/state" "^6.0.0"
293 | "@codemirror/view" "^6.0.0"
294 |
295 | color-convert@^1.9.0:
296 | version "1.9.3"
297 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
298 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
299 | dependencies:
300 | color-name "1.1.3"
301 |
302 | color-convert@^2.0.1:
303 | version "2.0.1"
304 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
305 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
306 | dependencies:
307 | color-name "~1.1.4"
308 |
309 | color-name@1.1.3:
310 | version "1.1.3"
311 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
312 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
313 |
314 | color-name@~1.1.4:
315 | version "1.1.4"
316 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
317 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
318 |
319 | concat-map@0.0.1:
320 | version "0.0.1"
321 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
322 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
323 |
324 | core-util-is@~1.0.0:
325 | version "1.0.3"
326 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
327 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
328 |
329 | crelt@^1.0.5:
330 | version "1.0.5"
331 | resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.5.tgz#57c0d52af8c859e354bace1883eb2e1eb182bb94"
332 | integrity sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==
333 |
334 | debug@2.6.9:
335 | version "2.6.9"
336 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
337 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
338 | dependencies:
339 | ms "2.0.0"
340 |
341 | debug@4.3.4:
342 | version "4.3.4"
343 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
344 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
345 | dependencies:
346 | ms "2.1.2"
347 |
348 | decamelize@^4.0.0:
349 | version "4.0.0"
350 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
351 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
352 |
353 | depd@2.0.0:
354 | version "2.0.0"
355 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
356 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
357 |
358 | destroy@1.2.0:
359 | version "1.2.0"
360 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
361 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
362 |
363 | diff@5.0.0:
364 | version "5.0.0"
365 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
366 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
367 |
368 | ee-first@1.1.1:
369 | version "1.1.1"
370 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
371 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
372 |
373 | emoji-regex@^8.0.0:
374 | version "8.0.0"
375 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
376 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
377 |
378 | encodeurl@~1.0.2:
379 | version "1.0.2"
380 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
381 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
382 |
383 | esbuild-android-64@0.14.47:
384 | version "0.14.47"
385 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b"
386 | integrity sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==
387 |
388 | esbuild-android-arm64@0.14.47:
389 | version "0.14.47"
390 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz#4ebd7ce9fb250b4695faa3ee46fd3b0754ecd9e6"
391 | integrity sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==
392 |
393 | esbuild-darwin-64@0.14.47:
394 | version "0.14.47"
395 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz#e0da6c244f497192f951807f003f6a423ed23188"
396 | integrity sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==
397 |
398 | esbuild-darwin-arm64@0.14.47:
399 | version "0.14.47"
400 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz#cd40fd49a672fca581ed202834239dfe540a9028"
401 | integrity sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==
402 |
403 | esbuild-freebsd-64@0.14.47:
404 | version "0.14.47"
405 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz#8da6a14c095b29c01fc8087a16cb7906debc2d67"
406 | integrity sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==
407 |
408 | esbuild-freebsd-arm64@0.14.47:
409 | version "0.14.47"
410 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz#ad31f9c92817ff8f33fd253af7ab5122dc1b83f6"
411 | integrity sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==
412 |
413 | esbuild-linux-32@0.14.47:
414 | version "0.14.47"
415 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz#de085e4db2e692ea30c71208ccc23fdcf5196c58"
416 | integrity sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==
417 |
418 | esbuild-linux-64@0.14.47:
419 | version "0.14.47"
420 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz#2a9321bbccb01f01b04cebfcfccbabeba3658ba1"
421 | integrity sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==
422 |
423 | esbuild-linux-arm64@0.14.47:
424 | version "0.14.47"
425 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz#b9da7b6fc4b0ca7a13363a0c5b7bb927e4bc535a"
426 | integrity sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==
427 |
428 | esbuild-linux-arm@0.14.47:
429 | version "0.14.47"
430 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz#56fec2a09b9561c337059d4af53625142aded853"
431 | integrity sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==
432 |
433 | esbuild-linux-mips64le@0.14.47:
434 | version "0.14.47"
435 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz#9db21561f8f22ed79ef2aedb7bbef082b46cf823"
436 | integrity sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==
437 |
438 | esbuild-linux-ppc64le@0.14.47:
439 | version "0.14.47"
440 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz#dc3a3da321222b11e96e50efafec9d2de408198b"
441 | integrity sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==
442 |
443 | esbuild-linux-riscv64@0.14.47:
444 | version "0.14.47"
445 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz#9bd6dcd3dca6c0357084ecd06e1d2d4bf105335f"
446 | integrity sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==
447 |
448 | esbuild-linux-s390x@0.14.47:
449 | version "0.14.47"
450 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz#a458af939b52f2cd32fc561410d441a51f69d41f"
451 | integrity sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==
452 |
453 | esbuild-netbsd-64@0.14.47:
454 | version "0.14.47"
455 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz#6388e785d7e7e4420cb01348d7483ab511b16aa8"
456 | integrity sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==
457 |
458 | esbuild-openbsd-64@0.14.47:
459 | version "0.14.47"
460 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5"
461 | integrity sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==
462 |
463 | esbuild-sunos-64@0.14.47:
464 | version "0.14.47"
465 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa"
466 | integrity sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==
467 |
468 | esbuild-windows-32@0.14.47:
469 | version "0.14.47"
470 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz#a92d279c8458d5dc319abcfeb30aa49e8f2e6f7f"
471 | integrity sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==
472 |
473 | esbuild-windows-64@0.14.47:
474 | version "0.14.47"
475 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz#2564c3fcf0c23d701edb71af8c52d3be4cec5f8a"
476 | integrity sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==
477 |
478 | esbuild-windows-arm64@0.14.47:
479 | version "0.14.47"
480 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz#86d9db1a22d83360f726ac5fba41c2f625db6878"
481 | integrity sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==
482 |
483 | esbuild@^0.14.27:
484 | version "0.14.47"
485 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.47.tgz#0d6415f6bd8eb9e73a58f7f9ae04c5276cda0e4d"
486 | integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==
487 | optionalDependencies:
488 | esbuild-android-64 "0.14.47"
489 | esbuild-android-arm64 "0.14.47"
490 | esbuild-darwin-64 "0.14.47"
491 | esbuild-darwin-arm64 "0.14.47"
492 | esbuild-freebsd-64 "0.14.47"
493 | esbuild-freebsd-arm64 "0.14.47"
494 | esbuild-linux-32 "0.14.47"
495 | esbuild-linux-64 "0.14.47"
496 | esbuild-linux-arm "0.14.47"
497 | esbuild-linux-arm64 "0.14.47"
498 | esbuild-linux-mips64le "0.14.47"
499 | esbuild-linux-ppc64le "0.14.47"
500 | esbuild-linux-riscv64 "0.14.47"
501 | esbuild-linux-s390x "0.14.47"
502 | esbuild-netbsd-64 "0.14.47"
503 | esbuild-openbsd-64 "0.14.47"
504 | esbuild-sunos-64 "0.14.47"
505 | esbuild-windows-32 "0.14.47"
506 | esbuild-windows-64 "0.14.47"
507 | esbuild-windows-arm64 "0.14.47"
508 |
509 | escalade@^3.1.1:
510 | version "3.1.1"
511 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
512 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
513 |
514 | escape-html@~1.0.3:
515 | version "1.0.3"
516 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
517 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
518 |
519 | escape-string-regexp@4.0.0:
520 | version "4.0.0"
521 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
522 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
523 |
524 | escape-string-regexp@^1.0.5:
525 | version "1.0.5"
526 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
527 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
528 |
529 | esmoduleserve@^0.2.0:
530 | version "0.2.0"
531 | resolved "https://registry.yarnpkg.com/esmoduleserve/-/esmoduleserve-0.2.0.tgz#01ed56cbee408f624641dab0b2916a54407c891e"
532 | integrity sha512-vg1j7fzKZUFR5TCsYQ3PABfBRMRi6V9K7mxcRh2MftO3gwAHBwYaPHtLHFDsKVSxdHmpu/GgT37lsRT+vezaKQ==
533 | dependencies:
534 | acorn "^8.0.4"
535 | acorn-walk "^8.0.0"
536 | resolve "^1.15.1"
537 | serve-static "^1.14.1"
538 |
539 | etag@~1.8.1:
540 | version "1.8.1"
541 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
542 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
543 |
544 | fill-range@^7.0.1:
545 | version "7.0.1"
546 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
547 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
548 | dependencies:
549 | to-regex-range "^5.0.1"
550 |
551 | find-up@5.0.0:
552 | version "5.0.0"
553 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
554 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
555 | dependencies:
556 | locate-path "^6.0.0"
557 | path-exists "^4.0.0"
558 |
559 | flat@^5.0.2:
560 | version "5.0.2"
561 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
562 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
563 |
564 | fresh@0.5.2:
565 | version "0.5.2"
566 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
567 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
568 |
569 | fs.realpath@^1.0.0:
570 | version "1.0.0"
571 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
572 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
573 |
574 | fsevents@~2.3.2:
575 | version "2.3.2"
576 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
577 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
578 |
579 | function-bind@^1.1.1:
580 | version "1.1.1"
581 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
582 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
583 |
584 | get-caller-file@^2.0.5:
585 | version "2.0.5"
586 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
587 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
588 |
589 | glob-parent@~5.1.2:
590 | version "5.1.2"
591 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
592 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
593 | dependencies:
594 | is-glob "^4.0.1"
595 |
596 | glob@7.2.0:
597 | version "7.2.0"
598 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
599 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
600 | dependencies:
601 | fs.realpath "^1.0.0"
602 | inflight "^1.0.4"
603 | inherits "2"
604 | minimatch "^3.0.4"
605 | once "^1.3.0"
606 | path-is-absolute "^1.0.0"
607 |
608 | glob@^7.1.3:
609 | version "7.2.3"
610 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
611 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
612 | dependencies:
613 | fs.realpath "^1.0.0"
614 | inflight "^1.0.4"
615 | inherits "2"
616 | minimatch "^3.1.1"
617 | once "^1.3.0"
618 | path-is-absolute "^1.0.0"
619 |
620 | has-flag@^3.0.0:
621 | version "3.0.0"
622 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
623 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
624 |
625 | has-flag@^4.0.0:
626 | version "4.0.0"
627 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
628 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
629 |
630 | has@^1.0.3:
631 | version "1.0.3"
632 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
633 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
634 | dependencies:
635 | function-bind "^1.1.1"
636 |
637 | he@1.2.0:
638 | version "1.2.0"
639 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
640 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
641 |
642 | http-errors@2.0.0:
643 | version "2.0.0"
644 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
645 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
646 | dependencies:
647 | depd "2.0.0"
648 | inherits "2.0.4"
649 | setprototypeof "1.2.0"
650 | statuses "2.0.1"
651 | toidentifier "1.0.1"
652 |
653 | immediate@~3.0.5:
654 | version "3.0.6"
655 | resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
656 | integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
657 |
658 | inflight@^1.0.4:
659 | version "1.0.6"
660 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
661 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
662 | dependencies:
663 | once "^1.3.0"
664 | wrappy "1"
665 |
666 | inherits@2, inherits@2.0.4, inherits@~2.0.3:
667 | version "2.0.4"
668 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
669 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
670 |
671 | is-binary-path@~2.1.0:
672 | version "2.1.0"
673 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
674 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
675 | dependencies:
676 | binary-extensions "^2.0.0"
677 |
678 | is-core-module@^2.9.0:
679 | version "2.9.0"
680 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
681 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
682 | dependencies:
683 | has "^1.0.3"
684 |
685 | is-extglob@^2.1.1:
686 | version "2.1.1"
687 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
688 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
689 |
690 | is-fullwidth-code-point@^3.0.0:
691 | version "3.0.0"
692 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
693 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
694 |
695 | is-glob@^4.0.1, is-glob@~4.0.1:
696 | version "4.0.3"
697 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
698 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
699 | dependencies:
700 | is-extglob "^2.1.1"
701 |
702 | is-number@^7.0.0:
703 | version "7.0.0"
704 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
705 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
706 |
707 | is-plain-obj@^2.1.0:
708 | version "2.1.0"
709 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
710 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
711 |
712 | is-unicode-supported@^0.1.0:
713 | version "0.1.0"
714 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
715 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
716 |
717 | isarray@~1.0.0:
718 | version "1.0.0"
719 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
720 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
721 |
722 | ist@^1.1.7:
723 | version "1.1.7"
724 | resolved "https://registry.yarnpkg.com/ist/-/ist-1.1.7.tgz#64161305bca42937d8e05394a2883c3431c5f7ff"
725 | integrity sha512-ex9JyqY+tCjBlxN1pXlqxEgtGGUGp1TG83ll1xpu8SfPgOhfAhEGCuepNHlB+d7Le+hLoBcfCu/G0ZQaFbi9hA==
726 |
727 | js-tokens@^4.0.0:
728 | version "4.0.0"
729 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
730 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
731 |
732 | js-yaml@4.1.0:
733 | version "4.1.0"
734 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
735 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
736 | dependencies:
737 | argparse "^2.0.1"
738 |
739 | jszip@^3.6.0:
740 | version "3.10.0"
741 | resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.0.tgz#faf3db2b4b8515425e34effcdbb086750a346061"
742 | integrity sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==
743 | dependencies:
744 | lie "~3.3.0"
745 | pako "~1.0.2"
746 | readable-stream "~2.3.6"
747 | setimmediate "^1.0.5"
748 |
749 | lie@~3.3.0:
750 | version "3.3.0"
751 | resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
752 | integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
753 | dependencies:
754 | immediate "~3.0.5"
755 |
756 | locate-path@^6.0.0:
757 | version "6.0.0"
758 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
759 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
760 | dependencies:
761 | p-locate "^5.0.0"
762 |
763 | log-symbols@4.1.0:
764 | version "4.1.0"
765 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
766 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
767 | dependencies:
768 | chalk "^4.1.0"
769 | is-unicode-supported "^0.1.0"
770 |
771 | magic-string@^0.25.7:
772 | version "0.25.9"
773 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
774 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
775 | dependencies:
776 | sourcemap-codec "^1.4.8"
777 |
778 | mime@1.6.0:
779 | version "1.6.0"
780 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
781 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
782 |
783 | minimatch@5.0.1:
784 | version "5.0.1"
785 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
786 | integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
787 | dependencies:
788 | brace-expansion "^2.0.1"
789 |
790 | minimatch@^3.0.4, minimatch@^3.1.1:
791 | version "3.1.2"
792 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
793 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
794 | dependencies:
795 | brace-expansion "^1.1.7"
796 |
797 | mocha@^10.0.0:
798 | version "10.0.0"
799 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9"
800 | integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==
801 | dependencies:
802 | "@ungap/promise-all-settled" "1.1.2"
803 | ansi-colors "4.1.1"
804 | browser-stdout "1.3.1"
805 | chokidar "3.5.3"
806 | debug "4.3.4"
807 | diff "5.0.0"
808 | escape-string-regexp "4.0.0"
809 | find-up "5.0.0"
810 | glob "7.2.0"
811 | he "1.2.0"
812 | js-yaml "4.1.0"
813 | log-symbols "4.1.0"
814 | minimatch "5.0.1"
815 | ms "2.1.3"
816 | nanoid "3.3.3"
817 | serialize-javascript "6.0.0"
818 | strip-json-comments "3.1.1"
819 | supports-color "8.1.1"
820 | workerpool "6.2.1"
821 | yargs "16.2.0"
822 | yargs-parser "20.2.4"
823 | yargs-unparser "2.0.0"
824 |
825 | ms@2.0.0:
826 | version "2.0.0"
827 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
828 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
829 |
830 | ms@2.1.2:
831 | version "2.1.2"
832 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
833 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
834 |
835 | ms@2.1.3:
836 | version "2.1.3"
837 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
838 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
839 |
840 | nanoid@3.3.3:
841 | version "3.3.3"
842 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25"
843 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==
844 |
845 | nanoid@^3.3.4:
846 | version "3.3.4"
847 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
848 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
849 |
850 | normalize-path@^3.0.0, normalize-path@~3.0.0:
851 | version "3.0.0"
852 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
853 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
854 |
855 | on-finished@2.4.1:
856 | version "2.4.1"
857 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
858 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
859 | dependencies:
860 | ee-first "1.1.1"
861 |
862 | once@^1.3.0:
863 | version "1.4.0"
864 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
865 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
866 | dependencies:
867 | wrappy "1"
868 |
869 | p-limit@^3.0.2:
870 | version "3.1.0"
871 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
872 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
873 | dependencies:
874 | yocto-queue "^0.1.0"
875 |
876 | p-locate@^5.0.0:
877 | version "5.0.0"
878 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
879 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
880 | dependencies:
881 | p-limit "^3.0.2"
882 |
883 | pako@~1.0.2:
884 | version "1.0.11"
885 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
886 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
887 |
888 | parseurl@~1.3.3:
889 | version "1.3.3"
890 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
891 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
892 |
893 | path-exists@^4.0.0:
894 | version "4.0.0"
895 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
896 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
897 |
898 | path-is-absolute@^1.0.0:
899 | version "1.0.1"
900 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
901 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
902 |
903 | path-parse@^1.0.7:
904 | version "1.0.7"
905 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
906 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
907 |
908 | picocolors@^1.0.0:
909 | version "1.0.0"
910 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
911 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
912 |
913 | picomatch@^2.0.4, picomatch@^2.2.1:
914 | version "2.3.1"
915 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
916 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
917 |
918 | postcss@^8.4.13:
919 | version "8.4.14"
920 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
921 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
922 | dependencies:
923 | nanoid "^3.3.4"
924 | picocolors "^1.0.0"
925 | source-map-js "^1.0.2"
926 |
927 | process-nextick-args@~2.0.0:
928 | version "2.0.1"
929 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
930 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
931 |
932 | randombytes@^2.1.0:
933 | version "2.1.0"
934 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
935 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
936 | dependencies:
937 | safe-buffer "^5.1.0"
938 |
939 | range-parser@~1.2.1:
940 | version "1.2.1"
941 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
942 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
943 |
944 | readable-stream@~2.3.6:
945 | version "2.3.7"
946 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
947 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
948 | dependencies:
949 | core-util-is "~1.0.0"
950 | inherits "~2.0.3"
951 | isarray "~1.0.0"
952 | process-nextick-args "~2.0.0"
953 | safe-buffer "~5.1.1"
954 | string_decoder "~1.1.1"
955 | util-deprecate "~1.0.1"
956 |
957 | readdirp@~3.6.0:
958 | version "3.6.0"
959 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
960 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
961 | dependencies:
962 | picomatch "^2.2.1"
963 |
964 | require-directory@^2.1.1:
965 | version "2.1.1"
966 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
967 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
968 |
969 | resolve@^1.15.1, resolve@^1.22.0:
970 | version "1.22.1"
971 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
972 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
973 | dependencies:
974 | is-core-module "^2.9.0"
975 | path-parse "^1.0.7"
976 | supports-preserve-symlinks-flag "^1.0.0"
977 |
978 | rimraf@^3.0.0:
979 | version "3.0.2"
980 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
981 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
982 | dependencies:
983 | glob "^7.1.3"
984 |
985 | rollup-plugin-dts@^3.0.0:
986 | version "3.0.2"
987 | resolved "https://registry.yarnpkg.com/rollup-plugin-dts/-/rollup-plugin-dts-3.0.2.tgz#2b628d88f864d271d6eaec2e4c2a60ae4e944c5c"
988 | integrity sha512-hswlsdWu/x7k5pXzaLP6OvKRKcx8Bzprksz9i9mUe72zvt8LvqAb/AZpzs6FkLgmyRaN8B6rUQOVtzA3yEt9Yw==
989 | dependencies:
990 | magic-string "^0.25.7"
991 | optionalDependencies:
992 | "@babel/code-frame" "^7.12.13"
993 |
994 | rollup@^2.35.1, rollup@^2.59.0:
995 | version "2.75.7"
996 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9"
997 | integrity sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==
998 | optionalDependencies:
999 | fsevents "~2.3.2"
1000 |
1001 | safe-buffer@^5.1.0:
1002 | version "5.2.1"
1003 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
1004 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
1005 |
1006 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
1007 | version "5.1.2"
1008 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1009 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1010 |
1011 | selenium-webdriver@^4.0.0-beta.3:
1012 | version "4.2.0"
1013 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz#d3c9704735c6228e09580eb4613932b30bdb4d27"
1014 | integrity sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg==
1015 | dependencies:
1016 | jszip "^3.6.0"
1017 | tmp "^0.2.1"
1018 | ws ">=7.4.6"
1019 |
1020 | send@0.18.0:
1021 | version "0.18.0"
1022 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
1023 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
1024 | dependencies:
1025 | debug "2.6.9"
1026 | depd "2.0.0"
1027 | destroy "1.2.0"
1028 | encodeurl "~1.0.2"
1029 | escape-html "~1.0.3"
1030 | etag "~1.8.1"
1031 | fresh "0.5.2"
1032 | http-errors "2.0.0"
1033 | mime "1.6.0"
1034 | ms "2.1.3"
1035 | on-finished "2.4.1"
1036 | range-parser "~1.2.1"
1037 | statuses "2.0.1"
1038 |
1039 | serialize-javascript@6.0.0:
1040 | version "6.0.0"
1041 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
1042 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
1043 | dependencies:
1044 | randombytes "^2.1.0"
1045 |
1046 | serve-static@^1.14.1:
1047 | version "1.15.0"
1048 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
1049 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
1050 | dependencies:
1051 | encodeurl "~1.0.2"
1052 | escape-html "~1.0.3"
1053 | parseurl "~1.3.3"
1054 | send "0.18.0"
1055 |
1056 | setimmediate@^1.0.5:
1057 | version "1.0.5"
1058 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
1059 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
1060 |
1061 | setprototypeof@1.2.0:
1062 | version "1.2.0"
1063 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
1064 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
1065 |
1066 | source-map-js@^1.0.2:
1067 | version "1.0.2"
1068 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1069 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1070 |
1071 | sourcemap-codec@^1.4.8:
1072 | version "1.4.8"
1073 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
1074 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
1075 |
1076 | statuses@2.0.1:
1077 | version "2.0.1"
1078 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
1079 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
1080 |
1081 | string-width@^4.1.0, string-width@^4.2.0:
1082 | version "4.2.3"
1083 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1084 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1085 | dependencies:
1086 | emoji-regex "^8.0.0"
1087 | is-fullwidth-code-point "^3.0.0"
1088 | strip-ansi "^6.0.1"
1089 |
1090 | string_decoder@~1.1.1:
1091 | version "1.1.1"
1092 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
1093 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
1094 | dependencies:
1095 | safe-buffer "~5.1.0"
1096 |
1097 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1098 | version "6.0.1"
1099 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1100 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1101 | dependencies:
1102 | ansi-regex "^5.0.1"
1103 |
1104 | strip-json-comments@3.1.1:
1105 | version "3.1.1"
1106 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1107 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1108 |
1109 | style-mod@^4.0.0:
1110 | version "4.0.0"
1111 | resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.0.tgz#97e7c2d68b592975f2ca7a63d0dd6fcacfe35a01"
1112 | integrity sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==
1113 |
1114 | supports-color@8.1.1:
1115 | version "8.1.1"
1116 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
1117 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
1118 | dependencies:
1119 | has-flag "^4.0.0"
1120 |
1121 | supports-color@^5.3.0:
1122 | version "5.5.0"
1123 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1124 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1125 | dependencies:
1126 | has-flag "^3.0.0"
1127 |
1128 | supports-color@^7.1.0:
1129 | version "7.2.0"
1130 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1131 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1132 | dependencies:
1133 | has-flag "^4.0.0"
1134 |
1135 | supports-preserve-symlinks-flag@^1.0.0:
1136 | version "1.0.0"
1137 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1138 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1139 |
1140 | tmp@^0.2.1:
1141 | version "0.2.1"
1142 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
1143 | integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
1144 | dependencies:
1145 | rimraf "^3.0.0"
1146 |
1147 | to-regex-range@^5.0.1:
1148 | version "5.0.1"
1149 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1150 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1151 | dependencies:
1152 | is-number "^7.0.0"
1153 |
1154 | toidentifier@1.0.1:
1155 | version "1.0.1"
1156 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
1157 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
1158 |
1159 | typescript@^4.2.3:
1160 | version "4.7.4"
1161 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
1162 | integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
1163 |
1164 | util-deprecate@~1.0.1:
1165 | version "1.0.2"
1166 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1167 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
1168 |
1169 | vite@^2.3.8:
1170 | version "2.9.12"
1171 | resolved "https://registry.yarnpkg.com/vite/-/vite-2.9.12.tgz#b1d636b0a8ac636afe9d83e3792d4895509a941b"
1172 | integrity sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==
1173 | dependencies:
1174 | esbuild "^0.14.27"
1175 | postcss "^8.4.13"
1176 | resolve "^1.22.0"
1177 | rollup "^2.59.0"
1178 | optionalDependencies:
1179 | fsevents "~2.3.2"
1180 |
1181 | w3c-keyname@^2.2.4:
1182 | version "2.2.4"
1183 | resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b"
1184 | integrity sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==
1185 |
1186 | workerpool@6.2.1:
1187 | version "6.2.1"
1188 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343"
1189 | integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==
1190 |
1191 | wrap-ansi@^7.0.0:
1192 | version "7.0.0"
1193 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1194 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
1195 | dependencies:
1196 | ansi-styles "^4.0.0"
1197 | string-width "^4.1.0"
1198 | strip-ansi "^6.0.0"
1199 |
1200 | wrappy@1:
1201 | version "1.0.2"
1202 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1203 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
1204 |
1205 | ws@>=7.4.6:
1206 | version "8.8.0"
1207 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769"
1208 | integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==
1209 |
1210 | y18n@^5.0.5:
1211 | version "5.0.8"
1212 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
1213 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
1214 |
1215 | yargs-parser@20.2.4:
1216 | version "20.2.4"
1217 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
1218 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
1219 |
1220 | yargs-parser@^20.2.2:
1221 | version "20.2.9"
1222 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
1223 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
1224 |
1225 | yargs-unparser@2.0.0:
1226 | version "2.0.0"
1227 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
1228 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
1229 | dependencies:
1230 | camelcase "^6.0.0"
1231 | decamelize "^4.0.0"
1232 | flat "^5.0.2"
1233 | is-plain-obj "^2.1.0"
1234 |
1235 | yargs@16.2.0:
1236 | version "16.2.0"
1237 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
1238 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
1239 | dependencies:
1240 | cliui "^7.0.2"
1241 | escalade "^3.1.1"
1242 | get-caller-file "^2.0.5"
1243 | require-directory "^2.1.1"
1244 | string-width "^4.2.0"
1245 | y18n "^5.0.5"
1246 | yargs-parser "^20.2.2"
1247 |
1248 | yocto-queue@^0.1.0:
1249 | version "0.1.0"
1250 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
1251 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
1252 |
--------------------------------------------------------------------------------