├── .gitignore ├── .npmrc ├── README.md ├── __test__ ├── case1 │ ├── index.ts │ └── index_transformed_result.ts ├── case2 │ ├── exampleA.ts │ ├── exampleA_transformed_result.ts │ ├── exampleB.ts │ ├── exampleB_transformed_result.ts │ ├── exampleC.ts │ └── exampleC_transformed_result.ts ├── case3 │ ├── index.ts │ └── index_transformed_result.ts ├── case4 │ ├── index.ts │ └── index_transformed_result.ts └── index.ts ├── package.json ├── src └── index.ts ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.org -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vite-plugin-require-transform 2 | 3 | 4 | [![NPM](https://nodei.co/npm/vite-plugin-require-transform.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/vite-plugin-require-transform/) 5 | 6 | 7 | [![npm version](https://img.shields.io/npm/v/vite-plugin-require-transform.svg)](https://www.npmjs.com/package/vite-plugin-require-transform) 8 | A vite plugin that converts the code from require syntax to import 9 | 10 | ## Why vite-plugin-require-transform 11 | 12 | "require syntax" is supported when develop with Webpack cause it transformed it internally. 13 | 14 | but when serve with Vite error "require is not defined" will show up. 15 | 16 | This plugin amis to support require when serve with vite. 17 | 18 | 19 | ## Install 20 | 21 | ```bash 22 | yarn add -D vite-plugin-require-transform 23 | ``` 24 | or 25 | ```bash 26 | npm i vite-plugin-require-transform --save-dev 27 | ``` 28 | ## Usage 29 | ```typescript 30 | // vite.config.(t|j)s 31 | 32 | import { defineConfig } from 'vite'; 33 | 34 | /** 35 | * @param match 36 | * Regular expression in string or Regexp type, 37 | * or a match predicate (this: vite transform context, code: string, id: file name string) => void 38 | * @returns transformed code 39 | */ 40 | import requireTransform from 'vite-plugin-require-transform'; 41 | 42 | export default defineConfig({ 43 | plugins: [ 44 | // passing string type Regular expression 45 | requireTransform({}), 46 | ], 47 | }); 48 | 49 | 50 | // check the vite-plugin-require-transform params'type 51 | export type VitePluginRequireTransformParamsType = { 52 | //filter files that should enter the plugin 53 | fileRegex?: RegExp = /.ts$|.tsx$/ , 54 | //prefix that would plugin into the requireSpecifier 55 | importPrefix? = '_vite_plugin_require_transform_': string, 56 | //to deal with the requireSpecifier 57 | importPathHandler?: Function 58 | } 59 | ``` 60 | 61 | ## What vite-plugin-require-transform actually do 62 | you can also check the __test__ directory to see the cases. 63 | ### case 1: 64 | ```typescript 65 | const case1 = require("case1"); 66 | console.log("case1", case1) 67 | ``` 68 | will be transformed into 69 | ``` typescript 70 | import _vite_plugin_require_transform_case1 from "case1"; 71 | const case1 = _vite_plugin_require_transform_case1; 72 | console.log("case1", case1); 73 | ``` 74 | 75 | 76 | ### case 2: 77 | #### example A 78 | ```typescript 79 | const case2A = location.host == 'test' ? null : require("case2"); 80 | 81 | if(location.host == 'test1' ){ 82 | case2A.start(); 83 | } 84 | 85 | case2A.stop(); 86 | ``` 87 | will be transformed into 88 | ``` typescript 89 | import { start as _vite_plugin_require_transform_case2start, stop as _vite_plugin_require_transform_case2stop } from "case2"; 90 | const _vite_plugin_require_transform_case2 = { 91 | start: _vite_plugin_require_transform_case2start, 92 | stop: _vite_plugin_require_transform_case2stop 93 | }; 94 | const case2A = location.host == 'test' ? null : _vite_plugin_require_transform_case2; 95 | 96 | if (location.host == 'test1') { 97 | case2A.start(); 98 | } 99 | 100 | case2A.stop(); 101 | ``` 102 | 103 | #### example B 104 | ``` typescript 105 | const case2B = { 106 | test:require('test2B').Something 107 | } 108 | ``` 109 | will be transformed into 110 | ``` typescript 111 | import { Something as _vite_plugin_require_transform_test2BSomething } from "test2B"; 112 | const case2B = { 113 | test: _vite_plugin_require_transform_test2BSomething 114 | }; 115 | ``` 116 | 117 | #### example C 118 | ``` typescript 119 | const case2c =require('test2C') 120 | 121 | 122 | case2c.forEach((item)=>{ 123 | console.log('item',item) 124 | }) 125 | ``` 126 | will be transformed into 127 | ``` typescript 128 | import _vite_plugin_require_transform_test2C from "test2C"; 129 | const case2c = _vite_plugin_require_transform_test2C; 130 | case2c.forEach(item => { 131 | console.log('item', item); 132 | }); 133 | ``` 134 | 135 | ### case 3: 136 | when exist a case as same fileName,different extensions,by default it would be error cause the plugin only capture the path without extension. 137 | ``` typescript 138 | 139 | //same path,different extension 140 | const testCaseA = require("caseA.extA?aaa"); 141 | const testCaseB = require("caseA.extB?bbb"); 142 | 143 | console.log("caseA", testCaseA) 144 | console.log("caseB", testCaseB) 145 | ``` 146 | 147 | so we need to make a importPathHandler to deal with the situtation 148 | ``` typescript 149 | //check out __test__/index 150 | glob("__test__/case3/*.ts", { 151 | ignore: "**/*transformed_result.ts" 152 | }, async (err, files) => { 153 | for (const file of files) { 154 | const fileContent = readFileSync(file, 'utf-8'); 155 | const transformedContent = await vitePluginRequireTransform( 156 | { 157 | importPathHandler: (requirePath: string) => { 158 | return requirePath.replace('.', '_').replace('?', "_"); 159 | } 160 | } 161 | ).transform(fileContent, file); 162 | writeFileSync(file.replace('.ts', '_transformed_result.ts'), transformedContent.code); 163 | } 164 | }) 165 | ``` 166 | 167 | will be transformed into 168 | 169 | 170 | 171 | ``` typescript 172 | import _vite_plugin_require_transform_caseA_extB_bbb from "caseA.extB?bbb"; 173 | import _vite_plugin_require_transform_caseA_extA_aaa from "caseA.extA?aaa"; 174 | //same path,different extension 175 | const testCaseA = _vite_plugin_require_transform_caseA_extA_aaa; 176 | const testCaseB = _vite_plugin_require_transform_caseA_extB_bbb; 177 | console.log("caseA", testCaseA); 178 | console.log("caseB", testCaseB); 179 | ``` -------------------------------------------------------------------------------- /__test__/case1/index.ts: -------------------------------------------------------------------------------- 1 | import before_case1a from "before-case1a"; 2 | const case1a = require("case1a"); 3 | import after_case1a from "after-case1a"; 4 | console.log("case1a", case1a) 5 | 6 | case1a.foobar() 7 | 8 | const case1b = { 9 | ...require("case1b") 10 | }; 11 | 12 | const obj = { 13 | require: (name) => {} 14 | }; 15 | const case1c = obj.require("case1c"); 16 | 17 | if(true) { 18 | require("case1d") 19 | } 20 | 21 | function case1e() { 22 | let e0 = require("case1e_0"); 23 | if (true) { 24 | let e1 = require("case1e_1"); 25 | } 26 | let e2 = require("case1e_2"); 27 | } -------------------------------------------------------------------------------- /__test__/case1/index_transformed_result.ts: -------------------------------------------------------------------------------- 1 | import before_case1a from "before-case1a"; 2 | import * as _vite_plugin_require_transform_case1a_0 from "case1a"; 3 | const case1a = _vite_plugin_require_transform_case1a_0.default || _vite_plugin_require_transform_case1a_0; 4 | import after_case1a from "after-case1a"; 5 | console.log("case1a", case1a); 6 | case1a.foobar(); 7 | import * as _vite_plugin_require_transform_case1b_1 from "case1b"; 8 | const case1b = { 9 | ...(_vite_plugin_require_transform_case1b_1.default || _vite_plugin_require_transform_case1b_1) 10 | }; 11 | const obj = { 12 | require: name => {} 13 | }; 14 | const case1c = obj.require("case1c"); 15 | import * as _vite_plugin_require_transform_case1d_2 from "case1d"; 16 | if (true) { 17 | _vite_plugin_require_transform_case1d_2.default || _vite_plugin_require_transform_case1d_2; 18 | } 19 | import * as _vite_plugin_require_transform_case1e_0_3 from "case1e_0"; 20 | import * as _vite_plugin_require_transform_case1e_1_4 from "case1e_1"; 21 | import * as _vite_plugin_require_transform_case1e_2_5 from "case1e_2"; 22 | function case1e() { 23 | let e0 = _vite_plugin_require_transform_case1e_0_3.default || _vite_plugin_require_transform_case1e_0_3; 24 | if (true) { 25 | let e1 = _vite_plugin_require_transform_case1e_1_4.default || _vite_plugin_require_transform_case1e_1_4; 26 | } 27 | let e2 = _vite_plugin_require_transform_case1e_2_5.default || _vite_plugin_require_transform_case1e_2_5; 28 | } -------------------------------------------------------------------------------- /__test__/case2/exampleA.ts: -------------------------------------------------------------------------------- 1 | const case2A = location.host == 'test' ? null : require("case2"); 2 | 3 | if(location.host == 'test1' ){ 4 | case2A.start(); 5 | } 6 | 7 | case2A.stop(); -------------------------------------------------------------------------------- /__test__/case2/exampleA_transformed_result.ts: -------------------------------------------------------------------------------- 1 | import * as _vite_plugin_require_transform_case2_0 from "case2"; 2 | const case2A = location.host == 'test' ? null : _vite_plugin_require_transform_case2_0.default || _vite_plugin_require_transform_case2_0; 3 | if (location.host == 'test1') { 4 | case2A.start(); 5 | } 6 | case2A.stop(); -------------------------------------------------------------------------------- /__test__/case2/exampleB.ts: -------------------------------------------------------------------------------- 1 | const case2B = { 2 | test:require('test2B').Something 3 | } 4 | -------------------------------------------------------------------------------- /__test__/case2/exampleB_transformed_result.ts: -------------------------------------------------------------------------------- 1 | import * as _vite_plugin_require_transform_test2B_0 from "test2B"; 2 | const case2B = { 3 | test: (_vite_plugin_require_transform_test2B_0.default || _vite_plugin_require_transform_test2B_0).Something 4 | }; -------------------------------------------------------------------------------- /__test__/case2/exampleC.ts: -------------------------------------------------------------------------------- 1 | const case2c =require('test2C') 2 | 3 | 4 | case2c.forEach((item)=>{ 5 | console.log('item',item) 6 | }) -------------------------------------------------------------------------------- /__test__/case2/exampleC_transformed_result.ts: -------------------------------------------------------------------------------- 1 | import * as _vite_plugin_require_transform_test2C_0 from "test2C"; 2 | const case2c = _vite_plugin_require_transform_test2C_0.default || _vite_plugin_require_transform_test2C_0; 3 | case2c.forEach(item => { 4 | console.log('item', item); 5 | }); -------------------------------------------------------------------------------- /__test__/case3/index.ts: -------------------------------------------------------------------------------- 1 | 2 | //same path,different extension 3 | const testCaseA = require("caseA.extA?aaa"); 4 | const testCaseB = require("caseA.extB?bbb"); 5 | 6 | console.log("caseA", testCaseA) 7 | console.log("caseB", testCaseB) -------------------------------------------------------------------------------- /__test__/case3/index_transformed_result.ts: -------------------------------------------------------------------------------- 1 | import * as _vite_plugin_require_transform_caseA_extA_aaa_0 from "caseA.extA?aaa"; 2 | //same path,different extension 3 | const testCaseA = _vite_plugin_require_transform_caseA_extA_aaa_0.default || _vite_plugin_require_transform_caseA_extA_aaa_0; 4 | import * as _vite_plugin_require_transform_caseA_extB_bbb_1 from "caseA.extB?bbb"; 5 | const testCaseB = _vite_plugin_require_transform_caseA_extB_bbb_1.default || _vite_plugin_require_transform_caseA_extB_bbb_1; 6 | console.log("caseA", testCaseA); 7 | console.log("caseB", testCaseB); -------------------------------------------------------------------------------- /__test__/case4/index.ts: -------------------------------------------------------------------------------- 1 | const tlA = 'TemplateLiteralCaseA'; 2 | const tlB = 'TemplateLiteralCaseB'; 3 | //TemplateLiteral 4 | const testCaseA = require(`${tlA}/caseA/${tlA}`); 5 | const testCaseB = require(`caseB/CaseBB/${tlB}`); 6 | 7 | console.log('caseA', testCaseA); 8 | console.log('caseB', testCaseB); 9 | -------------------------------------------------------------------------------- /__test__/case4/index_transformed_result.ts: -------------------------------------------------------------------------------- 1 | const tlA = 'TemplateLiteralCaseA'; 2 | const tlB = 'TemplateLiteralCaseB'; 3 | //TemplateLiteral 4 | import * as _vite_plugin_require_transform_TemplateLiteralCaseA_caseA_TemplateLiteralCaseA_0 from "TemplateLiteralCaseA/caseA/TemplateLiteralCaseA"; 5 | const testCaseA = _vite_plugin_require_transform_TemplateLiteralCaseA_caseA_TemplateLiteralCaseA_0.default || _vite_plugin_require_transform_TemplateLiteralCaseA_caseA_TemplateLiteralCaseA_0; 6 | import * as _vite_plugin_require_transform_caseB_CaseBB_TemplateLiteralCaseB_1 from "caseB/CaseBB/TemplateLiteralCaseB"; 7 | const testCaseB = _vite_plugin_require_transform_caseB_CaseBB_TemplateLiteralCaseB_1.default || _vite_plugin_require_transform_caseB_CaseBB_TemplateLiteralCaseB_1; 8 | console.log('caseA', testCaseA); 9 | console.log('caseB', testCaseB); -------------------------------------------------------------------------------- /__test__/index.ts: -------------------------------------------------------------------------------- 1 | import vitePluginRequireTransform from "../src"; 2 | import { readFileSync, writeFileSync } from "fs"; 3 | 4 | const glob = require('glob') 5 | 6 | 7 | glob("__test__/case1/*.ts", { 8 | ignore: "**/*transformed_result.ts" 9 | }, async (err, files) => { 10 | for (const file of files) { 11 | const fileContent = readFileSync(file, 'utf-8'); 12 | const transformedContent = await vitePluginRequireTransform().transform(fileContent, file); 13 | writeFileSync(file.replace('.ts', '_transformed_result.ts'), transformedContent.code); 14 | } 15 | }) 16 | 17 | glob("__test__/case2/*.ts", { 18 | ignore: "**/*transformed_result.ts" 19 | }, async (err, files) => { 20 | for (const file of files) { 21 | const fileContent = readFileSync(file, 'utf-8'); 22 | const transformedContent = await vitePluginRequireTransform().transform(fileContent, file); 23 | writeFileSync(file.replace('.ts', '_transformed_result.ts'), transformedContent.code); 24 | } 25 | }) 26 | 27 | glob("__test__/case3/*.ts", { 28 | ignore: "**/*transformed_result.ts" 29 | }, async (err, files) => { 30 | for (const file of files) { 31 | const fileContent = readFileSync(file, 'utf-8'); 32 | const transformedContent = await vitePluginRequireTransform( 33 | { 34 | importPathHandler: (requirePath: string) => { 35 | return requirePath.replace('.', '_').replace('?', "_"); 36 | } 37 | } 38 | ).transform(fileContent, file); 39 | writeFileSync(file.replace('.ts', '_transformed_result.ts'), transformedContent.code); 40 | } 41 | }) 42 | 43 | glob("__test__/case4/*.ts", { 44 | ignore: "**/*transformed_result.ts" 45 | }, async (err, files) => { 46 | for (const file of files) { 47 | const fileContent = readFileSync(file, 'utf-8'); 48 | const transformedContent = await vitePluginRequireTransform( 49 | { 50 | importPathHandler: (requirePath: string) => { 51 | return requirePath.replace(/[\/]/g, '_'); 52 | } 53 | } 54 | ).transform(fileContent, file); 55 | writeFileSync(file.replace('.ts', '_transformed_result.ts'), transformedContent.code); 56 | } 57 | }) 58 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-require-transform", 3 | "version": "1.0.19", 4 | "description": "A plugin for vite that convert from require syntax to import that compat for es module.", 5 | "main": "dist/index.js", 6 | "module": "dist/index.mjs", 7 | "types": "dist/index.d.ts", 8 | "files": [ 9 | "dist", 10 | "package.json" 11 | ], 12 | "exports": { 13 | ".": { 14 | "require": "./dist/index.js", 15 | "import": "./dist/index.mjs", 16 | "types": "./dist/index.d.ts" 17 | } 18 | }, 19 | "scripts": { 20 | "test": "ts-node __test__/index.ts", 21 | "build": "tsup src/index.ts --format cjs,esm --dts --clean", 22 | "watch": "tsup src/index.ts --format cjs,esm --dts --clean --watch", 23 | "ver": "npm version patch", 24 | "pub": "npm run build && npm run ver && npm publish --registry=https://registry.npmjs.org", 25 | "prepare": "npm run build" 26 | }, 27 | "repository": { 28 | "type": "git", 29 | "url": "git+https://github.com/WarrenJones/vite-plugin-require-transform.git" 30 | }, 31 | "keywords": [ 32 | "vite", 33 | "vite-plugin", 34 | "require" 35 | ], 36 | "author": "warrenjones", 37 | "license": "ISC", 38 | "bugs": { 39 | "url": "https://github.com/WarrenJones/vite-plugin-require-transform/issues" 40 | }, 41 | "homepage": "https://github.com/WarrenJones/vite-plugin-require-transform#readme", 42 | "dependencies": { 43 | "@babel/generator": "^7.22.5", 44 | "@babel/parser": "^7.22.5", 45 | "@babel/traverse": "^7.22.5", 46 | "@babel/types": "^7.22.5" 47 | }, 48 | "devDependencies": { 49 | "@types/glob": "^7.2.0", 50 | "@types/node": "^16.11.6", 51 | "glob": "^7.2.0", 52 | "ts-node": "^10.4.0", 53 | "tsup": "^6.7.0", 54 | "typescript": "^4.4.4" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import * as parser from "@babel/parser"; 2 | import _traverse, { NodePath } from "@babel/traverse"; 3 | import _generate, { GeneratorResult } from "@babel/generator"; 4 | import * as t from '@babel/types'; 5 | 6 | // Fixup babel imports https://github.com/babel/babel/issues/13855#issuecomment-945123514 7 | const traverse = ((_traverse as any).default || _traverse) as typeof _traverse; 8 | const generate = ((_generate as any).default || _generate) as typeof _generate; 9 | 10 | 11 | type VitePluginRequireTransformParamsType = { 12 | /** Filter files that should enter the plugin */ 13 | fileRegex?: RegExp, 14 | /** Prefix for created import variable names */ 15 | importPrefix?: string, 16 | /** Function to convert the require path to the import variable name */ 17 | importPathHandler?: Function 18 | } 19 | 20 | export default function vitePluginRequireTransform( 21 | params: VitePluginRequireTransformParamsType = {} 22 | ) { 23 | 24 | const { 25 | fileRegex = /.ts$|.tsx$/, 26 | importPrefix: prefix = '_vite_plugin_require_transform_', 27 | importPathHandler = (path: string) => path.replace(/(.*\/)*([^.]+).*/ig, "$2").replace(/-/g, '_') 28 | } = params; 29 | 30 | return { 31 | name: prefix, 32 | async transform(code: string, id: string) { 33 | if (!fileRegex.test(id)) { 34 | return { code: code, map: null }; 35 | } 36 | 37 | const importMap = new Map[]>; 38 | 39 | const plugins: parser.ParserPlugin[] = []; 40 | 41 | const ast = parser.parse(code, { 42 | sourceType: "module", 43 | plugins, 44 | sourceFilename: id 45 | }); 46 | 47 | const declaredVariables: { [key: string]: t.VariableDeclarator } = {}; 48 | 49 | // Collect `require(...)` 50 | traverse(ast, { 51 | enter(path) { 52 | 53 | const reportError = (message: string) => { 54 | const loc = path.parentPath?.node.loc?.start; 55 | console.error(message + ' in ' + id + (loc ? ":" + loc.line + ':' + loc.column : "")); 56 | } 57 | 58 | if (path.parentPath?.node && t.isVariableDeclarator(path.parentPath.node)) { 59 | const name = ((path.parentPath.node as t.VariableDeclarator).id as t.Identifier).name; 60 | if (!declaredVariables[name]) { 61 | declaredVariables[name] = path.parentPath.node; 62 | } 63 | } 64 | 65 | if (path.isIdentifier({ name: 'require' }) && t.isCallExpression(path?.parentPath?.node)) { 66 | const argument = path.parentPath.node.arguments[0]; 67 | 68 | let requirePath: string | undefined = undefined; 69 | if (t.isTemplateLiteral(argument)) { 70 | const tl = argument as t.TemplateLiteral; 71 | 72 | let templateElementValue = ''; 73 | for (let i = 0; i < tl.quasis.length; i++) { 74 | const element = tl.quasis[i]; 75 | const expression = tl.expressions[i] 76 | 77 | if (expression === undefined) { 78 | continue; 79 | } 80 | 81 | if (t.isIdentifier(expression)) { 82 | const identifier = expression as t.Identifier; 83 | 84 | const variableValue = declaredVariables[identifier.name]?.init 85 | 86 | if ((variableValue === undefined) || (variableValue === null)) { 87 | reportError(`Unknown variable for template value: "${identifier.name}"`); 88 | continue; 89 | } 90 | 91 | if (t.isStringLiteral(variableValue)) { 92 | const sl = variableValue as t.StringLiteral; 93 | 94 | templateElementValue += element.value.raw; 95 | templateElementValue += variableValue.value; 96 | } else { 97 | reportError(`Unknown type of template value: "${variableValue.type}" for "${identifier.name}"`); 98 | } 99 | 100 | } else { 101 | reportError(`Unknown type of template expression: "${expression.type}"`); 102 | } 103 | } 104 | requirePath = templateElementValue; 105 | } else if (t.isStringLiteral(argument)) { 106 | const sl = argument as t.StringLiteral; 107 | 108 | requirePath = sl.value; 109 | } else { 110 | reportError(`Unknown type of require argument: "${argument.type}"`); 111 | return; 112 | } 113 | 114 | const nodes = importMap.get(requirePath) ?? [] 115 | nodes.push(path.parentPath); 116 | importMap.set(requirePath, nodes); 117 | } 118 | } 119 | }); 120 | 121 | // Transform the code 122 | let importIndex = 0; 123 | for (const [requirePath, nodes] of importMap) { 124 | 125 | const importVariableName = prefix + importPathHandler(requirePath) + '_' + importIndex++; 126 | const identifier = t.identifier(importVariableName); 127 | 128 | // Create import statement 129 | const firstNode = nodes[0]; 130 | const importNamespaceSpecifier = t.importNamespaceSpecifier(identifier); 131 | const importDeclaration = t.importDeclaration([importNamespaceSpecifier], t.stringLiteral(requirePath)); 132 | importDeclaration.loc = firstNode.node.loc; 133 | const rootNode = firstNode.findParent((path) => path.parentPath?.isProgram() || false); 134 | rootNode?.insertBefore(importDeclaration); 135 | 136 | // Replace `require(...)` by import variable 137 | const identifierDefault = t.memberExpression(identifier, t.identifier("default")); 138 | const identifierDefaultOrIdentifier = t.logicalExpression('||', identifierDefault, identifier); 139 | nodes.forEach(node => { 140 | node.replaceWith(identifierDefaultOrIdentifier); 141 | }); 142 | } 143 | 144 | const output = generate(ast, { sourceMaps: true }); 145 | return { code: output.code, map: output.map }; 146 | }, 147 | }; 148 | } 149 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "target": "es2018", 5 | "declarationMap": true, 6 | "declaration": true, 7 | "sourceMap": true, 8 | "strictNullChecks": true, 9 | "moduleResolution": "node", 10 | "experimentalDecorators": true, 11 | "esModuleInterop": true, 12 | "allowSyntheticDefaultImports": true, 13 | "allowJs": true, 14 | "outDir": "dist", 15 | "resolveJsonModule": true, 16 | "lib": ["es2018", "dom"], 17 | "paths": { 18 | "@babel/types": ["./node_modules/@babel/types"] 19 | } 20 | }, 21 | "ts-node": { 22 | "compilerOptions": { 23 | "module": "commonjs" 24 | } 25 | }, 26 | "exclude": ["node_modules", "__test__", "dist"] 27 | } 28 | -------------------------------------------------------------------------------- /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.22.5": 6 | version "7.22.5" 7 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" 8 | integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== 9 | dependencies: 10 | "@babel/highlight" "^7.22.5" 11 | 12 | "@babel/generator@^7.22.5": 13 | version "7.22.5" 14 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" 15 | integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== 16 | dependencies: 17 | "@babel/types" "^7.22.5" 18 | "@jridgewell/gen-mapping" "^0.3.2" 19 | "@jridgewell/trace-mapping" "^0.3.17" 20 | jsesc "^2.5.1" 21 | 22 | "@babel/helper-environment-visitor@^7.22.5": 23 | version "7.22.5" 24 | resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" 25 | integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== 26 | 27 | "@babel/helper-function-name@^7.22.5": 28 | version "7.22.5" 29 | resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" 30 | integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== 31 | dependencies: 32 | "@babel/template" "^7.22.5" 33 | "@babel/types" "^7.22.5" 34 | 35 | "@babel/helper-hoist-variables@^7.22.5": 36 | version "7.22.5" 37 | resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" 38 | integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== 39 | dependencies: 40 | "@babel/types" "^7.22.5" 41 | 42 | "@babel/helper-split-export-declaration@^7.22.5": 43 | version "7.22.5" 44 | resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz#88cf11050edb95ed08d596f7a044462189127a08" 45 | integrity sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ== 46 | dependencies: 47 | "@babel/types" "^7.22.5" 48 | 49 | "@babel/helper-string-parser@^7.22.5": 50 | version "7.22.5" 51 | resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" 52 | integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== 53 | 54 | "@babel/helper-validator-identifier@^7.22.5": 55 | version "7.22.5" 56 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" 57 | integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== 58 | 59 | "@babel/highlight@^7.22.5": 60 | version "7.22.5" 61 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" 62 | integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== 63 | dependencies: 64 | "@babel/helper-validator-identifier" "^7.22.5" 65 | chalk "^2.0.0" 66 | js-tokens "^4.0.0" 67 | 68 | "@babel/parser@^7.22.5": 69 | version "7.22.5" 70 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" 71 | integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== 72 | 73 | "@babel/template@^7.22.5": 74 | version "7.22.5" 75 | resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" 76 | integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== 77 | dependencies: 78 | "@babel/code-frame" "^7.22.5" 79 | "@babel/parser" "^7.22.5" 80 | "@babel/types" "^7.22.5" 81 | 82 | "@babel/traverse@^7.22.5": 83 | version "7.22.5" 84 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" 85 | integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== 86 | dependencies: 87 | "@babel/code-frame" "^7.22.5" 88 | "@babel/generator" "^7.22.5" 89 | "@babel/helper-environment-visitor" "^7.22.5" 90 | "@babel/helper-function-name" "^7.22.5" 91 | "@babel/helper-hoist-variables" "^7.22.5" 92 | "@babel/helper-split-export-declaration" "^7.22.5" 93 | "@babel/parser" "^7.22.5" 94 | "@babel/types" "^7.22.5" 95 | debug "^4.1.0" 96 | globals "^11.1.0" 97 | 98 | "@babel/types@^7.22.5": 99 | version "7.22.5" 100 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" 101 | integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== 102 | dependencies: 103 | "@babel/helper-string-parser" "^7.22.5" 104 | "@babel/helper-validator-identifier" "^7.22.5" 105 | to-fast-properties "^2.0.0" 106 | 107 | "@cspotcode/source-map-support@^0.8.0": 108 | version "0.8.1" 109 | resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 110 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 111 | dependencies: 112 | "@jridgewell/trace-mapping" "0.3.9" 113 | 114 | "@esbuild/android-arm64@0.17.19": 115 | version "0.17.19" 116 | resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" 117 | integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== 118 | 119 | "@esbuild/android-arm@0.17.19": 120 | version "0.17.19" 121 | resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" 122 | integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== 123 | 124 | "@esbuild/android-x64@0.17.19": 125 | version "0.17.19" 126 | resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" 127 | integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== 128 | 129 | "@esbuild/darwin-arm64@0.17.19": 130 | version "0.17.19" 131 | resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" 132 | integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== 133 | 134 | "@esbuild/darwin-x64@0.17.19": 135 | version "0.17.19" 136 | resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" 137 | integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== 138 | 139 | "@esbuild/freebsd-arm64@0.17.19": 140 | version "0.17.19" 141 | resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" 142 | integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== 143 | 144 | "@esbuild/freebsd-x64@0.17.19": 145 | version "0.17.19" 146 | resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" 147 | integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== 148 | 149 | "@esbuild/linux-arm64@0.17.19": 150 | version "0.17.19" 151 | resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" 152 | integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== 153 | 154 | "@esbuild/linux-arm@0.17.19": 155 | version "0.17.19" 156 | resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" 157 | integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== 158 | 159 | "@esbuild/linux-ia32@0.17.19": 160 | version "0.17.19" 161 | resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" 162 | integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== 163 | 164 | "@esbuild/linux-loong64@0.17.19": 165 | version "0.17.19" 166 | resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" 167 | integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== 168 | 169 | "@esbuild/linux-mips64el@0.17.19": 170 | version "0.17.19" 171 | resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" 172 | integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== 173 | 174 | "@esbuild/linux-ppc64@0.17.19": 175 | version "0.17.19" 176 | resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" 177 | integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== 178 | 179 | "@esbuild/linux-riscv64@0.17.19": 180 | version "0.17.19" 181 | resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" 182 | integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== 183 | 184 | "@esbuild/linux-s390x@0.17.19": 185 | version "0.17.19" 186 | resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" 187 | integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== 188 | 189 | "@esbuild/linux-x64@0.17.19": 190 | version "0.17.19" 191 | resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" 192 | integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== 193 | 194 | "@esbuild/netbsd-x64@0.17.19": 195 | version "0.17.19" 196 | resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" 197 | integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== 198 | 199 | "@esbuild/openbsd-x64@0.17.19": 200 | version "0.17.19" 201 | resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" 202 | integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== 203 | 204 | "@esbuild/sunos-x64@0.17.19": 205 | version "0.17.19" 206 | resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" 207 | integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== 208 | 209 | "@esbuild/win32-arm64@0.17.19": 210 | version "0.17.19" 211 | resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" 212 | integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== 213 | 214 | "@esbuild/win32-ia32@0.17.19": 215 | version "0.17.19" 216 | resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" 217 | integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== 218 | 219 | "@esbuild/win32-x64@0.17.19": 220 | version "0.17.19" 221 | resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" 222 | integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== 223 | 224 | "@jridgewell/gen-mapping@^0.3.2": 225 | version "0.3.3" 226 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" 227 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== 228 | dependencies: 229 | "@jridgewell/set-array" "^1.0.1" 230 | "@jridgewell/sourcemap-codec" "^1.4.10" 231 | "@jridgewell/trace-mapping" "^0.3.9" 232 | 233 | "@jridgewell/resolve-uri@3.1.0": 234 | version "3.1.0" 235 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 236 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 237 | 238 | "@jridgewell/resolve-uri@^3.0.3": 239 | version "3.1.1" 240 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" 241 | integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 242 | 243 | "@jridgewell/set-array@^1.0.1": 244 | version "1.1.2" 245 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 246 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 247 | 248 | "@jridgewell/sourcemap-codec@1.4.14": 249 | version "1.4.14" 250 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 251 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 252 | 253 | "@jridgewell/sourcemap-codec@^1.4.10": 254 | version "1.4.15" 255 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 256 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 257 | 258 | "@jridgewell/trace-mapping@0.3.9": 259 | version "0.3.9" 260 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 261 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 262 | dependencies: 263 | "@jridgewell/resolve-uri" "^3.0.3" 264 | "@jridgewell/sourcemap-codec" "^1.4.10" 265 | 266 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": 267 | version "0.3.18" 268 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" 269 | integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== 270 | dependencies: 271 | "@jridgewell/resolve-uri" "3.1.0" 272 | "@jridgewell/sourcemap-codec" "1.4.14" 273 | 274 | "@nodelib/fs.scandir@2.1.5": 275 | version "2.1.5" 276 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 277 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 278 | dependencies: 279 | "@nodelib/fs.stat" "2.0.5" 280 | run-parallel "^1.1.9" 281 | 282 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 283 | version "2.0.5" 284 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 285 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 286 | 287 | "@nodelib/fs.walk@^1.2.3": 288 | version "1.2.8" 289 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 290 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 291 | dependencies: 292 | "@nodelib/fs.scandir" "2.1.5" 293 | fastq "^1.6.0" 294 | 295 | "@tsconfig/node10@^1.0.7": 296 | version "1.0.9" 297 | resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" 298 | integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== 299 | 300 | "@tsconfig/node12@^1.0.7": 301 | version "1.0.11" 302 | resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 303 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 304 | 305 | "@tsconfig/node14@^1.0.0": 306 | version "1.0.3" 307 | resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 308 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 309 | 310 | "@tsconfig/node16@^1.0.2": 311 | version "1.0.4" 312 | resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" 313 | integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== 314 | 315 | "@types/glob@^7.2.0": 316 | version "7.2.0" 317 | resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" 318 | integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== 319 | dependencies: 320 | "@types/minimatch" "*" 321 | "@types/node" "*" 322 | 323 | "@types/minimatch@*": 324 | version "5.1.2" 325 | resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" 326 | integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== 327 | 328 | "@types/node@*": 329 | version "20.2.6" 330 | resolved "https://registry.npmjs.org/@types/node/-/node-20.2.6.tgz#f8f4cdcf9bc74fffcb44a9e1e3f3586d583dac24" 331 | integrity sha512-GQBWUtGoefMEOx/vu+emHEHU5aw6JdDoEtZhoBrHFPZbA/YNRFfN996XbBASEWdvmLSLyv9FKYppYGyZjCaq/g== 332 | 333 | "@types/node@^16.11.6": 334 | version "16.18.35" 335 | resolved "https://registry.npmjs.org/@types/node/-/node-16.18.35.tgz#d691fa3bccf0279babd2a079d046f9967642f895" 336 | integrity sha512-yqU2Rf94HFZqgHf6Tuyc/IqVD0l3U91KjvypSr1GtJKyrnl6L/kfnxVqN4QOwcF5Zx9tO/HKK+fozGr5AtqA+g== 337 | 338 | acorn-walk@^8.1.1: 339 | version "8.2.0" 340 | resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 341 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 342 | 343 | acorn@^8.4.1: 344 | version "8.8.2" 345 | resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" 346 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== 347 | 348 | ansi-styles@^3.2.1: 349 | version "3.2.1" 350 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 351 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 352 | dependencies: 353 | color-convert "^1.9.0" 354 | 355 | any-promise@^1.0.0: 356 | version "1.3.0" 357 | resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 358 | integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== 359 | 360 | anymatch@~3.1.2: 361 | version "3.1.3" 362 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 363 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 364 | dependencies: 365 | normalize-path "^3.0.0" 366 | picomatch "^2.0.4" 367 | 368 | arg@^4.1.0: 369 | version "4.1.3" 370 | resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 371 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 372 | 373 | array-union@^2.1.0: 374 | version "2.1.0" 375 | resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 376 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 377 | 378 | balanced-match@^1.0.0: 379 | version "1.0.2" 380 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 381 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 382 | 383 | binary-extensions@^2.0.0: 384 | version "2.2.0" 385 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 386 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 387 | 388 | brace-expansion@^1.1.7: 389 | version "1.1.11" 390 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 391 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 392 | dependencies: 393 | balanced-match "^1.0.0" 394 | concat-map "0.0.1" 395 | 396 | braces@^3.0.2, braces@~3.0.2: 397 | version "3.0.2" 398 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 399 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 400 | dependencies: 401 | fill-range "^7.0.1" 402 | 403 | bundle-require@^4.0.0: 404 | version "4.0.1" 405 | resolved "https://registry.npmjs.org/bundle-require/-/bundle-require-4.0.1.tgz#2cc1ad76428043d15e0e7f30990ee3d5404aa2e3" 406 | integrity sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ== 407 | dependencies: 408 | load-tsconfig "^0.2.3" 409 | 410 | cac@^6.7.12: 411 | version "6.7.14" 412 | resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" 413 | integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== 414 | 415 | chalk@^2.0.0: 416 | version "2.4.2" 417 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 418 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 419 | dependencies: 420 | ansi-styles "^3.2.1" 421 | escape-string-regexp "^1.0.5" 422 | supports-color "^5.3.0" 423 | 424 | chokidar@^3.5.1: 425 | version "3.5.3" 426 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 427 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 428 | dependencies: 429 | anymatch "~3.1.2" 430 | braces "~3.0.2" 431 | glob-parent "~5.1.2" 432 | is-binary-path "~2.1.0" 433 | is-glob "~4.0.1" 434 | normalize-path "~3.0.0" 435 | readdirp "~3.6.0" 436 | optionalDependencies: 437 | fsevents "~2.3.2" 438 | 439 | color-convert@^1.9.0: 440 | version "1.9.3" 441 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 442 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 443 | dependencies: 444 | color-name "1.1.3" 445 | 446 | color-name@1.1.3: 447 | version "1.1.3" 448 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 449 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 450 | 451 | commander@^4.0.0: 452 | version "4.1.1" 453 | resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" 454 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 455 | 456 | concat-map@0.0.1: 457 | version "0.0.1" 458 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 459 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 460 | 461 | create-require@^1.1.0: 462 | version "1.1.1" 463 | resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 464 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 465 | 466 | cross-spawn@^7.0.3: 467 | version "7.0.3" 468 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 469 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 470 | dependencies: 471 | path-key "^3.1.0" 472 | shebang-command "^2.0.0" 473 | which "^2.0.1" 474 | 475 | debug@^4.1.0, debug@^4.3.1: 476 | version "4.3.4" 477 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 478 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 479 | dependencies: 480 | ms "2.1.2" 481 | 482 | diff@^4.0.1: 483 | version "4.0.2" 484 | resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 485 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 486 | 487 | dir-glob@^3.0.1: 488 | version "3.0.1" 489 | resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 490 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 491 | dependencies: 492 | path-type "^4.0.0" 493 | 494 | esbuild@^0.17.6: 495 | version "0.17.19" 496 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" 497 | integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== 498 | optionalDependencies: 499 | "@esbuild/android-arm" "0.17.19" 500 | "@esbuild/android-arm64" "0.17.19" 501 | "@esbuild/android-x64" "0.17.19" 502 | "@esbuild/darwin-arm64" "0.17.19" 503 | "@esbuild/darwin-x64" "0.17.19" 504 | "@esbuild/freebsd-arm64" "0.17.19" 505 | "@esbuild/freebsd-x64" "0.17.19" 506 | "@esbuild/linux-arm" "0.17.19" 507 | "@esbuild/linux-arm64" "0.17.19" 508 | "@esbuild/linux-ia32" "0.17.19" 509 | "@esbuild/linux-loong64" "0.17.19" 510 | "@esbuild/linux-mips64el" "0.17.19" 511 | "@esbuild/linux-ppc64" "0.17.19" 512 | "@esbuild/linux-riscv64" "0.17.19" 513 | "@esbuild/linux-s390x" "0.17.19" 514 | "@esbuild/linux-x64" "0.17.19" 515 | "@esbuild/netbsd-x64" "0.17.19" 516 | "@esbuild/openbsd-x64" "0.17.19" 517 | "@esbuild/sunos-x64" "0.17.19" 518 | "@esbuild/win32-arm64" "0.17.19" 519 | "@esbuild/win32-ia32" "0.17.19" 520 | "@esbuild/win32-x64" "0.17.19" 521 | 522 | escape-string-regexp@^1.0.5: 523 | version "1.0.5" 524 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 525 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 526 | 527 | execa@^5.0.0: 528 | version "5.1.1" 529 | resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 530 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 531 | dependencies: 532 | cross-spawn "^7.0.3" 533 | get-stream "^6.0.0" 534 | human-signals "^2.1.0" 535 | is-stream "^2.0.0" 536 | merge-stream "^2.0.0" 537 | npm-run-path "^4.0.1" 538 | onetime "^5.1.2" 539 | signal-exit "^3.0.3" 540 | strip-final-newline "^2.0.0" 541 | 542 | fast-glob@^3.2.9: 543 | version "3.2.12" 544 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 545 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 546 | dependencies: 547 | "@nodelib/fs.stat" "^2.0.2" 548 | "@nodelib/fs.walk" "^1.2.3" 549 | glob-parent "^5.1.2" 550 | merge2 "^1.3.0" 551 | micromatch "^4.0.4" 552 | 553 | fastq@^1.6.0: 554 | version "1.15.0" 555 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" 556 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== 557 | dependencies: 558 | reusify "^1.0.4" 559 | 560 | fill-range@^7.0.1: 561 | version "7.0.1" 562 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 563 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 564 | dependencies: 565 | to-regex-range "^5.0.1" 566 | 567 | fs.realpath@^1.0.0: 568 | version "1.0.0" 569 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 570 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 571 | 572 | fsevents@~2.3.2: 573 | version "2.3.2" 574 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 575 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 576 | 577 | get-stream@^6.0.0: 578 | version "6.0.1" 579 | resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 580 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 581 | 582 | glob-parent@^5.1.2, glob-parent@~5.1.2: 583 | version "5.1.2" 584 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 585 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 586 | dependencies: 587 | is-glob "^4.0.1" 588 | 589 | glob@7.1.6: 590 | version "7.1.6" 591 | resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 592 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 593 | dependencies: 594 | fs.realpath "^1.0.0" 595 | inflight "^1.0.4" 596 | inherits "2" 597 | minimatch "^3.0.4" 598 | once "^1.3.0" 599 | path-is-absolute "^1.0.0" 600 | 601 | glob@^7.2.0: 602 | version "7.2.3" 603 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 604 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 605 | dependencies: 606 | fs.realpath "^1.0.0" 607 | inflight "^1.0.4" 608 | inherits "2" 609 | minimatch "^3.1.1" 610 | once "^1.3.0" 611 | path-is-absolute "^1.0.0" 612 | 613 | globals@^11.1.0: 614 | version "11.12.0" 615 | resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 616 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 617 | 618 | globby@^11.0.3: 619 | version "11.1.0" 620 | resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 621 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 622 | dependencies: 623 | array-union "^2.1.0" 624 | dir-glob "^3.0.1" 625 | fast-glob "^3.2.9" 626 | ignore "^5.2.0" 627 | merge2 "^1.4.1" 628 | slash "^3.0.0" 629 | 630 | has-flag@^3.0.0: 631 | version "3.0.0" 632 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 633 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 634 | 635 | human-signals@^2.1.0: 636 | version "2.1.0" 637 | resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 638 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 639 | 640 | ignore@^5.2.0: 641 | version "5.2.4" 642 | resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" 643 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== 644 | 645 | inflight@^1.0.4: 646 | version "1.0.6" 647 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 648 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 649 | dependencies: 650 | once "^1.3.0" 651 | wrappy "1" 652 | 653 | inherits@2: 654 | version "2.0.4" 655 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 656 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 657 | 658 | is-binary-path@~2.1.0: 659 | version "2.1.0" 660 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 661 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 662 | dependencies: 663 | binary-extensions "^2.0.0" 664 | 665 | is-extglob@^2.1.1: 666 | version "2.1.1" 667 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 668 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 669 | 670 | is-glob@^4.0.1, is-glob@~4.0.1: 671 | version "4.0.3" 672 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 673 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 674 | dependencies: 675 | is-extglob "^2.1.1" 676 | 677 | is-number@^7.0.0: 678 | version "7.0.0" 679 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 680 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 681 | 682 | is-stream@^2.0.0: 683 | version "2.0.1" 684 | resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" 685 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 686 | 687 | isexe@^2.0.0: 688 | version "2.0.0" 689 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 690 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 691 | 692 | joycon@^3.0.1: 693 | version "3.1.1" 694 | resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" 695 | integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== 696 | 697 | js-tokens@^4.0.0: 698 | version "4.0.0" 699 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 700 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 701 | 702 | jsesc@^2.5.1: 703 | version "2.5.2" 704 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 705 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 706 | 707 | lilconfig@^2.0.5: 708 | version "2.1.0" 709 | resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" 710 | integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== 711 | 712 | lines-and-columns@^1.1.6: 713 | version "1.2.4" 714 | resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 715 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 716 | 717 | load-tsconfig@^0.2.3: 718 | version "0.2.5" 719 | resolved "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" 720 | integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg== 721 | 722 | lodash.sortby@^4.7.0: 723 | version "4.7.0" 724 | resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 725 | integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== 726 | 727 | make-error@^1.1.1: 728 | version "1.3.6" 729 | resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 730 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 731 | 732 | merge-stream@^2.0.0: 733 | version "2.0.0" 734 | resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 735 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 736 | 737 | merge2@^1.3.0, merge2@^1.4.1: 738 | version "1.4.1" 739 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 740 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 741 | 742 | micromatch@^4.0.4: 743 | version "4.0.5" 744 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 745 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 746 | dependencies: 747 | braces "^3.0.2" 748 | picomatch "^2.3.1" 749 | 750 | mimic-fn@^2.1.0: 751 | version "2.1.0" 752 | resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 753 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 754 | 755 | minimatch@^3.0.4, minimatch@^3.1.1: 756 | version "3.1.2" 757 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 758 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 759 | dependencies: 760 | brace-expansion "^1.1.7" 761 | 762 | ms@2.1.2: 763 | version "2.1.2" 764 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 765 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 766 | 767 | mz@^2.7.0: 768 | version "2.7.0" 769 | resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" 770 | integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== 771 | dependencies: 772 | any-promise "^1.0.0" 773 | object-assign "^4.0.1" 774 | thenify-all "^1.0.0" 775 | 776 | normalize-path@^3.0.0, normalize-path@~3.0.0: 777 | version "3.0.0" 778 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 779 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 780 | 781 | npm-run-path@^4.0.1: 782 | version "4.0.1" 783 | resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 784 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 785 | dependencies: 786 | path-key "^3.0.0" 787 | 788 | object-assign@^4.0.1: 789 | version "4.1.1" 790 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 791 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 792 | 793 | once@^1.3.0: 794 | version "1.4.0" 795 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 796 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 797 | dependencies: 798 | wrappy "1" 799 | 800 | onetime@^5.1.2: 801 | version "5.1.2" 802 | resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 803 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 804 | dependencies: 805 | mimic-fn "^2.1.0" 806 | 807 | path-is-absolute@^1.0.0: 808 | version "1.0.1" 809 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 810 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 811 | 812 | path-key@^3.0.0, path-key@^3.1.0: 813 | version "3.1.1" 814 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 815 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 816 | 817 | path-type@^4.0.0: 818 | version "4.0.0" 819 | resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 820 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 821 | 822 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 823 | version "2.3.1" 824 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 825 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 826 | 827 | pirates@^4.0.1: 828 | version "4.0.5" 829 | resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 830 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 831 | 832 | postcss-load-config@^3.0.1: 833 | version "3.1.4" 834 | resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 835 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 836 | dependencies: 837 | lilconfig "^2.0.5" 838 | yaml "^1.10.2" 839 | 840 | punycode@^2.1.0: 841 | version "2.3.0" 842 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 843 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 844 | 845 | queue-microtask@^1.2.2: 846 | version "1.2.3" 847 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 848 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 849 | 850 | readdirp@~3.6.0: 851 | version "3.6.0" 852 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 853 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 854 | dependencies: 855 | picomatch "^2.2.1" 856 | 857 | resolve-from@^5.0.0: 858 | version "5.0.0" 859 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 860 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 861 | 862 | reusify@^1.0.4: 863 | version "1.0.4" 864 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 865 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 866 | 867 | rollup@^3.2.5: 868 | version "3.24.1" 869 | resolved "https://registry.npmjs.org/rollup/-/rollup-3.24.1.tgz#7ed67b778fb90a6f5e32e64510af9e28b03e47a8" 870 | integrity sha512-REHe5dx30ERBRFS0iENPHy+t6wtSEYkjrhwNsLyh3qpRaZ1+aylvMUdMBUHWUD/RjjLmLzEvY8Z9XRlpcdIkHA== 871 | optionalDependencies: 872 | fsevents "~2.3.2" 873 | 874 | run-parallel@^1.1.9: 875 | version "1.2.0" 876 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 877 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 878 | dependencies: 879 | queue-microtask "^1.2.2" 880 | 881 | shebang-command@^2.0.0: 882 | version "2.0.0" 883 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 884 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 885 | dependencies: 886 | shebang-regex "^3.0.0" 887 | 888 | shebang-regex@^3.0.0: 889 | version "3.0.0" 890 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 891 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 892 | 893 | signal-exit@^3.0.3: 894 | version "3.0.7" 895 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 896 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 897 | 898 | slash@^3.0.0: 899 | version "3.0.0" 900 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 901 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 902 | 903 | source-map@0.8.0-beta.0: 904 | version "0.8.0-beta.0" 905 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" 906 | integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== 907 | dependencies: 908 | whatwg-url "^7.0.0" 909 | 910 | strip-final-newline@^2.0.0: 911 | version "2.0.0" 912 | resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 913 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 914 | 915 | sucrase@^3.20.3: 916 | version "3.32.0" 917 | resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" 918 | integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== 919 | dependencies: 920 | "@jridgewell/gen-mapping" "^0.3.2" 921 | commander "^4.0.0" 922 | glob "7.1.6" 923 | lines-and-columns "^1.1.6" 924 | mz "^2.7.0" 925 | pirates "^4.0.1" 926 | ts-interface-checker "^0.1.9" 927 | 928 | supports-color@^5.3.0: 929 | version "5.5.0" 930 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 931 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 932 | dependencies: 933 | has-flag "^3.0.0" 934 | 935 | thenify-all@^1.0.0: 936 | version "1.6.0" 937 | resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" 938 | integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== 939 | dependencies: 940 | thenify ">= 3.1.0 < 4" 941 | 942 | "thenify@>= 3.1.0 < 4": 943 | version "3.3.1" 944 | resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" 945 | integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== 946 | dependencies: 947 | any-promise "^1.0.0" 948 | 949 | to-fast-properties@^2.0.0: 950 | version "2.0.0" 951 | resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 952 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 953 | 954 | to-regex-range@^5.0.1: 955 | version "5.0.1" 956 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 957 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 958 | dependencies: 959 | is-number "^7.0.0" 960 | 961 | tr46@^1.0.1: 962 | version "1.0.1" 963 | resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 964 | integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== 965 | dependencies: 966 | punycode "^2.1.0" 967 | 968 | tree-kill@^1.2.2: 969 | version "1.2.2" 970 | resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" 971 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== 972 | 973 | ts-interface-checker@^0.1.9: 974 | version "0.1.13" 975 | resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" 976 | integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== 977 | 978 | ts-node@^10.4.0: 979 | version "10.9.1" 980 | resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" 981 | integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== 982 | dependencies: 983 | "@cspotcode/source-map-support" "^0.8.0" 984 | "@tsconfig/node10" "^1.0.7" 985 | "@tsconfig/node12" "^1.0.7" 986 | "@tsconfig/node14" "^1.0.0" 987 | "@tsconfig/node16" "^1.0.2" 988 | acorn "^8.4.1" 989 | acorn-walk "^8.1.1" 990 | arg "^4.1.0" 991 | create-require "^1.1.0" 992 | diff "^4.0.1" 993 | make-error "^1.1.1" 994 | v8-compile-cache-lib "^3.0.1" 995 | yn "3.1.1" 996 | 997 | tsup@^6.7.0: 998 | version "6.7.0" 999 | resolved "https://registry.npmjs.org/tsup/-/tsup-6.7.0.tgz#416f350f32a07b6ae86792ad7e52b0cafc566d64" 1000 | integrity sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ== 1001 | dependencies: 1002 | bundle-require "^4.0.0" 1003 | cac "^6.7.12" 1004 | chokidar "^3.5.1" 1005 | debug "^4.3.1" 1006 | esbuild "^0.17.6" 1007 | execa "^5.0.0" 1008 | globby "^11.0.3" 1009 | joycon "^3.0.1" 1010 | postcss-load-config "^3.0.1" 1011 | resolve-from "^5.0.0" 1012 | rollup "^3.2.5" 1013 | source-map "0.8.0-beta.0" 1014 | sucrase "^3.20.3" 1015 | tree-kill "^1.2.2" 1016 | 1017 | typescript@^4.4.4: 1018 | version "4.9.5" 1019 | resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" 1020 | integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== 1021 | 1022 | v8-compile-cache-lib@^3.0.1: 1023 | version "3.0.1" 1024 | resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 1025 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 1026 | 1027 | webidl-conversions@^4.0.2: 1028 | version "4.0.2" 1029 | resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 1030 | integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 1031 | 1032 | whatwg-url@^7.0.0: 1033 | version "7.1.0" 1034 | resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" 1035 | integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== 1036 | dependencies: 1037 | lodash.sortby "^4.7.0" 1038 | tr46 "^1.0.1" 1039 | webidl-conversions "^4.0.2" 1040 | 1041 | which@^2.0.1: 1042 | version "2.0.2" 1043 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1044 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1045 | dependencies: 1046 | isexe "^2.0.0" 1047 | 1048 | wrappy@1: 1049 | version "1.0.2" 1050 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1051 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1052 | 1053 | yaml@^1.10.2: 1054 | version "1.10.2" 1055 | resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 1056 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 1057 | 1058 | yn@3.1.1: 1059 | version "3.1.1" 1060 | resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 1061 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 1062 | --------------------------------------------------------------------------------