├── .eslintrc.js ├── .gitignore ├── .vscode ├── extensions.json ├── launch.json ├── settings.json └── tasks.json ├── .vscodeignore ├── README.md ├── images ├── icon.sketch ├── logo.png └── screenshot.gif ├── package.json ├── prettier.config.js ├── src ├── extension.ts └── lib │ ├── corresponding-file.test.ts │ ├── corresponding-file.ts │ ├── extractor.test.ts │ ├── extractor.ts │ ├── imports.test.ts │ ├── imports.ts │ ├── modify-vscode-editor.ts │ ├── path-utils.test.ts │ ├── path-utils.ts │ └── vscode-utils.ts ├── tsconfig.json └── yarn.lock /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ignorePatterns: ["out", "/*.js"], 3 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], 4 | parser: '@typescript-eslint/parser', 5 | plugins: ['@typescript-eslint'], 6 | root: true, 7 | 8 | }; -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | node_modules 3 | .vscode-test/ 4 | *.vsix 5 | *.log 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "dbaeumer.vscode-eslint", 6 | "esbenp.prettier-vscode" 7 | ] 8 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that compiles the extension and then opens it inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "runtimeExecutable": "${execPath}", 13 | "args": [ 14 | "--extensionDevelopmentPath=${workspaceFolder}" 15 | ], 16 | "outFiles": [ 17 | "${workspaceFolder}/out/**/*.js" 18 | ], 19 | "preLaunchTask": "npm: watch" 20 | }, 21 | { 22 | "name": "Extension Tests", 23 | "type": "extensionHost", 24 | "request": "launch", 25 | "runtimeExecutable": "${execPath}", 26 | "args": [ 27 | "--extensionDevelopmentPath=${workspaceFolder}", 28 | "--extensionTestsPath=${workspaceFolder}/out/test" 29 | ], 30 | "outFiles": [ 31 | "${workspaceFolder}/out/test/**/*.js" 32 | ], 33 | "preLaunchTask": "npm: watch" 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.exclude": { 4 | "out": false // set this to true to hide the "out" folder with the compiled JS files 5 | }, 6 | "search.exclude": { 7 | "out": true // set this to false to include "out" folder in search results 8 | }, 9 | 10 | "[typescript]": { 11 | "editor.defaultFormatter": "esbenp.prettier-vscode" 12 | } 13 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | // See https://go.microsoft.com/fwlink/?LinkId=733558 2 | // for the documentation about the tasks.json format 3 | { 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "type": "npm", 8 | "script": "watch", 9 | "problemMatcher": "$tsc-watch", 10 | "isBackground": true, 11 | "presentation": { 12 | "reveal": "never" 13 | }, 14 | "group": { 15 | "kind": "build", 16 | "isDefault": true 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | __tests__/** 2 | .gitignore 3 | .vscode-test/** 4 | .vscode/** 5 | images/** 6 | !images/logo.png 7 | jsconfig.json 8 | out/**/*.spec.js 9 | out/**/*.spec.js.map 10 | src/** 11 | tsconfig.json 12 | tslint.json 13 | typings/** 14 | vsc-extension-quickstart.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Styled-Components Extractor 2 | 3 | Generate [styled-components](https://www.styled-components.com/) definitions from JSX tags. 4 | 5 | This extension supports extracting definitions to several different locations: 6 | 7 | 1. **Same File** - If you keep your style definitions in your JSX files. 8 | 2. **Separate File** - If you keep your style definitions in a separate file whose name is derived from your JSX file name. 9 | 3. **Clipboard** - For all other use cases. You can paste the definitions wherever you like! 10 | 11 | For maximum productivity, you can combine this extension with [Emmet](https://emmet.io/): 12 | 13 | 1. Use Emmet to create JSX element tree 14 | 2. Use this extension to extract styled-components from the JSX 15 | 16 | ![screenshot](images/screenshot.gif) 17 | 18 | ## Usage 19 | 20 | Use one of the four VS Code commands provided by this extension: 21 | 22 | - `Extract styled-components to the same file` - Generates definitions for all unbound styled components and appends them to end of the current JSX file. 23 | - `Extract exported styled-components to a separate file` - Generates definitions for all unbound styled components and appends them to end of another file. Automatically imports the new components in the JSX file. The file the compnents are appended to is controlled by the `separateFile.outputFile` setting. 24 | - `Extract styled-components to clipboard` - Generates definitions for all unbound styled components and copies them to the clipboard. 25 | - `Extract exported styled-components to clipboard` - Same as previous, but includes the `export` keyword in each definition. 26 | 27 | Optionally, you can bind these commands to shortcuts via `File -> Preferences -> Keyboard Shortcuts`. 28 | 29 | Example: 30 | 31 | ```json 32 | [ 33 | { 34 | "key": "cmd+alt+e", 35 | "command": "styledComponentsExtractor.extractToSeparateFile", 36 | "when": "editorFocus" 37 | }, 38 | { 39 | "key": "ctrl+alt+e", 40 | "command": "styledComponentsExtractor.extractExported", 41 | "when": "editorFocus" 42 | } 43 | ] 44 | ``` 45 | 46 | ## Configuration 47 | 48 | ```json 49 | { 50 | // Add `import styled from 'styled-components'` statement if variable `styled` is unbound 51 | // when copying to the clipboard only. When extracting to a file, whether to add this 52 | // import is automatically determined. 53 | "styledComponentsExtractor.addImportStatement": true 54 | } 55 | ``` 56 | 57 | ```json 58 | { 59 | // The name of the file, excluding the extension, to place extracted components. You can 60 | // use `$name` to reference the name of the input file, excluding its extension. If 61 | // `#styledComponentsExtractor.separateFile.advanced.inputFileRegex#` is provided, 62 | // you can also use `$1`, `$2`. 63 | "styledComponentsExtractor.separateFile.outputFile": "$name.styles" 64 | } 65 | ``` 66 | 67 | ```json 68 | { 69 | // A regex pattern used to capture parts of the input file's name when extracting to a 70 | // separate file. The pattern is matched against the file's name excluding the extension. 71 | // The contents of the regex's capture groups can be referenced in the output file name 72 | // as `$1`, `$2`, etc. Can be left blank if not needed. 73 | "styledComponentsExtractor.separateFile.advanced.inputFileRegex": "" 74 | } 75 | ``` 76 | 77 | ## Configuring a Separate File for Your Styles 78 | 79 | Extracting your styled-components to a separate file is probably the most powerful capability of this extension. Every codebase has its own convention for file names, however, so you will probably have to change the default configuration to match your own preferences. 80 | 81 | In many cases, if your style's filename is simply a suffixed or prefixed version of the JSX file (such as `FluxCapacitor.styles.js`), then you'll only need to set the `outputFile` option and utilize the `$name` variable. If you need something more advanced, like removing a portion of the JSX file's name, you'll need to set both `outputFile` and `inputFileRegex` and utilize the `$1`, `$2` variables. 82 | 83 | The following examples are designed to illustrate the flexibility of the configuration and provide inspiration for your own settings! 84 | 85 | ### Append .styles.js 86 | 87 | Example: `FluxCapacitorView.jsx` -> `FluxCapacitorView.styles.js` 88 | 89 | Configuration: 90 | 91 | ```json 92 | { 93 | "styledComponentsExtractor.separateFile.outputFile": "$name.styles" 94 | } 95 | ``` 96 | 97 | ### Always use styles.js in a named folder 98 | 99 | Example: `FluxCapacitor/view.jsx` -> `FluxCapacitor/styles.js` 100 | 101 | Configuration: 102 | 103 | ```json 104 | { 105 | "styledComponentsExtractor.separateFile.outputFile": "styles" 106 | } 107 | ``` 108 | 109 | ### Replace ".view" with ".styles 110 | 111 | Example: `FluxCapacitor.view.jsx` -> `FluxCapacitor.styles.js` 112 | 113 | Configuration: 114 | 115 | ```json 116 | { 117 | "styledComponentsExtractor.separateFile.outputFile": "$1.styles", 118 | "styledComponentsExtractor.separateFile.advanced.matchPattern": "^(.+)\\.view$" 119 | } 120 | ``` 121 | 122 | ### Note on TypeScript 123 | 124 | If you're using TypeScript, your files will end with `.tsx` or `.ts` instead. However, you can still use the exact same configuration. If the JSX file has a `.tsx` extension, the extracted file will automatically have a `.ts` extension. 125 | -------------------------------------------------------------------------------- /images/icon.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FallenMax/styled-components-extractor/a5989266dc50116b4fcdb5b29ac8bcc615a75ff1/images/icon.sketch -------------------------------------------------------------------------------- /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FallenMax/styled-components-extractor/a5989266dc50116b4fcdb5b29ac8bcc615a75ff1/images/logo.png -------------------------------------------------------------------------------- /images/screenshot.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FallenMax/styled-components-extractor/a5989266dc50116b4fcdb5b29ac8bcc615a75ff1/images/screenshot.gif -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "styled-components-extractor", 3 | "displayName": "Styled-Components Extractor", 4 | "description": "Generate styled-components from JSX tags. A faster styled-component workflow.", 5 | "version": "0.1.1", 6 | "publisher": "FallenMax", 7 | "engines": { 8 | "vscode": "^1.31.0" 9 | }, 10 | "categories": [ 11 | "Other" 12 | ], 13 | "keywords": [ 14 | "styled-components", 15 | "extractor", 16 | "snippet" 17 | ], 18 | "activationEvents": [ 19 | "onCommand:styledComponentsExtractor.extract", 20 | "onCommand:styledComponentsExtractor.extractExported" 21 | ], 22 | "repository": { 23 | "type": "git", 24 | "url": "https://github.com/FallenMax/styled-components-extractor" 25 | }, 26 | "main": "./out/extension", 27 | "contributes": { 28 | "commands": [ 29 | { 30 | "command": "styledComponentsExtractor.extractToClipboard", 31 | "title": "Extract styled-components to clipboard" 32 | }, 33 | { 34 | "command": "styledComponentsExtractor.extractExportedToClipboard", 35 | "title": "Extract exported styled-components to clipboard" 36 | }, 37 | { 38 | "command": "styledComponentsExtractor.extractToSameFile", 39 | "title": "Extract styled-components to the same file" 40 | }, 41 | { 42 | "command": "styledComponentsExtractor.extractToSeparateFile", 43 | "title": "Extract exported styled-components to a separate file" 44 | } 45 | ], 46 | "configuration": { 47 | "type": "object", 48 | "title": "Styled-Components Extractor configuration", 49 | "properties": { 50 | "styledComponentsExtractor.separateFile.advanced.inputFileRegex": { 51 | "type": "string", 52 | "default": "", 53 | "markdownDescription": "A regex pattern used to capture parts of the input file's name when extracting to a separate file. The pattern is matched against the file's name excluding the extension. The contents of the regex's capture groups can be referenced in the output file name as `$1`, `$2`, etc. Can be left blank if not needed.", 54 | "order": 3 55 | }, 56 | "styledComponentsExtractor.separateFile.outputFile": { 57 | "type": "string", 58 | "default": "$name.styles", 59 | "markdownDescription": "The name of the file, excluding the extension, to place extracted components. You can use `$name` to reference the name of the input file, excluding its extension. If `#styledComponentsExtractor.separateFile.advanced.inputFileRegex#` is provided, you can also use `$1`, `$2`.", 60 | "order": 2 61 | }, 62 | "styledComponentsExtractor.addImportStatement": { 63 | "type": "boolean", 64 | "default": "true", 65 | "markdownDescription": "Add `import styled from 'styled-component'` statement if variable `styled` is unbound. Only applies when extracting to clipboard.", 66 | "order": 1 67 | } 68 | } 69 | } 70 | }, 71 | "scripts": { 72 | "vscode:prepublish": "npm run compile && npm run test", 73 | "compile": "tsc -p ./", 74 | "watch": "tsc -watch -p ./", 75 | "postinstall": "node ./node_modules/vscode/bin/install", 76 | "test": "jest", 77 | "test:watch": "jest --watch" 78 | }, 79 | "devDependencies": { 80 | "@types/babel__traverse": "^7.18.3", 81 | "@types/jest": "^29.2.4", 82 | "@typescript-eslint/eslint-plugin": "^5.47.1", 83 | "@typescript-eslint/parser": "^5.47.1", 84 | "eslint": "^8.30.0", 85 | "jest": "^29.3.1", 86 | "ts-jest": "^29.0.3", 87 | "typescript": "^4.9.4", 88 | "vscode": "^1.1.29" 89 | }, 90 | "dependencies": { 91 | "@babel/parser": "^7.20.7", 92 | "@babel/traverse": "^7.20.10" 93 | }, 94 | "jest": { 95 | "transform": { 96 | "^.+\\.tsx?$": "ts-jest" 97 | }, 98 | "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", 99 | "moduleFileExtensions": [ 100 | "ts", 101 | "tsx", 102 | "js", 103 | "jsx", 104 | "json", 105 | "node" 106 | ] 107 | }, 108 | "icon": "images/logo.png" 109 | } 110 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | semi: false, 3 | singleQuote: true, 4 | trailingComma: 'all', 5 | arrowParens: 'always', 6 | } 7 | -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | import * as vscode from 'vscode' 2 | import { getCorrespondingStyleFile } from './lib/corresponding-file' 3 | import { collectUnbound, generateDeclarations } from './lib/extractor' 4 | import { getStyledImportInsertion } from './lib/imports' 5 | import { openFileInEditor } from './lib/vscode-utils' 6 | import { 7 | insertStyledImport, 8 | insertStyles, 9 | modifyImports, 10 | } from './lib/modify-vscode-editor' 11 | 12 | const supportedLangs = ['javascript', 'javascriptreact', 'typescriptreact'] 13 | 14 | type ExtractType = 15 | | 'extractToClipboard' 16 | | 'extractExportedToClipboard' 17 | | 'extractToSameFile' 18 | | 'extractToSeparateFile' 19 | 20 | const extract = async (type: ExtractType): Promise => { 21 | try { 22 | const editor = vscode.window.activeTextEditor 23 | if (!editor) { 24 | return 25 | } 26 | 27 | if ( 28 | supportedLangs.indexOf(editor.document.languageId) === -1 && 29 | !/\.(js|ts)x?$/.test(editor.document.fileName) 30 | ) { 31 | vscode.window.showWarningMessage( 32 | '[SCE] Only `.js`, `.ts`, `.jsx` and `.tsx` are supported', 33 | ) 34 | return 35 | } 36 | 37 | const document = editor.document 38 | 39 | const config = vscode.workspace.getConfiguration( 40 | 'styledComponentsExtractor', 41 | ) 42 | 43 | const text = document.getText() 44 | const unbound = collectUnbound(text) 45 | if (!unbound.length) { 46 | vscode.window.showWarningMessage( 47 | '[SCE] Nothing to extract: There are no unbound components', 48 | ) 49 | return 50 | } 51 | 52 | const exportIdentifier = 53 | type == 'extractExportedToClipboard' || type == 'extractToSeparateFile' 54 | 55 | const declarations = generateDeclarations({ 56 | unbound, 57 | exportIdentifier, 58 | }) 59 | 60 | if (type == 'extractToClipboard' || type == 'extractExportedToClipboard') { 61 | let clipboardText = declarations 62 | if (config.get('addImportStatement', true)) { 63 | const styledImportInsertion = getStyledImportInsertion( 64 | editor.document.getText(), 65 | ) 66 | if (styledImportInsertion) { 67 | clipboardText = styledImportInsertion.insertionText + declarations 68 | } 69 | } 70 | 71 | await vscode.env.clipboard.writeText(clipboardText) 72 | 73 | vscode.window.showInformationMessage( 74 | `[SCE] Copied to clipboard! (Found: ${unbound.length}) `, 75 | ) 76 | } else if (type == 'extractToSeparateFile') { 77 | const styleFile = getCorrespondingStyleFile( 78 | editor.document.uri.path, 79 | config.get('separateFile.outputFile', '$name.styles'), 80 | config.get( 81 | 'styledComponentsExtractor.separateFile.advanced.inputFileRegex', 82 | '', 83 | ), 84 | ) 85 | if (!styleFile) { 86 | vscode.window.showWarningMessage( 87 | '[SCE] This file does not match the pattern in your configuration.', 88 | ) 89 | return 90 | } 91 | 92 | await modifyImports(editor, styleFile, unbound) 93 | 94 | const styleFileEditor = await openFileInEditor(styleFile) 95 | await insertStyles(styleFileEditor, declarations) 96 | await insertStyledImport(styleFileEditor) 97 | 98 | await editor.document.save() 99 | await styleFileEditor.document.save() 100 | } else if (type == 'extractToSameFile') { 101 | await insertStyles(editor, declarations) 102 | await insertStyledImport(editor) 103 | 104 | await editor.document.save() 105 | } 106 | } catch (e) { 107 | if (e instanceof Error && Object.getPrototypeOf(e).name === 'SyntaxError') { 108 | vscode.window.showErrorMessage( 109 | '[SCE] Failed to extract due to syntax error: ' + e.message, 110 | ) 111 | } else { 112 | console.error('[SCE]', e) 113 | vscode.window.showErrorMessage('[SCE] Unexpected error while extracting') 114 | } 115 | } 116 | } 117 | 118 | export const activate = (context: vscode.ExtensionContext) => { 119 | context.subscriptions.push( 120 | vscode.commands.registerCommand( 121 | 'styledComponentsExtractor.extractToClipboard', 122 | () => extract('extractToClipboard'), 123 | ), 124 | vscode.commands.registerCommand( 125 | 'styledComponentsExtractor.extractExportedToClipboard', 126 | () => extract('extractExportedToClipboard'), 127 | ), 128 | vscode.commands.registerCommand( 129 | 'styledComponentsExtractor.extractToSameFile', 130 | () => extract('extractToSameFile'), 131 | ), 132 | vscode.commands.registerCommand( 133 | 'styledComponentsExtractor.extractToSeparateFile', 134 | () => extract('extractToSeparateFile'), 135 | ), 136 | ) 137 | } 138 | -------------------------------------------------------------------------------- /src/lib/corresponding-file.test.ts: -------------------------------------------------------------------------------- 1 | import { getCorrespondingStyleFile } from './corresponding-file' 2 | 3 | test('getCorrespondingStyleFile styles.js', async () => { 4 | const importPath = getCorrespondingStyleFile( 5 | '/one/two/three.jsx', 6 | 'styles', 7 | '', 8 | ) 9 | expect(importPath).toEqual('/one/two/styles.js') 10 | }) 11 | 12 | test('getCorrespondingStyleFile styles.ts', async () => { 13 | const importPath = getCorrespondingStyleFile( 14 | '/one/two/three.tsx', 15 | 'styles', 16 | '', 17 | ) 18 | expect(importPath).toEqual('/one/two/styles.ts') 19 | }) 20 | 21 | test('getCorrespondingStyleFile filename.styles.js', async () => { 22 | const importPath = getCorrespondingStyleFile( 23 | '/one/two/three.jsx', 24 | '$name.styles', 25 | '', 26 | ) 27 | expect(importPath).toEqual('/one/two/three.styles.js') 28 | }) 29 | 30 | test('getCorrespondingStyleFile filename.styles.ts', async () => { 31 | const importPath = getCorrespondingStyleFile( 32 | '/one/two/three.tsx', 33 | '$name.styles', 34 | '', 35 | ) 36 | expect(importPath).toEqual('/one/two/three.styles.ts') 37 | }) 38 | 39 | test('getCorrespondingStyleFile filenameView.jsx -> filenameStyles.js', async () => { 40 | const importPath = getCorrespondingStyleFile( 41 | '/one/two/threeView.jsx', 42 | '$1Styles', 43 | '^(.+)View$', 44 | ) 45 | expect(importPath).toEqual('/one/two/threeStyles.js') 46 | }) 47 | 48 | test('getCorrespondingStyleFile filenameView.tsx -> filenameStyles.ts', async () => { 49 | const importPath = getCorrespondingStyleFile( 50 | '/one/two/threeView.tsx', 51 | '$1Styles', 52 | '^(.+)View$', 53 | ) 54 | expect(importPath).toEqual('/one/two/threeStyles.ts') 55 | }) 56 | 57 | test('getCorrespondingStyleFile filename.view.jsx -> filename.styles.js', async () => { 58 | const importPath = getCorrespondingStyleFile( 59 | '/one/two/three.view.jsx', 60 | '$1.styles', 61 | '^(.+)\\.view$', 62 | ) 63 | expect(importPath).toEqual('/one/two/three.styles.js') 64 | }) 65 | 66 | test('getCorrespondingStyleFile filename.view.tsx -> filename.styles.ts', async () => { 67 | const importPath = getCorrespondingStyleFile( 68 | '/one/two/three.view.tsx', 69 | '$1.styles', 70 | '^(.+)\\.view$', 71 | ) 72 | expect(importPath).toEqual('/one/two/three.styles.ts') 73 | }) 74 | 75 | test('getCorrespondingStyleFile no match', async () => { 76 | const importPath = getCorrespondingStyleFile( 77 | '/one/two/three.tsx', 78 | '$1Styles', 79 | '^(.+)View$', 80 | ) 81 | expect(importPath).toEqual(null) 82 | }) 83 | -------------------------------------------------------------------------------- /src/lib/corresponding-file.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path' 2 | import { getExtension, stripExtension } from './path-utils' 3 | 4 | export function getCorrespondingStyleFile( 5 | inputPath: string, 6 | outputFile: string, 7 | inputFileRegex: string, 8 | ) { 9 | const basePath = path.dirname(inputPath) 10 | const filename = stripExtension(path.basename(inputPath)) 11 | const extension = getExtension(path.basename(inputPath)) 12 | 13 | let outputFilename = outputFile.replace('$name', filename) 14 | 15 | if (inputFileRegex.length) { 16 | let effectiveRegex = inputFileRegex 17 | 18 | // HACK - ensure the regex matches the entire string, so 19 | // that we replace the whole string 20 | if (!effectiveRegex.startsWith('^')) { 21 | effectiveRegex = '^.*' + effectiveRegex 22 | } 23 | if (!effectiveRegex.endsWith('$')) { 24 | effectiveRegex += '.*$' 25 | } 26 | 27 | if (!filename.match(effectiveRegex)) { 28 | return null 29 | } 30 | 31 | outputFilename = filename.replace( 32 | new RegExp(effectiveRegex), 33 | outputFilename, 34 | ) 35 | } 36 | 37 | const outputExtension = extension.match(/tsx?/) ? 'ts' : 'js' 38 | 39 | return path.join(basePath, `${outputFilename}.${outputExtension}`) 40 | } 41 | -------------------------------------------------------------------------------- /src/lib/extractor.test.ts: -------------------------------------------------------------------------------- 1 | import { collectUnbound, generateDeclarations } from './extractor' 2 | 3 | test('collectUnbound', async () => { 4 | const code = ` 5 | const Def = 1 as any 6 | 7 | const TestComponent: React.SFC = () => { 8 | const c = a?.b ?? c 9 | return ( 10 | 11 | 12 | 13 |
14 | 15 |
    16 |
  • 123
  • 17 |
  • 456
  • 18 |
  • 789
  • 19 |
20 | 21 | ) 22 | } 23 | ` 24 | 25 | expect(collectUnbound(code)).toEqual(['Abc', 'Ghi']) 26 | }) 27 | 28 | test('collectUnbound syntax error', async () => { 29 | const code = ` 30 | const Def = 1 as any 31 | 32 | const TestComponent: React.SFC = () => { 33 | const c = a?.b ?? c 34 | return ( 35 | 36 | 37 | 38 |
39 | 40 |
    41 |
  • 123
  • 42 |
  • 456
  • 43 |
  • 789
  • 44 |
45 | 46 | ) 47 | } 48 | ` 49 | 50 | try { 51 | collectUnbound(code) 52 | fail('Should have thrown an error') 53 | } catch (e) { 54 | expect( 55 | e instanceof Error && Object.getPrototypeOf(e).name === 'SyntaxError', 56 | ).toBe(true) 57 | } 58 | }) 59 | 60 | test('generateDeclarations no export', async () => { 61 | const declarations = await generateDeclarations({ 62 | unbound: ['Abc', 'Xyz'], 63 | exportIdentifier: false, 64 | }) 65 | expect(declarations).toEqual( 66 | 'const Abc = styled.div``\n' + 'const Xyz = styled.div``', 67 | ) 68 | }) 69 | 70 | test('generateDeclarations yes export', async () => { 71 | const declarations = await generateDeclarations({ 72 | unbound: ['Abc', 'Xyz'], 73 | exportIdentifier: true, 74 | }) 75 | expect(declarations).toEqual( 76 | 'export const Abc = styled.div``\n' + 'export const Xyz = styled.div``', 77 | ) 78 | }) 79 | -------------------------------------------------------------------------------- /src/lib/extractor.ts: -------------------------------------------------------------------------------- 1 | import * as parser from '@babel/parser' 2 | import traverse from '@babel/traverse' 3 | 4 | const parseOptions: parser.ParserOptions = { 5 | sourceType: 'module', 6 | plugins: [ 7 | 'jsx', 8 | 'typescript', 9 | 'objectRestSpread', 10 | 'asyncGenerators', 11 | 'classProperties', 12 | 'dynamicImport', 13 | 'decorators-legacy', 14 | 'optionalCatchBinding', 15 | 'optionalChaining', 16 | 'nullishCoalescingOperator', 17 | ], 18 | } 19 | 20 | export const collectUnbound = (code: string) => { 21 | const ast = parser.parse(code, parseOptions) 22 | 23 | const unboundJSXIdentifiers = new Set() 24 | 25 | traverse(ast as any, { 26 | enter(path) { 27 | const node = path.node 28 | 29 | switch (node.type) { 30 | case 'JSXIdentifier': { 31 | if (path.parentPath?.node.type !== 'JSXOpeningElement') { 32 | return 33 | } 34 | const isComponent = /[A-Z]/.test(node.name) 35 | if (!isComponent) { 36 | return 37 | } 38 | if (!path.scope.hasBinding(node.name)) { 39 | unboundJSXIdentifiers.add(node.name) 40 | } 41 | 42 | break 43 | } 44 | default: 45 | break 46 | } 47 | }, 48 | }) 49 | 50 | return [...unboundJSXIdentifiers] 51 | } 52 | 53 | export const generateDeclarations = ({ 54 | unbound, 55 | exportIdentifier, 56 | }: { 57 | unbound: string[] 58 | exportIdentifier: boolean 59 | }): string => { 60 | return unbound 61 | .map((varName) => { 62 | return `${ 63 | exportIdentifier ? 'export ' : '' 64 | }const ${varName} = styled.div\`\`` 65 | }) 66 | .join('\n') 67 | } 68 | -------------------------------------------------------------------------------- /src/lib/imports.test.ts: -------------------------------------------------------------------------------- 1 | import { getImportInsertion, getStyledImportInsertion } from './imports' 2 | 3 | test('getImportInsertion no existing import', async () => { 4 | const code = ` 5 | import { foo } from "./bar" 6 | import { baz } from "./qux" 7 | ` 8 | 9 | const insertion = getImportInsertion(code, './styles', ['Abc', 'Xyz']) 10 | expect(insertion).toEqual({ 11 | insertionText: 'import { Abc, Xyz } from "./styles"\n', 12 | insertionOffset: 0, 13 | }) 14 | }) 15 | 16 | test('getImportInsertion with existing import', async () => { 17 | const code = ` 18 | import { foo } from "./bar" 19 | import { Def } from "./styles" 20 | import { baz } from "./qux" 21 | ` 22 | 23 | const insertion = getImportInsertion(code, './styles', ['Abc', 'Xyz']) 24 | expect(insertion).toEqual({ 25 | insertionText: ', Abc, Xyz', 26 | insertionOffset: 41, 27 | }) 28 | }) 29 | 30 | test('getStyledImportInsertion no existing import', async () => { 31 | const code = ` 32 | import { foo } from "./bar" 33 | import { baz } from "./qux" 34 | ` 35 | 36 | const insertion = getStyledImportInsertion(code) 37 | expect(insertion).toEqual({ 38 | insertionText: "import styled from 'styled-components'\n", 39 | insertionOffset: 0, 40 | }) 41 | }) 42 | 43 | test('getStyledImportInsertion no existing import, but with other named imports ', async () => { 44 | const code = ` 45 | import { foo } from "./bar" 46 | import { css } from 'styled-components' 47 | import { baz } from "./qux" 48 | ` 49 | 50 | const insertion = getStyledImportInsertion(code) 51 | expect(insertion).toEqual({ 52 | insertionText: "import styled from 'styled-components'\n", 53 | insertionOffset: 0, 54 | }) 55 | }) 56 | 57 | test('getStyledImportInsertion with existing import', async () => { 58 | const code = ` 59 | import { foo } from "./bar" 60 | import styled from 'styled-components' 61 | import { baz } from "./qux" 62 | ` 63 | 64 | const insertion = getStyledImportInsertion(code) 65 | expect(insertion).toEqual(null) 66 | }) 67 | 68 | test('getStyledImportInsertion with existing import, with other named imports ', async () => { 69 | const code = ` 70 | import { foo } from "./bar" 71 | import styled, { css } from 'styled-components' 72 | import { baz } from "./qux" 73 | ` 74 | 75 | const insertion = getStyledImportInsertion(code) 76 | expect(insertion).toEqual(null) 77 | }) 78 | -------------------------------------------------------------------------------- /src/lib/imports.ts: -------------------------------------------------------------------------------- 1 | export function getImportInsertion( 2 | existingText: string, 3 | importPath: string, 4 | modulesToImport: string[], 5 | ) { 6 | const importRegex = new RegExp(`(import {.*?)\\s+} from "${importPath}"`) 7 | const importAlreadyPresent = importRegex.exec(existingText) 8 | if (importAlreadyPresent) { 9 | const matchIndex = importAlreadyPresent.index 10 | const upToImportList = importAlreadyPresent[1] 11 | const insertionOffset = matchIndex + upToImportList.length 12 | 13 | return { 14 | insertionText: `, ${modulesToImport.join(', ')}`, 15 | insertionOffset, 16 | } 17 | } else { 18 | return { 19 | insertionText: `import { ${modulesToImport.join( 20 | ', ', 21 | )} } from "${importPath}"\n`, 22 | insertionOffset: 0, 23 | } 24 | } 25 | } 26 | 27 | export function getStyledImportInsertion(existingText: string) { 28 | // we can use babel or `https://classic.yarnpkg.com/en/package/es-module-lexer` to parse the imports, 29 | // but for now we'll just use a regex 30 | const importRegex = /import.*\bstyled\b.*\bfrom\b.*["']styled-components["']/ 31 | const importAlreadyPresent = importRegex.test(existingText) 32 | if (!importAlreadyPresent) { 33 | return { 34 | insertionText: `import styled from 'styled-components'\n`, 35 | insertionOffset: 0, 36 | } 37 | } else { 38 | return null 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/lib/modify-vscode-editor.ts: -------------------------------------------------------------------------------- 1 | import * as vscode from 'vscode' 2 | import { getImportInsertion, getStyledImportInsertion } from './imports' 3 | import { relativeImportPathFromFile } from './path-utils' 4 | import { endOfFile } from './vscode-utils' 5 | 6 | export async function modifyImports( 7 | editor: vscode.TextEditor, 8 | fileToImport: string, 9 | modulesToImport: string[], 10 | ) { 11 | const importPath = relativeImportPathFromFile( 12 | editor.document.uri.path, 13 | fileToImport, 14 | ) 15 | 16 | const { insertionText, insertionOffset } = getImportInsertion( 17 | editor.document.getText(), 18 | importPath, 19 | modulesToImport, 20 | ) 21 | 22 | const insertionPosition = editor.document.positionAt(insertionOffset) 23 | await editor.edit((editBuilder) => { 24 | editBuilder.insert(insertionPosition, insertionText) 25 | }) 26 | } 27 | 28 | export async function insertStyledImport(editor: vscode.TextEditor) { 29 | const styledImportInsertion = getStyledImportInsertion( 30 | editor.document.getText(), 31 | ) 32 | 33 | if (styledImportInsertion) { 34 | const { insertionText, insertionOffset } = styledImportInsertion 35 | 36 | const insertionPosition = editor.document.positionAt(insertionOffset) 37 | await editor.edit((editBuilder) => { 38 | editBuilder.insert(insertionPosition, insertionText) 39 | }) 40 | } 41 | } 42 | 43 | export async function insertStyles( 44 | editor: vscode.TextEditor, 45 | declarations: string, 46 | ) { 47 | const end = endOfFile(editor) 48 | const declarationsToInsert = '\n\n' + declarations 49 | await editor.edit((editBuilder) => { 50 | editBuilder.insert(end, declarationsToInsert) 51 | }) 52 | 53 | const newEnd = editor.document.positionAt( 54 | editor.document.offsetAt(end) + declarationsToInsert.length, 55 | ) 56 | await editor.revealRange(new vscode.Range(end, newEnd)) 57 | } 58 | -------------------------------------------------------------------------------- /src/lib/path-utils.test.ts: -------------------------------------------------------------------------------- 1 | import { 2 | getExtension, 3 | relativeImportPathFromFile, 4 | stripExtension, 5 | } from './path-utils' 6 | 7 | test('relativeImportPathFromFile, same directory', async () => { 8 | const importPath = relativeImportPathFromFile( 9 | '/one/mycomponent.js', 10 | '/one/mycomponent.styles.js', 11 | ) 12 | expect(importPath).toEqual('./mycomponent.styles') 13 | }) 14 | 15 | test('relativeImportPathFromFile, different directories', async () => { 16 | const importPath = relativeImportPathFromFile( 17 | '/one/two/three.js', 18 | '/one/four/five.js', 19 | ) 20 | expect(importPath).toEqual('../four/five') 21 | }) 22 | 23 | test('stripExtension', async () => { 24 | const importPath = stripExtension('/one/two/three.test.js') 25 | expect(importPath).toEqual('/one/two/three.test') 26 | }) 27 | 28 | test('stripExtension', async () => { 29 | const importPath = getExtension('/one/two/three.test.js') 30 | expect(importPath).toEqual('.js') 31 | }) 32 | -------------------------------------------------------------------------------- /src/lib/path-utils.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path' 2 | 3 | export function relativeImportPathFromFile(from: string, to: string) { 4 | // TODO is this OK on Windows? 5 | let relative = path.relative(path.dirname(from), to) 6 | 7 | if (relative === path.basename(to)) { 8 | relative = './' + relative 9 | } 10 | 11 | return stripExtension(relative) 12 | } 13 | 14 | export function stripExtension(inputPath: string) { 15 | const parsed = path.parse(inputPath) 16 | return parsed.dir + '/' + parsed.name // removes extension 17 | } 18 | 19 | export function getExtension(inputPath: string) { 20 | const parsed = path.parse(inputPath) 21 | return parsed.ext 22 | } 23 | -------------------------------------------------------------------------------- /src/lib/vscode-utils.ts: -------------------------------------------------------------------------------- 1 | import * as vscode from 'vscode' 2 | 3 | export async function openFileInEditor(path: string) { 4 | let document: vscode.TextDocument 5 | try { 6 | document = await vscode.workspace.openTextDocument(path) 7 | } catch { 8 | const untitledDocument = await vscode.workspace.openTextDocument( 9 | vscode.Uri.file(path).with({ scheme: 'untitled' }), 10 | ) 11 | // Wacky workaround, see https://github.com/microsoft/vscode/issues/25729 12 | await untitledDocument.save() 13 | document = await vscode.workspace.openTextDocument(path) 14 | } 15 | await vscode.window.showTextDocument(document) 16 | // We know there is an active editor, we just opened one 17 | // eslint-disable-next-line @typescript-eslint/no-non-null-assertion 18 | return vscode.window.activeTextEditor! 19 | } 20 | 21 | export function endOfFile(editor: vscode.TextEditor) { 22 | const line = editor.document.lineAt(editor.document.lineCount - 1) 23 | return line.range.end 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es2015", 5 | "outDir": "out", 6 | "sourceMap": true, 7 | "rootDir": "src", 8 | /* Strict Type-Checking Option */ 9 | "strict": true /* enable all strict type-checking options */, 10 | /* Additional Checks */ 11 | "noUnusedLocals": false /* Report errors on unused locals. */, 12 | "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, 13 | "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */ 14 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 15 | }, 16 | "exclude": ["node_modules", ".vscode-test"] 17 | } 18 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.2.0" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": 14 | version "7.8.3" 15 | resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" 16 | integrity sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4= 17 | dependencies: 18 | "@babel/highlight" "^7.8.3" 19 | 20 | "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": 21 | version "7.18.6" 22 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 23 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 24 | dependencies: 25 | "@babel/highlight" "^7.18.6" 26 | 27 | "@babel/compat-data@^7.20.5": 28 | version "7.20.10" 29 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" 30 | integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== 31 | 32 | "@babel/core@^7.11.6", "@babel/core@^7.12.3": 33 | version "7.20.7" 34 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" 35 | integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== 36 | dependencies: 37 | "@ampproject/remapping" "^2.1.0" 38 | "@babel/code-frame" "^7.18.6" 39 | "@babel/generator" "^7.20.7" 40 | "@babel/helper-compilation-targets" "^7.20.7" 41 | "@babel/helper-module-transforms" "^7.20.7" 42 | "@babel/helpers" "^7.20.7" 43 | "@babel/parser" "^7.20.7" 44 | "@babel/template" "^7.20.7" 45 | "@babel/traverse" "^7.20.7" 46 | "@babel/types" "^7.20.7" 47 | convert-source-map "^1.7.0" 48 | debug "^4.1.0" 49 | gensync "^1.0.0-beta.2" 50 | json5 "^2.2.1" 51 | semver "^6.3.0" 52 | 53 | "@babel/generator@^7.20.7", "@babel/generator@^7.7.2": 54 | version "7.20.7" 55 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" 56 | integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== 57 | dependencies: 58 | "@babel/types" "^7.20.7" 59 | "@jridgewell/gen-mapping" "^0.3.2" 60 | jsesc "^2.5.1" 61 | 62 | "@babel/helper-compilation-targets@^7.20.7": 63 | version "7.20.7" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" 65 | integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== 66 | dependencies: 67 | "@babel/compat-data" "^7.20.5" 68 | "@babel/helper-validator-option" "^7.18.6" 69 | browserslist "^4.21.3" 70 | lru-cache "^5.1.1" 71 | semver "^6.3.0" 72 | 73 | "@babel/helper-environment-visitor@^7.18.9": 74 | version "7.18.9" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 76 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 77 | 78 | "@babel/helper-function-name@^7.19.0": 79 | version "7.19.0" 80 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" 81 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== 82 | dependencies: 83 | "@babel/template" "^7.18.10" 84 | "@babel/types" "^7.19.0" 85 | 86 | "@babel/helper-hoist-variables@^7.18.6": 87 | version "7.18.6" 88 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 89 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 90 | dependencies: 91 | "@babel/types" "^7.18.6" 92 | 93 | "@babel/helper-module-imports@^7.18.6": 94 | version "7.18.6" 95 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 96 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 97 | dependencies: 98 | "@babel/types" "^7.18.6" 99 | 100 | "@babel/helper-module-transforms@^7.20.7": 101 | version "7.20.11" 102 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" 103 | integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== 104 | dependencies: 105 | "@babel/helper-environment-visitor" "^7.18.9" 106 | "@babel/helper-module-imports" "^7.18.6" 107 | "@babel/helper-simple-access" "^7.20.2" 108 | "@babel/helper-split-export-declaration" "^7.18.6" 109 | "@babel/helper-validator-identifier" "^7.19.1" 110 | "@babel/template" "^7.20.7" 111 | "@babel/traverse" "^7.20.10" 112 | "@babel/types" "^7.20.7" 113 | 114 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": 115 | version "7.8.3" 116 | resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" 117 | integrity sha1-nqKTvhm6vA9S/4yoizTDYRsghnA= 118 | 119 | "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": 120 | version "7.20.2" 121 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" 122 | integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== 123 | 124 | "@babel/helper-simple-access@^7.20.2": 125 | version "7.20.2" 126 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" 127 | integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== 128 | dependencies: 129 | "@babel/types" "^7.20.2" 130 | 131 | "@babel/helper-split-export-declaration@^7.18.6": 132 | version "7.18.6" 133 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 134 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 135 | dependencies: 136 | "@babel/types" "^7.18.6" 137 | 138 | "@babel/helper-string-parser@^7.19.4": 139 | version "7.19.4" 140 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" 141 | integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== 142 | 143 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": 144 | version "7.19.1" 145 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 146 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 147 | 148 | "@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": 149 | version "7.9.5" 150 | resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" 151 | integrity sha1-kJd6jm+/a0MafcMXUu7iM78FLYA= 152 | 153 | "@babel/helper-validator-option@^7.18.6": 154 | version "7.18.6" 155 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 156 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 157 | 158 | "@babel/helpers@^7.20.7": 159 | version "7.20.7" 160 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" 161 | integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== 162 | dependencies: 163 | "@babel/template" "^7.20.7" 164 | "@babel/traverse" "^7.20.7" 165 | "@babel/types" "^7.20.7" 166 | 167 | "@babel/highlight@^7.18.6": 168 | version "7.18.6" 169 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 170 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 171 | dependencies: 172 | "@babel/helper-validator-identifier" "^7.18.6" 173 | chalk "^2.0.0" 174 | js-tokens "^4.0.0" 175 | 176 | "@babel/highlight@^7.8.3": 177 | version "7.9.0" 178 | resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" 179 | integrity sha1-TptFzLgreWBycbKXmtgse2gWMHk= 180 | dependencies: 181 | "@babel/helper-validator-identifier" "^7.9.0" 182 | chalk "^2.0.0" 183 | js-tokens "^4.0.0" 184 | 185 | "@babel/parser@^7.1.0", "@babel/parser@^7.8.6": 186 | version "7.9.6" 187 | resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" 188 | integrity sha1-Oxu7MNq+YAzXLbWHIJmDdv9lO8c= 189 | 190 | "@babel/parser@^7.14.7", "@babel/parser@^7.20.7": 191 | version "7.20.7" 192 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" 193 | integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== 194 | 195 | "@babel/plugin-syntax-async-generators@^7.8.4": 196 | version "7.8.4" 197 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz?cache=0&sync_timestamp=1578951201180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-async-generators%2Fdownload%2F%40babel%2Fplugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 198 | integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= 199 | dependencies: 200 | "@babel/helper-plugin-utils" "^7.8.0" 201 | 202 | "@babel/plugin-syntax-bigint@^7.8.3": 203 | version "7.8.3" 204 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-bigint/download/@babel/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" 205 | integrity sha1-TJpvZp9dDN8bkKFnHpoUa+UwDOo= 206 | dependencies: 207 | "@babel/helper-plugin-utils" "^7.8.0" 208 | 209 | "@babel/plugin-syntax-class-properties@^7.8.3": 210 | version "7.8.3" 211 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7" 212 | integrity sha1-bLkzqIcsjTWb/eabvqrlFi/R6Pc= 213 | dependencies: 214 | "@babel/helper-plugin-utils" "^7.8.3" 215 | 216 | "@babel/plugin-syntax-import-meta@^7.8.3": 217 | version "7.10.4" 218 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 219 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 220 | dependencies: 221 | "@babel/helper-plugin-utils" "^7.10.4" 222 | 223 | "@babel/plugin-syntax-json-strings@^7.8.3": 224 | version "7.8.3" 225 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 226 | integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= 227 | dependencies: 228 | "@babel/helper-plugin-utils" "^7.8.0" 229 | 230 | "@babel/plugin-syntax-jsx@^7.7.2": 231 | version "7.18.6" 232 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" 233 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== 234 | dependencies: 235 | "@babel/helper-plugin-utils" "^7.18.6" 236 | 237 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 238 | version "7.8.3" 239 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897" 240 | integrity sha1-OZXX1///Qy9t3HQrR+cwwFRZmJc= 241 | dependencies: 242 | "@babel/helper-plugin-utils" "^7.8.3" 243 | 244 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 245 | version "7.8.3" 246 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 247 | integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= 248 | dependencies: 249 | "@babel/helper-plugin-utils" "^7.8.0" 250 | 251 | "@babel/plugin-syntax-numeric-separator@^7.8.3": 252 | version "7.8.3" 253 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" 254 | integrity sha1-Dj+2Pgm+obEelkZyccgwgAfnxB8= 255 | dependencies: 256 | "@babel/helper-plugin-utils" "^7.8.3" 257 | 258 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 259 | version "7.8.3" 260 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 261 | integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= 262 | dependencies: 263 | "@babel/helper-plugin-utils" "^7.8.0" 264 | 265 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 266 | version "7.8.3" 267 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 268 | integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= 269 | dependencies: 270 | "@babel/helper-plugin-utils" "^7.8.0" 271 | 272 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 273 | version "7.8.3" 274 | resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz?cache=0&sync_timestamp=1578952225502&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-optional-chaining%2Fdownload%2F%40babel%2Fplugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 275 | integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= 276 | dependencies: 277 | "@babel/helper-plugin-utils" "^7.8.0" 278 | 279 | "@babel/plugin-syntax-top-level-await@^7.8.3": 280 | version "7.14.5" 281 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 282 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 283 | dependencies: 284 | "@babel/helper-plugin-utils" "^7.14.5" 285 | 286 | "@babel/plugin-syntax-typescript@^7.7.2": 287 | version "7.20.0" 288 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" 289 | integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== 290 | dependencies: 291 | "@babel/helper-plugin-utils" "^7.19.0" 292 | 293 | "@babel/template@^7.18.10", "@babel/template@^7.20.7": 294 | version "7.20.7" 295 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" 296 | integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== 297 | dependencies: 298 | "@babel/code-frame" "^7.18.6" 299 | "@babel/parser" "^7.20.7" 300 | "@babel/types" "^7.20.7" 301 | 302 | "@babel/template@^7.3.3": 303 | version "7.8.6" 304 | resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" 305 | integrity sha1-hrIq8V+CjfsIZHT5ZNzD45xDzis= 306 | dependencies: 307 | "@babel/code-frame" "^7.8.3" 308 | "@babel/parser" "^7.8.6" 309 | "@babel/types" "^7.8.6" 310 | 311 | "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": 312 | version "7.20.10" 313 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" 314 | integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== 315 | dependencies: 316 | "@babel/code-frame" "^7.18.6" 317 | "@babel/generator" "^7.20.7" 318 | "@babel/helper-environment-visitor" "^7.18.9" 319 | "@babel/helper-function-name" "^7.19.0" 320 | "@babel/helper-hoist-variables" "^7.18.6" 321 | "@babel/helper-split-export-declaration" "^7.18.6" 322 | "@babel/parser" "^7.20.7" 323 | "@babel/types" "^7.20.7" 324 | debug "^4.1.0" 325 | globals "^11.1.0" 326 | 327 | "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.8.6": 328 | version "7.9.6" 329 | resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" 330 | integrity sha1-LFUCtCclHp3hvS3/la3WRtlcyfc= 331 | dependencies: 332 | "@babel/helper-validator-identifier" "^7.9.5" 333 | lodash "^4.17.13" 334 | to-fast-properties "^2.0.0" 335 | 336 | "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": 337 | version "7.20.7" 338 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" 339 | integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== 340 | dependencies: 341 | "@babel/helper-string-parser" "^7.19.4" 342 | "@babel/helper-validator-identifier" "^7.19.1" 343 | to-fast-properties "^2.0.0" 344 | 345 | "@bcoe/v8-coverage@^0.2.3": 346 | version "0.2.3" 347 | resolved "https://registry.npm.taobao.org/@bcoe/v8-coverage/download/@bcoe/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 348 | integrity sha1-daLotRy3WKdVPWgEpZMteqznXDk= 349 | 350 | "@eslint/eslintrc@^1.4.0": 351 | version "1.4.0" 352 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.0.tgz#8ec64e0df3e7a1971ee1ff5158da87389f167a63" 353 | integrity sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A== 354 | dependencies: 355 | ajv "^6.12.4" 356 | debug "^4.3.2" 357 | espree "^9.4.0" 358 | globals "^13.19.0" 359 | ignore "^5.2.0" 360 | import-fresh "^3.2.1" 361 | js-yaml "^4.1.0" 362 | minimatch "^3.1.2" 363 | strip-json-comments "^3.1.1" 364 | 365 | "@humanwhocodes/config-array@^0.11.8": 366 | version "0.11.8" 367 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" 368 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== 369 | dependencies: 370 | "@humanwhocodes/object-schema" "^1.2.1" 371 | debug "^4.1.1" 372 | minimatch "^3.0.5" 373 | 374 | "@humanwhocodes/module-importer@^1.0.1": 375 | version "1.0.1" 376 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 377 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 378 | 379 | "@humanwhocodes/object-schema@^1.2.1": 380 | version "1.2.1" 381 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 382 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 383 | 384 | "@istanbuljs/load-nyc-config@^1.0.0": 385 | version "1.0.0" 386 | resolved "https://registry.npm.taobao.org/@istanbuljs/load-nyc-config/download/@istanbuljs/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" 387 | integrity sha1-EGAt5VcLrqgvivv6JjCyTnqM/ls= 388 | dependencies: 389 | camelcase "^5.3.1" 390 | find-up "^4.1.0" 391 | js-yaml "^3.13.1" 392 | resolve-from "^5.0.0" 393 | 394 | "@istanbuljs/schema@^0.1.2": 395 | version "0.1.2" 396 | resolved "https://registry.npm.taobao.org/@istanbuljs/schema/download/@istanbuljs/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" 397 | integrity sha1-JlIL8Jq+SlZEzVQU43ElqJVCQd0= 398 | 399 | "@jest/console@^29.3.1": 400 | version "29.3.1" 401 | resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583" 402 | integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg== 403 | dependencies: 404 | "@jest/types" "^29.3.1" 405 | "@types/node" "*" 406 | chalk "^4.0.0" 407 | jest-message-util "^29.3.1" 408 | jest-util "^29.3.1" 409 | slash "^3.0.0" 410 | 411 | "@jest/core@^29.3.1": 412 | version "29.3.1" 413 | resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1" 414 | integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw== 415 | dependencies: 416 | "@jest/console" "^29.3.1" 417 | "@jest/reporters" "^29.3.1" 418 | "@jest/test-result" "^29.3.1" 419 | "@jest/transform" "^29.3.1" 420 | "@jest/types" "^29.3.1" 421 | "@types/node" "*" 422 | ansi-escapes "^4.2.1" 423 | chalk "^4.0.0" 424 | ci-info "^3.2.0" 425 | exit "^0.1.2" 426 | graceful-fs "^4.2.9" 427 | jest-changed-files "^29.2.0" 428 | jest-config "^29.3.1" 429 | jest-haste-map "^29.3.1" 430 | jest-message-util "^29.3.1" 431 | jest-regex-util "^29.2.0" 432 | jest-resolve "^29.3.1" 433 | jest-resolve-dependencies "^29.3.1" 434 | jest-runner "^29.3.1" 435 | jest-runtime "^29.3.1" 436 | jest-snapshot "^29.3.1" 437 | jest-util "^29.3.1" 438 | jest-validate "^29.3.1" 439 | jest-watcher "^29.3.1" 440 | micromatch "^4.0.4" 441 | pretty-format "^29.3.1" 442 | slash "^3.0.0" 443 | strip-ansi "^6.0.0" 444 | 445 | "@jest/environment@^29.3.1": 446 | version "29.3.1" 447 | resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6" 448 | integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag== 449 | dependencies: 450 | "@jest/fake-timers" "^29.3.1" 451 | "@jest/types" "^29.3.1" 452 | "@types/node" "*" 453 | jest-mock "^29.3.1" 454 | 455 | "@jest/expect-utils@^29.3.1": 456 | version "29.3.1" 457 | resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6" 458 | integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== 459 | dependencies: 460 | jest-get-type "^29.2.0" 461 | 462 | "@jest/expect@^29.3.1": 463 | version "29.3.1" 464 | resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd" 465 | integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg== 466 | dependencies: 467 | expect "^29.3.1" 468 | jest-snapshot "^29.3.1" 469 | 470 | "@jest/fake-timers@^29.3.1": 471 | version "29.3.1" 472 | resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67" 473 | integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A== 474 | dependencies: 475 | "@jest/types" "^29.3.1" 476 | "@sinonjs/fake-timers" "^9.1.2" 477 | "@types/node" "*" 478 | jest-message-util "^29.3.1" 479 | jest-mock "^29.3.1" 480 | jest-util "^29.3.1" 481 | 482 | "@jest/globals@^29.3.1": 483 | version "29.3.1" 484 | resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6" 485 | integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q== 486 | dependencies: 487 | "@jest/environment" "^29.3.1" 488 | "@jest/expect" "^29.3.1" 489 | "@jest/types" "^29.3.1" 490 | jest-mock "^29.3.1" 491 | 492 | "@jest/reporters@^29.3.1": 493 | version "29.3.1" 494 | resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310" 495 | integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA== 496 | dependencies: 497 | "@bcoe/v8-coverage" "^0.2.3" 498 | "@jest/console" "^29.3.1" 499 | "@jest/test-result" "^29.3.1" 500 | "@jest/transform" "^29.3.1" 501 | "@jest/types" "^29.3.1" 502 | "@jridgewell/trace-mapping" "^0.3.15" 503 | "@types/node" "*" 504 | chalk "^4.0.0" 505 | collect-v8-coverage "^1.0.0" 506 | exit "^0.1.2" 507 | glob "^7.1.3" 508 | graceful-fs "^4.2.9" 509 | istanbul-lib-coverage "^3.0.0" 510 | istanbul-lib-instrument "^5.1.0" 511 | istanbul-lib-report "^3.0.0" 512 | istanbul-lib-source-maps "^4.0.0" 513 | istanbul-reports "^3.1.3" 514 | jest-message-util "^29.3.1" 515 | jest-util "^29.3.1" 516 | jest-worker "^29.3.1" 517 | slash "^3.0.0" 518 | string-length "^4.0.1" 519 | strip-ansi "^6.0.0" 520 | v8-to-istanbul "^9.0.1" 521 | 522 | "@jest/schemas@^29.0.0": 523 | version "29.0.0" 524 | resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" 525 | integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== 526 | dependencies: 527 | "@sinclair/typebox" "^0.24.1" 528 | 529 | "@jest/source-map@^29.2.0": 530 | version "29.2.0" 531 | resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" 532 | integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== 533 | dependencies: 534 | "@jridgewell/trace-mapping" "^0.3.15" 535 | callsites "^3.0.0" 536 | graceful-fs "^4.2.9" 537 | 538 | "@jest/test-result@^29.3.1": 539 | version "29.3.1" 540 | resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50" 541 | integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw== 542 | dependencies: 543 | "@jest/console" "^29.3.1" 544 | "@jest/types" "^29.3.1" 545 | "@types/istanbul-lib-coverage" "^2.0.0" 546 | collect-v8-coverage "^1.0.0" 547 | 548 | "@jest/test-sequencer@^29.3.1": 549 | version "29.3.1" 550 | resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d" 551 | integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA== 552 | dependencies: 553 | "@jest/test-result" "^29.3.1" 554 | graceful-fs "^4.2.9" 555 | jest-haste-map "^29.3.1" 556 | slash "^3.0.0" 557 | 558 | "@jest/transform@^29.3.1": 559 | version "29.3.1" 560 | resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d" 561 | integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug== 562 | dependencies: 563 | "@babel/core" "^7.11.6" 564 | "@jest/types" "^29.3.1" 565 | "@jridgewell/trace-mapping" "^0.3.15" 566 | babel-plugin-istanbul "^6.1.1" 567 | chalk "^4.0.0" 568 | convert-source-map "^2.0.0" 569 | fast-json-stable-stringify "^2.1.0" 570 | graceful-fs "^4.2.9" 571 | jest-haste-map "^29.3.1" 572 | jest-regex-util "^29.2.0" 573 | jest-util "^29.3.1" 574 | micromatch "^4.0.4" 575 | pirates "^4.0.4" 576 | slash "^3.0.0" 577 | write-file-atomic "^4.0.1" 578 | 579 | "@jest/types@^29.3.1": 580 | version "29.3.1" 581 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3" 582 | integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== 583 | dependencies: 584 | "@jest/schemas" "^29.0.0" 585 | "@types/istanbul-lib-coverage" "^2.0.0" 586 | "@types/istanbul-reports" "^3.0.0" 587 | "@types/node" "*" 588 | "@types/yargs" "^17.0.8" 589 | chalk "^4.0.0" 590 | 591 | "@jridgewell/gen-mapping@^0.1.0": 592 | version "0.1.1" 593 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 594 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 595 | dependencies: 596 | "@jridgewell/set-array" "^1.0.0" 597 | "@jridgewell/sourcemap-codec" "^1.4.10" 598 | 599 | "@jridgewell/gen-mapping@^0.3.2": 600 | version "0.3.2" 601 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 602 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 603 | dependencies: 604 | "@jridgewell/set-array" "^1.0.1" 605 | "@jridgewell/sourcemap-codec" "^1.4.10" 606 | "@jridgewell/trace-mapping" "^0.3.9" 607 | 608 | "@jridgewell/resolve-uri@3.1.0": 609 | version "3.1.0" 610 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 611 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 612 | 613 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 614 | version "1.1.2" 615 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 616 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 617 | 618 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": 619 | version "1.4.14" 620 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 621 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 622 | 623 | "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": 624 | version "0.3.17" 625 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 626 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 627 | dependencies: 628 | "@jridgewell/resolve-uri" "3.1.0" 629 | "@jridgewell/sourcemap-codec" "1.4.14" 630 | 631 | "@nodelib/fs.scandir@2.1.5": 632 | version "2.1.5" 633 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 634 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 635 | dependencies: 636 | "@nodelib/fs.stat" "2.0.5" 637 | run-parallel "^1.1.9" 638 | 639 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 640 | version "2.0.5" 641 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 642 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 643 | 644 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 645 | version "1.2.8" 646 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 647 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 648 | dependencies: 649 | "@nodelib/fs.scandir" "2.1.5" 650 | fastq "^1.6.0" 651 | 652 | "@sinclair/typebox@^0.24.1": 653 | version "0.24.51" 654 | resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" 655 | integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== 656 | 657 | "@sinonjs/commons@^1.7.0": 658 | version "1.7.2" 659 | resolved "https://registry.npm.taobao.org/@sinonjs/commons/download/@sinonjs/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2" 660 | integrity sha1-UF9Vx04CcrQ/bFLYGUa+1wWPwOI= 661 | dependencies: 662 | type-detect "4.0.8" 663 | 664 | "@sinonjs/fake-timers@^9.1.2": 665 | version "9.1.2" 666 | resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" 667 | integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== 668 | dependencies: 669 | "@sinonjs/commons" "^1.7.0" 670 | 671 | "@tootallnate/once@1": 672 | version "1.1.2" 673 | resolved "https://registry.npm.taobao.org/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" 674 | integrity sha1-zLkURTYBeaBOf+av94wA/8Hur4I= 675 | 676 | "@types/babel__core@^7.1.14": 677 | version "7.1.20" 678 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" 679 | integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== 680 | dependencies: 681 | "@babel/parser" "^7.1.0" 682 | "@babel/types" "^7.0.0" 683 | "@types/babel__generator" "*" 684 | "@types/babel__template" "*" 685 | "@types/babel__traverse" "*" 686 | 687 | "@types/babel__generator@*": 688 | version "7.6.1" 689 | resolved "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.1.tgz?cache=0&sync_timestamp=1588199664093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__generator%2Fdownload%2F%40types%2Fbabel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" 690 | integrity sha1-SQF2ezl+hxGuuZ3405bXunt/DgQ= 691 | dependencies: 692 | "@babel/types" "^7.0.0" 693 | 694 | "@types/babel__template@*": 695 | version "7.0.2" 696 | resolved "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.0.2.tgz?cache=0&sync_timestamp=1588199666194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__template%2Fdownload%2F%40types%2Fbabel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" 697 | integrity sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc= 698 | dependencies: 699 | "@babel/parser" "^7.1.0" 700 | "@babel/types" "^7.0.0" 701 | 702 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": 703 | version "7.0.11" 704 | resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.11.tgz#1ae3010e8bf8851d324878b42acec71986486d18" 705 | integrity sha1-GuMBDov4hR0ySHi0Ks7HGYZIbRg= 706 | dependencies: 707 | "@babel/types" "^7.3.0" 708 | 709 | "@types/babel__traverse@^7.18.3": 710 | version "7.18.3" 711 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" 712 | integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== 713 | dependencies: 714 | "@babel/types" "^7.3.0" 715 | 716 | "@types/color-name@^1.1.1": 717 | version "1.1.1" 718 | resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1588199606687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" 719 | integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= 720 | 721 | "@types/graceful-fs@^4.1.3": 722 | version "4.1.5" 723 | resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" 724 | integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== 725 | dependencies: 726 | "@types/node" "*" 727 | 728 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 729 | version "2.0.2" 730 | resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5" 731 | integrity sha1-edeni61CGfTAPWVXocctnKa6YtU= 732 | 733 | "@types/istanbul-lib-report@*": 734 | version "3.0.0" 735 | resolved "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz?cache=0&sync_timestamp=1588227930185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-lib-report%2Fdownload%2F%40types%2Fistanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 736 | integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= 737 | dependencies: 738 | "@types/istanbul-lib-coverage" "*" 739 | 740 | "@types/istanbul-reports@^3.0.0": 741 | version "3.0.1" 742 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" 743 | integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== 744 | dependencies: 745 | "@types/istanbul-lib-report" "*" 746 | 747 | "@types/jest@^29.2.4": 748 | version "29.2.4" 749 | resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.2.4.tgz#9c155c4b81c9570dbd183eb8604aa0ae80ba5a5b" 750 | integrity sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A== 751 | dependencies: 752 | expect "^29.0.0" 753 | pretty-format "^29.0.0" 754 | 755 | "@types/json-schema@^7.0.9": 756 | version "7.0.11" 757 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 758 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 759 | 760 | "@types/node@*": 761 | version "14.0.1" 762 | resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c" 763 | integrity sha1-XZPgoJnNCs1e89W948CG4fSf9ow= 764 | 765 | "@types/prettier@^2.1.5": 766 | version "2.7.2" 767 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" 768 | integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== 769 | 770 | "@types/semver@^7.3.12": 771 | version "7.3.13" 772 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" 773 | integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== 774 | 775 | "@types/stack-utils@^2.0.0": 776 | version "2.0.1" 777 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" 778 | integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== 779 | 780 | "@types/yargs-parser@*": 781 | version "15.0.0" 782 | resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz?cache=0&sync_timestamp=1588203262235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" 783 | integrity sha1-yz+fdBhp4gzOMw/765JxWQSDiC0= 784 | 785 | "@types/yargs@^17.0.8": 786 | version "17.0.18" 787 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.18.tgz#466225ab4fbabb9aa711f5b406796daf1374a5b7" 788 | integrity sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw== 789 | dependencies: 790 | "@types/yargs-parser" "*" 791 | 792 | "@typescript-eslint/eslint-plugin@^5.47.1": 793 | version "5.47.1" 794 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.1.tgz#50cc5085578a7fa22cd46a0806c2e5eae858af02" 795 | integrity sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg== 796 | dependencies: 797 | "@typescript-eslint/scope-manager" "5.47.1" 798 | "@typescript-eslint/type-utils" "5.47.1" 799 | "@typescript-eslint/utils" "5.47.1" 800 | debug "^4.3.4" 801 | ignore "^5.2.0" 802 | natural-compare-lite "^1.4.0" 803 | regexpp "^3.2.0" 804 | semver "^7.3.7" 805 | tsutils "^3.21.0" 806 | 807 | "@typescript-eslint/parser@^5.47.1": 808 | version "5.47.1" 809 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.47.1.tgz#c4bf16f8c3c7608ce4bf8ff804b677fc899f173f" 810 | integrity sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw== 811 | dependencies: 812 | "@typescript-eslint/scope-manager" "5.47.1" 813 | "@typescript-eslint/types" "5.47.1" 814 | "@typescript-eslint/typescript-estree" "5.47.1" 815 | debug "^4.3.4" 816 | 817 | "@typescript-eslint/scope-manager@5.47.1": 818 | version "5.47.1" 819 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz#0d302b3c2f20ab24e4787bf3f5a0d8c449b823bd" 820 | integrity sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw== 821 | dependencies: 822 | "@typescript-eslint/types" "5.47.1" 823 | "@typescript-eslint/visitor-keys" "5.47.1" 824 | 825 | "@typescript-eslint/type-utils@5.47.1": 826 | version "5.47.1" 827 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.47.1.tgz#aee13314f840ab336c1adb49a300856fd16d04ce" 828 | integrity sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w== 829 | dependencies: 830 | "@typescript-eslint/typescript-estree" "5.47.1" 831 | "@typescript-eslint/utils" "5.47.1" 832 | debug "^4.3.4" 833 | tsutils "^3.21.0" 834 | 835 | "@typescript-eslint/types@5.47.1": 836 | version "5.47.1" 837 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.47.1.tgz#459f07428aec5a8c4113706293c2ae876741ac8e" 838 | integrity sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A== 839 | 840 | "@typescript-eslint/typescript-estree@5.47.1": 841 | version "5.47.1" 842 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz#b9d8441308aca53df7f69b2c67a887b82c9ed418" 843 | integrity sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA== 844 | dependencies: 845 | "@typescript-eslint/types" "5.47.1" 846 | "@typescript-eslint/visitor-keys" "5.47.1" 847 | debug "^4.3.4" 848 | globby "^11.1.0" 849 | is-glob "^4.0.3" 850 | semver "^7.3.7" 851 | tsutils "^3.21.0" 852 | 853 | "@typescript-eslint/utils@5.47.1": 854 | version "5.47.1" 855 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.47.1.tgz#595f25ac06e9ee28c339fd43c709402820b13d7b" 856 | integrity sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw== 857 | dependencies: 858 | "@types/json-schema" "^7.0.9" 859 | "@types/semver" "^7.3.12" 860 | "@typescript-eslint/scope-manager" "5.47.1" 861 | "@typescript-eslint/types" "5.47.1" 862 | "@typescript-eslint/typescript-estree" "5.47.1" 863 | eslint-scope "^5.1.1" 864 | eslint-utils "^3.0.0" 865 | semver "^7.3.7" 866 | 867 | "@typescript-eslint/visitor-keys@5.47.1": 868 | version "5.47.1" 869 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz#d35c2da544dbb685db9c5b5b85adac0a1d74d1f2" 870 | integrity sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig== 871 | dependencies: 872 | "@typescript-eslint/types" "5.47.1" 873 | eslint-visitor-keys "^3.3.0" 874 | 875 | acorn-jsx@^5.3.2: 876 | version "5.3.2" 877 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 878 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 879 | 880 | acorn@^8.8.0: 881 | version "8.8.1" 882 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" 883 | integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== 884 | 885 | agent-base@4, agent-base@^4.3.0: 886 | version "4.3.0" 887 | resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" 888 | integrity sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4= 889 | dependencies: 890 | es6-promisify "^5.0.0" 891 | 892 | agent-base@6: 893 | version "6.0.0" 894 | resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-6.0.0.tgz#5d0101f19bbfaed39980b22ae866de153b93f09a" 895 | integrity sha1-XQEB8Zu/rtOZgLIq6GbeFTuT8Jo= 896 | dependencies: 897 | debug "4" 898 | 899 | ajv@^6.10.0, ajv@^6.12.4: 900 | version "6.12.6" 901 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 902 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 903 | dependencies: 904 | fast-deep-equal "^3.1.1" 905 | fast-json-stable-stringify "^2.0.0" 906 | json-schema-traverse "^0.4.1" 907 | uri-js "^4.2.2" 908 | 909 | ansi-escapes@^4.2.1: 910 | version "4.3.1" 911 | resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" 912 | integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= 913 | dependencies: 914 | type-fest "^0.11.0" 915 | 916 | ansi-regex@^5.0.0: 917 | version "5.0.0" 918 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 919 | integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= 920 | 921 | ansi-regex@^5.0.1: 922 | version "5.0.1" 923 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 924 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 925 | 926 | ansi-styles@^3.2.1: 927 | version "3.2.1" 928 | resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 929 | integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= 930 | dependencies: 931 | color-convert "^1.9.0" 932 | 933 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 934 | version "4.2.1" 935 | resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" 936 | integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= 937 | dependencies: 938 | "@types/color-name" "^1.1.1" 939 | color-convert "^2.0.1" 940 | 941 | ansi-styles@^5.0.0: 942 | version "5.2.0" 943 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 944 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 945 | 946 | anymatch@^3.0.3: 947 | version "3.1.1" 948 | resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 949 | integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= 950 | dependencies: 951 | normalize-path "^3.0.0" 952 | picomatch "^2.0.4" 953 | 954 | argparse@^1.0.7: 955 | version "1.0.10" 956 | resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 957 | integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= 958 | dependencies: 959 | sprintf-js "~1.0.2" 960 | 961 | argparse@^2.0.1: 962 | version "2.0.1" 963 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 964 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 965 | 966 | array-union@^2.1.0: 967 | version "2.1.0" 968 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 969 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 970 | 971 | babel-jest@^29.3.1: 972 | version "29.3.1" 973 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" 974 | integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== 975 | dependencies: 976 | "@jest/transform" "^29.3.1" 977 | "@types/babel__core" "^7.1.14" 978 | babel-plugin-istanbul "^6.1.1" 979 | babel-preset-jest "^29.2.0" 980 | chalk "^4.0.0" 981 | graceful-fs "^4.2.9" 982 | slash "^3.0.0" 983 | 984 | babel-plugin-istanbul@^6.1.1: 985 | version "6.1.1" 986 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" 987 | integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== 988 | dependencies: 989 | "@babel/helper-plugin-utils" "^7.0.0" 990 | "@istanbuljs/load-nyc-config" "^1.0.0" 991 | "@istanbuljs/schema" "^0.1.2" 992 | istanbul-lib-instrument "^5.0.4" 993 | test-exclude "^6.0.0" 994 | 995 | babel-plugin-jest-hoist@^29.2.0: 996 | version "29.2.0" 997 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094" 998 | integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== 999 | dependencies: 1000 | "@babel/template" "^7.3.3" 1001 | "@babel/types" "^7.3.3" 1002 | "@types/babel__core" "^7.1.14" 1003 | "@types/babel__traverse" "^7.0.6" 1004 | 1005 | babel-preset-current-node-syntax@^1.0.0: 1006 | version "1.0.1" 1007 | resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 1008 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 1009 | dependencies: 1010 | "@babel/plugin-syntax-async-generators" "^7.8.4" 1011 | "@babel/plugin-syntax-bigint" "^7.8.3" 1012 | "@babel/plugin-syntax-class-properties" "^7.8.3" 1013 | "@babel/plugin-syntax-import-meta" "^7.8.3" 1014 | "@babel/plugin-syntax-json-strings" "^7.8.3" 1015 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 1016 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 1017 | "@babel/plugin-syntax-numeric-separator" "^7.8.3" 1018 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 1019 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 1020 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 1021 | "@babel/plugin-syntax-top-level-await" "^7.8.3" 1022 | 1023 | babel-preset-jest@^29.2.0: 1024 | version "29.2.0" 1025 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc" 1026 | integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== 1027 | dependencies: 1028 | babel-plugin-jest-hoist "^29.2.0" 1029 | babel-preset-current-node-syntax "^1.0.0" 1030 | 1031 | balanced-match@^1.0.0: 1032 | version "1.0.0" 1033 | resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 1034 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 1035 | 1036 | brace-expansion@^1.1.7: 1037 | version "1.1.11" 1038 | resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 1039 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= 1040 | dependencies: 1041 | balanced-match "^1.0.0" 1042 | concat-map "0.0.1" 1043 | 1044 | braces@^3.0.2: 1045 | version "3.0.2" 1046 | resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 1047 | integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= 1048 | dependencies: 1049 | fill-range "^7.0.1" 1050 | 1051 | browser-stdout@1.3.1: 1052 | version "1.3.1" 1053 | resolved "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 1054 | integrity sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA= 1055 | 1056 | browserslist@^4.21.3: 1057 | version "4.21.4" 1058 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" 1059 | integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== 1060 | dependencies: 1061 | caniuse-lite "^1.0.30001400" 1062 | electron-to-chromium "^1.4.251" 1063 | node-releases "^2.0.6" 1064 | update-browserslist-db "^1.0.9" 1065 | 1066 | bs-logger@0.x: 1067 | version "0.2.6" 1068 | resolved "https://registry.npm.taobao.org/bs-logger/download/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" 1069 | integrity sha1-6302UwenLPl0zGzadraDVK0za9g= 1070 | dependencies: 1071 | fast-json-stable-stringify "2.x" 1072 | 1073 | bser@2.1.1: 1074 | version "2.1.1" 1075 | resolved "https://registry.npm.taobao.org/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" 1076 | integrity sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU= 1077 | dependencies: 1078 | node-int64 "^0.4.0" 1079 | 1080 | buffer-from@^1.0.0: 1081 | version "1.1.1" 1082 | resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 1083 | integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= 1084 | 1085 | callsites@^3.0.0: 1086 | version "3.1.0" 1087 | resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1088 | integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= 1089 | 1090 | camelcase@^5.3.1: 1091 | version "5.3.1" 1092 | resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 1093 | integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= 1094 | 1095 | camelcase@^6.2.0: 1096 | version "6.3.0" 1097 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 1098 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 1099 | 1100 | caniuse-lite@^1.0.30001400: 1101 | version "1.0.30001441" 1102 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" 1103 | integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== 1104 | 1105 | chalk@^2.0.0: 1106 | version "2.4.2" 1107 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1108 | integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= 1109 | dependencies: 1110 | ansi-styles "^3.2.1" 1111 | escape-string-regexp "^1.0.5" 1112 | supports-color "^5.3.0" 1113 | 1114 | chalk@^4.0.0: 1115 | version "4.0.0" 1116 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" 1117 | integrity sha1-bpgIHtLRf6q2FetSrGbsH+YgnnI= 1118 | dependencies: 1119 | ansi-styles "^4.1.0" 1120 | supports-color "^7.1.0" 1121 | 1122 | char-regex@^1.0.2: 1123 | version "1.0.2" 1124 | resolved "https://registry.npm.taobao.org/char-regex/download/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" 1125 | integrity sha1-10Q1giYhf5ge1Y9Hmx1rzClUXc8= 1126 | 1127 | ci-info@^3.2.0: 1128 | version "3.7.0" 1129 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.0.tgz#6d01b3696c59915b6ce057e4aa4adfc2fa25f5ef" 1130 | integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog== 1131 | 1132 | cjs-module-lexer@^1.0.0: 1133 | version "1.2.2" 1134 | resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" 1135 | integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== 1136 | 1137 | cliui@^8.0.1: 1138 | version "8.0.1" 1139 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" 1140 | integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== 1141 | dependencies: 1142 | string-width "^4.2.0" 1143 | strip-ansi "^6.0.1" 1144 | wrap-ansi "^7.0.0" 1145 | 1146 | co@^4.6.0: 1147 | version "4.6.0" 1148 | resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 1149 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 1150 | 1151 | collect-v8-coverage@^1.0.0: 1152 | version "1.0.1" 1153 | resolved "https://registry.npm.taobao.org/collect-v8-coverage/download/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 1154 | integrity sha1-zCyOlPwYu9/+ZNZTRXDIpnOyf1k= 1155 | 1156 | color-convert@^1.9.0: 1157 | version "1.9.3" 1158 | resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1159 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= 1160 | dependencies: 1161 | color-name "1.1.3" 1162 | 1163 | color-convert@^2.0.1: 1164 | version "2.0.1" 1165 | resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1166 | integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= 1167 | dependencies: 1168 | color-name "~1.1.4" 1169 | 1170 | color-name@1.1.3: 1171 | version "1.1.3" 1172 | resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1173 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 1174 | 1175 | color-name@~1.1.4: 1176 | version "1.1.4" 1177 | resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1178 | integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= 1179 | 1180 | commander@2.15.1: 1181 | version "2.15.1" 1182 | resolved "https://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz?cache=0&sync_timestamp=1587781596778&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" 1183 | integrity sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8= 1184 | 1185 | concat-map@0.0.1: 1186 | version "0.0.1" 1187 | resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1188 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 1189 | 1190 | convert-source-map@^1.6.0, convert-source-map@^1.7.0: 1191 | version "1.7.0" 1192 | resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 1193 | integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= 1194 | dependencies: 1195 | safe-buffer "~5.1.1" 1196 | 1197 | convert-source-map@^2.0.0: 1198 | version "2.0.0" 1199 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" 1200 | integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== 1201 | 1202 | cross-spawn@^7.0.2, cross-spawn@^7.0.3: 1203 | version "7.0.3" 1204 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1205 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1206 | dependencies: 1207 | path-key "^3.1.0" 1208 | shebang-command "^2.0.0" 1209 | which "^2.0.1" 1210 | 1211 | debug@3.1.0: 1212 | version "3.1.0" 1213 | resolved "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 1214 | integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= 1215 | dependencies: 1216 | ms "2.0.0" 1217 | 1218 | debug@4, debug@^4.1.0, debug@^4.1.1: 1219 | version "4.1.1" 1220 | resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 1221 | integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= 1222 | dependencies: 1223 | ms "^2.1.1" 1224 | 1225 | debug@^3.1.0: 1226 | version "3.2.6" 1227 | resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 1228 | integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= 1229 | dependencies: 1230 | ms "^2.1.1" 1231 | 1232 | debug@^4.3.2, debug@^4.3.4: 1233 | version "4.3.4" 1234 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1235 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1236 | dependencies: 1237 | ms "2.1.2" 1238 | 1239 | dedent@^0.7.0: 1240 | version "0.7.0" 1241 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 1242 | integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== 1243 | 1244 | deep-is@^0.1.3: 1245 | version "0.1.4" 1246 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 1247 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 1248 | 1249 | deepmerge@^4.2.2: 1250 | version "4.2.2" 1251 | resolved "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1252 | integrity sha1-RNLqNnm49NT/ujPwPYZfwee/SVU= 1253 | 1254 | detect-newline@^3.0.0: 1255 | version "3.1.0" 1256 | resolved "https://registry.npm.taobao.org/detect-newline/download/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1257 | integrity sha1-V29d/GOuGhkv8ZLYrTr2MImRtlE= 1258 | 1259 | diff-sequences@^29.3.1: 1260 | version "29.3.1" 1261 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" 1262 | integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== 1263 | 1264 | diff@3.5.0: 1265 | version "3.5.0" 1266 | resolved "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 1267 | integrity sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI= 1268 | 1269 | dir-glob@^3.0.1: 1270 | version "3.0.1" 1271 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1272 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1273 | dependencies: 1274 | path-type "^4.0.0" 1275 | 1276 | doctrine@^3.0.0: 1277 | version "3.0.0" 1278 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1279 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1280 | dependencies: 1281 | esutils "^2.0.2" 1282 | 1283 | electron-to-chromium@^1.4.251: 1284 | version "1.4.284" 1285 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" 1286 | integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== 1287 | 1288 | emittery@^0.13.1: 1289 | version "0.13.1" 1290 | resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" 1291 | integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== 1292 | 1293 | emoji-regex@^8.0.0: 1294 | version "8.0.0" 1295 | resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1296 | integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= 1297 | 1298 | error-ex@^1.3.1: 1299 | version "1.3.2" 1300 | resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1301 | integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= 1302 | dependencies: 1303 | is-arrayish "^0.2.1" 1304 | 1305 | es6-promise@^4.0.3: 1306 | version "4.2.8" 1307 | resolved "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" 1308 | integrity sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo= 1309 | 1310 | es6-promisify@^5.0.0: 1311 | version "5.0.0" 1312 | resolved "https://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" 1313 | integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= 1314 | dependencies: 1315 | es6-promise "^4.0.3" 1316 | 1317 | escalade@^3.1.1: 1318 | version "3.1.1" 1319 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1320 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1321 | 1322 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 1323 | version "1.0.5" 1324 | resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627212242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1325 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1326 | 1327 | escape-string-regexp@^2.0.0: 1328 | version "2.0.0" 1329 | resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1330 | integrity sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q= 1331 | 1332 | escape-string-regexp@^4.0.0: 1333 | version "4.0.0" 1334 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1335 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1336 | 1337 | eslint-scope@^5.1.1: 1338 | version "5.1.1" 1339 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 1340 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1341 | dependencies: 1342 | esrecurse "^4.3.0" 1343 | estraverse "^4.1.1" 1344 | 1345 | eslint-scope@^7.1.1: 1346 | version "7.1.1" 1347 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 1348 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 1349 | dependencies: 1350 | esrecurse "^4.3.0" 1351 | estraverse "^5.2.0" 1352 | 1353 | eslint-utils@^3.0.0: 1354 | version "3.0.0" 1355 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 1356 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 1357 | dependencies: 1358 | eslint-visitor-keys "^2.0.0" 1359 | 1360 | eslint-visitor-keys@^2.0.0: 1361 | version "2.1.0" 1362 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 1363 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 1364 | 1365 | eslint-visitor-keys@^3.3.0: 1366 | version "3.3.0" 1367 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 1368 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 1369 | 1370 | eslint@^8.30.0: 1371 | version "8.30.0" 1372 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.30.0.tgz#83a506125d089eef7c5b5910eeea824273a33f50" 1373 | integrity sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ== 1374 | dependencies: 1375 | "@eslint/eslintrc" "^1.4.0" 1376 | "@humanwhocodes/config-array" "^0.11.8" 1377 | "@humanwhocodes/module-importer" "^1.0.1" 1378 | "@nodelib/fs.walk" "^1.2.8" 1379 | ajv "^6.10.0" 1380 | chalk "^4.0.0" 1381 | cross-spawn "^7.0.2" 1382 | debug "^4.3.2" 1383 | doctrine "^3.0.0" 1384 | escape-string-regexp "^4.0.0" 1385 | eslint-scope "^7.1.1" 1386 | eslint-utils "^3.0.0" 1387 | eslint-visitor-keys "^3.3.0" 1388 | espree "^9.4.0" 1389 | esquery "^1.4.0" 1390 | esutils "^2.0.2" 1391 | fast-deep-equal "^3.1.3" 1392 | file-entry-cache "^6.0.1" 1393 | find-up "^5.0.0" 1394 | glob-parent "^6.0.2" 1395 | globals "^13.19.0" 1396 | grapheme-splitter "^1.0.4" 1397 | ignore "^5.2.0" 1398 | import-fresh "^3.0.0" 1399 | imurmurhash "^0.1.4" 1400 | is-glob "^4.0.0" 1401 | is-path-inside "^3.0.3" 1402 | js-sdsl "^4.1.4" 1403 | js-yaml "^4.1.0" 1404 | json-stable-stringify-without-jsonify "^1.0.1" 1405 | levn "^0.4.1" 1406 | lodash.merge "^4.6.2" 1407 | minimatch "^3.1.2" 1408 | natural-compare "^1.4.0" 1409 | optionator "^0.9.1" 1410 | regexpp "^3.2.0" 1411 | strip-ansi "^6.0.1" 1412 | strip-json-comments "^3.1.0" 1413 | text-table "^0.2.0" 1414 | 1415 | espree@^9.4.0: 1416 | version "9.4.1" 1417 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" 1418 | integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== 1419 | dependencies: 1420 | acorn "^8.8.0" 1421 | acorn-jsx "^5.3.2" 1422 | eslint-visitor-keys "^3.3.0" 1423 | 1424 | esprima@^4.0.0: 1425 | version "4.0.1" 1426 | resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1427 | integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= 1428 | 1429 | esquery@^1.4.0: 1430 | version "1.4.0" 1431 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 1432 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 1433 | dependencies: 1434 | estraverse "^5.1.0" 1435 | 1436 | esrecurse@^4.3.0: 1437 | version "4.3.0" 1438 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1439 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1440 | dependencies: 1441 | estraverse "^5.2.0" 1442 | 1443 | estraverse@^4.1.1: 1444 | version "4.3.0" 1445 | resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1446 | integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= 1447 | 1448 | estraverse@^5.1.0, estraverse@^5.2.0: 1449 | version "5.3.0" 1450 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1451 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1452 | 1453 | esutils@^2.0.2: 1454 | version "2.0.3" 1455 | resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1564535492241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1456 | integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= 1457 | 1458 | execa@^5.0.0: 1459 | version "5.1.1" 1460 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1461 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1462 | dependencies: 1463 | cross-spawn "^7.0.3" 1464 | get-stream "^6.0.0" 1465 | human-signals "^2.1.0" 1466 | is-stream "^2.0.0" 1467 | merge-stream "^2.0.0" 1468 | npm-run-path "^4.0.1" 1469 | onetime "^5.1.2" 1470 | signal-exit "^3.0.3" 1471 | strip-final-newline "^2.0.0" 1472 | 1473 | exit@^0.1.2: 1474 | version "0.1.2" 1475 | resolved "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1476 | integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 1477 | 1478 | expect@^29.0.0, expect@^29.3.1: 1479 | version "29.3.1" 1480 | resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6" 1481 | integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== 1482 | dependencies: 1483 | "@jest/expect-utils" "^29.3.1" 1484 | jest-get-type "^29.2.0" 1485 | jest-matcher-utils "^29.3.1" 1486 | jest-message-util "^29.3.1" 1487 | jest-util "^29.3.1" 1488 | 1489 | fast-deep-equal@^3.1.1: 1490 | version "3.1.1" 1491 | resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" 1492 | integrity sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ= 1493 | 1494 | fast-deep-equal@^3.1.3: 1495 | version "3.1.3" 1496 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1497 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1498 | 1499 | fast-glob@^3.2.9: 1500 | version "3.2.12" 1501 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 1502 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 1503 | dependencies: 1504 | "@nodelib/fs.stat" "^2.0.2" 1505 | "@nodelib/fs.walk" "^1.2.3" 1506 | glob-parent "^5.1.2" 1507 | merge2 "^1.3.0" 1508 | micromatch "^4.0.4" 1509 | 1510 | fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: 1511 | version "2.1.0" 1512 | resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576367703577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1513 | integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= 1514 | 1515 | fast-levenshtein@^2.0.6: 1516 | version "2.0.6" 1517 | resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1518 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1519 | 1520 | fastq@^1.6.0: 1521 | version "1.14.0" 1522 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" 1523 | integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== 1524 | dependencies: 1525 | reusify "^1.0.4" 1526 | 1527 | fb-watchman@^2.0.0: 1528 | version "2.0.1" 1529 | resolved "https://registry.npm.taobao.org/fb-watchman/download/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" 1530 | integrity sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU= 1531 | dependencies: 1532 | bser "2.1.1" 1533 | 1534 | file-entry-cache@^6.0.1: 1535 | version "6.0.1" 1536 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1537 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1538 | dependencies: 1539 | flat-cache "^3.0.4" 1540 | 1541 | fill-range@^7.0.1: 1542 | version "7.0.1" 1543 | resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1544 | integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= 1545 | dependencies: 1546 | to-regex-range "^5.0.1" 1547 | 1548 | find-up@^4.0.0, find-up@^4.1.0: 1549 | version "4.1.0" 1550 | resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1551 | integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= 1552 | dependencies: 1553 | locate-path "^5.0.0" 1554 | path-exists "^4.0.0" 1555 | 1556 | find-up@^5.0.0: 1557 | version "5.0.0" 1558 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1559 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1560 | dependencies: 1561 | locate-path "^6.0.0" 1562 | path-exists "^4.0.0" 1563 | 1564 | flat-cache@^3.0.4: 1565 | version "3.0.4" 1566 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1567 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1568 | dependencies: 1569 | flatted "^3.1.0" 1570 | rimraf "^3.0.2" 1571 | 1572 | flatted@^3.1.0: 1573 | version "3.2.7" 1574 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" 1575 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 1576 | 1577 | fs.realpath@^1.0.0: 1578 | version "1.0.0" 1579 | resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1580 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1581 | 1582 | fsevents@^2.3.2: 1583 | version "2.3.2" 1584 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1585 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1586 | 1587 | function-bind@^1.1.1: 1588 | version "1.1.1" 1589 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1590 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1591 | 1592 | gensync@^1.0.0-beta.2: 1593 | version "1.0.0-beta.2" 1594 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1595 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1596 | 1597 | get-caller-file@^2.0.5: 1598 | version "2.0.5" 1599 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1600 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1601 | 1602 | get-stream@^6.0.0: 1603 | version "6.0.1" 1604 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1605 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1606 | 1607 | glob-parent@^5.1.2: 1608 | version "5.1.2" 1609 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1610 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1611 | dependencies: 1612 | is-glob "^4.0.1" 1613 | 1614 | glob-parent@^6.0.2: 1615 | version "6.0.2" 1616 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1617 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1618 | dependencies: 1619 | is-glob "^4.0.3" 1620 | 1621 | glob@7.1.2: 1622 | version "7.1.2" 1623 | resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1624 | integrity sha1-wZyd+aAocC1nhhI4SmVSQExjbRU= 1625 | dependencies: 1626 | fs.realpath "^1.0.0" 1627 | inflight "^1.0.4" 1628 | inherits "2" 1629 | minimatch "^3.0.4" 1630 | once "^1.3.0" 1631 | path-is-absolute "^1.0.0" 1632 | 1633 | glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 1634 | version "7.1.6" 1635 | resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1636 | integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= 1637 | dependencies: 1638 | fs.realpath "^1.0.0" 1639 | inflight "^1.0.4" 1640 | inherits "2" 1641 | minimatch "^3.0.4" 1642 | once "^1.3.0" 1643 | path-is-absolute "^1.0.0" 1644 | 1645 | globals@^11.1.0: 1646 | version "11.12.0" 1647 | resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1648 | integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= 1649 | 1650 | globals@^13.19.0: 1651 | version "13.19.0" 1652 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" 1653 | integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== 1654 | dependencies: 1655 | type-fest "^0.20.2" 1656 | 1657 | globby@^11.1.0: 1658 | version "11.1.0" 1659 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1660 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1661 | dependencies: 1662 | array-union "^2.1.0" 1663 | dir-glob "^3.0.1" 1664 | fast-glob "^3.2.9" 1665 | ignore "^5.2.0" 1666 | merge2 "^1.4.1" 1667 | slash "^3.0.0" 1668 | 1669 | graceful-fs@^4.2.9: 1670 | version "4.2.10" 1671 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1672 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1673 | 1674 | grapheme-splitter@^1.0.4: 1675 | version "1.0.4" 1676 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" 1677 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== 1678 | 1679 | growl@1.10.5: 1680 | version "1.10.5" 1681 | resolved "https://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1682 | integrity sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4= 1683 | 1684 | has-flag@^3.0.0: 1685 | version "3.0.0" 1686 | resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1687 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1688 | 1689 | has-flag@^4.0.0: 1690 | version "4.0.0" 1691 | resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1692 | integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= 1693 | 1694 | has@^1.0.3: 1695 | version "1.0.3" 1696 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1697 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1698 | dependencies: 1699 | function-bind "^1.1.1" 1700 | 1701 | he@1.1.1: 1702 | version "1.1.1" 1703 | resolved "https://registry.npm.taobao.org/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 1704 | integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= 1705 | 1706 | html-escaper@^2.0.0: 1707 | version "2.0.2" 1708 | resolved "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1709 | integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= 1710 | 1711 | http-proxy-agent@^2.1.0: 1712 | version "2.1.0" 1713 | resolved "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" 1714 | integrity sha1-5IIb7vWyFCogJr1zkm/lN2McVAU= 1715 | dependencies: 1716 | agent-base "4" 1717 | debug "3.1.0" 1718 | 1719 | http-proxy-agent@^4.0.1: 1720 | version "4.0.1" 1721 | resolved "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 1722 | integrity sha1-ioyO9/WTLM+VPClsqCkblap0qjo= 1723 | dependencies: 1724 | "@tootallnate/once" "1" 1725 | agent-base "6" 1726 | debug "4" 1727 | 1728 | https-proxy-agent@^2.2.1: 1729 | version "2.2.4" 1730 | resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" 1731 | integrity sha1-TuenN6vZJniik9mzShr00NCMeHs= 1732 | dependencies: 1733 | agent-base "^4.3.0" 1734 | debug "^3.1.0" 1735 | 1736 | https-proxy-agent@^5.0.0: 1737 | version "5.0.0" 1738 | resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" 1739 | integrity sha1-4qkFQqu2inYuCghQ9sntrf2FBrI= 1740 | dependencies: 1741 | agent-base "6" 1742 | debug "4" 1743 | 1744 | human-signals@^2.1.0: 1745 | version "2.1.0" 1746 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 1747 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1748 | 1749 | ignore@^5.2.0: 1750 | version "5.2.4" 1751 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" 1752 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== 1753 | 1754 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1755 | version "3.3.0" 1756 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1757 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1758 | dependencies: 1759 | parent-module "^1.0.0" 1760 | resolve-from "^4.0.0" 1761 | 1762 | import-local@^3.0.2: 1763 | version "3.0.2" 1764 | resolved "https://registry.npm.taobao.org/import-local/download/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" 1765 | integrity sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY= 1766 | dependencies: 1767 | pkg-dir "^4.2.0" 1768 | resolve-cwd "^3.0.0" 1769 | 1770 | imurmurhash@^0.1.4: 1771 | version "0.1.4" 1772 | resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1773 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1774 | 1775 | inflight@^1.0.4: 1776 | version "1.0.6" 1777 | resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1778 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1779 | dependencies: 1780 | once "^1.3.0" 1781 | wrappy "1" 1782 | 1783 | inherits@2: 1784 | version "2.0.4" 1785 | resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1786 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= 1787 | 1788 | is-arrayish@^0.2.1: 1789 | version "0.2.1" 1790 | resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1791 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1792 | 1793 | is-core-module@^2.9.0: 1794 | version "2.11.0" 1795 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 1796 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 1797 | dependencies: 1798 | has "^1.0.3" 1799 | 1800 | is-extglob@^2.1.1: 1801 | version "2.1.1" 1802 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1803 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1804 | 1805 | is-fullwidth-code-point@^3.0.0: 1806 | version "3.0.0" 1807 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1808 | integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= 1809 | 1810 | is-generator-fn@^2.0.0: 1811 | version "2.1.0" 1812 | resolved "https://registry.npm.taobao.org/is-generator-fn/download/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" 1813 | integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= 1814 | 1815 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 1816 | version "4.0.3" 1817 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1818 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1819 | dependencies: 1820 | is-extglob "^2.1.1" 1821 | 1822 | is-number@^7.0.0: 1823 | version "7.0.0" 1824 | resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1825 | integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= 1826 | 1827 | is-path-inside@^3.0.3: 1828 | version "3.0.3" 1829 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1830 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1831 | 1832 | is-stream@^2.0.0: 1833 | version "2.0.0" 1834 | resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 1835 | integrity sha1-venDJoDW+uBBKdasnZIc54FfeOM= 1836 | 1837 | isexe@^2.0.0: 1838 | version "2.0.0" 1839 | resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1840 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1841 | 1842 | istanbul-lib-coverage@^3.0.0: 1843 | version "3.0.0" 1844 | resolved "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" 1845 | integrity sha1-9ZRKN8cLVQsCp4pcOyBVsoDOyOw= 1846 | 1847 | istanbul-lib-coverage@^3.2.0: 1848 | version "3.2.0" 1849 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" 1850 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== 1851 | 1852 | istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: 1853 | version "5.2.1" 1854 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" 1855 | integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== 1856 | dependencies: 1857 | "@babel/core" "^7.12.3" 1858 | "@babel/parser" "^7.14.7" 1859 | "@istanbuljs/schema" "^0.1.2" 1860 | istanbul-lib-coverage "^3.2.0" 1861 | semver "^6.3.0" 1862 | 1863 | istanbul-lib-report@^3.0.0: 1864 | version "3.0.0" 1865 | resolved "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1866 | integrity sha1-dRj+UupE3jcvRgp2tezan/tz2KY= 1867 | dependencies: 1868 | istanbul-lib-coverage "^3.0.0" 1869 | make-dir "^3.0.0" 1870 | supports-color "^7.1.0" 1871 | 1872 | istanbul-lib-source-maps@^4.0.0: 1873 | version "4.0.0" 1874 | resolved "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" 1875 | integrity sha1-dXQ85tlruG3H7kNSz2Nmoj8LGtk= 1876 | dependencies: 1877 | debug "^4.1.1" 1878 | istanbul-lib-coverage "^3.0.0" 1879 | source-map "^0.6.1" 1880 | 1881 | istanbul-reports@^3.1.3: 1882 | version "3.1.5" 1883 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" 1884 | integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== 1885 | dependencies: 1886 | html-escaper "^2.0.0" 1887 | istanbul-lib-report "^3.0.0" 1888 | 1889 | jest-changed-files@^29.2.0: 1890 | version "29.2.0" 1891 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289" 1892 | integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA== 1893 | dependencies: 1894 | execa "^5.0.0" 1895 | p-limit "^3.1.0" 1896 | 1897 | jest-circus@^29.3.1: 1898 | version "29.3.1" 1899 | resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a" 1900 | integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg== 1901 | dependencies: 1902 | "@jest/environment" "^29.3.1" 1903 | "@jest/expect" "^29.3.1" 1904 | "@jest/test-result" "^29.3.1" 1905 | "@jest/types" "^29.3.1" 1906 | "@types/node" "*" 1907 | chalk "^4.0.0" 1908 | co "^4.6.0" 1909 | dedent "^0.7.0" 1910 | is-generator-fn "^2.0.0" 1911 | jest-each "^29.3.1" 1912 | jest-matcher-utils "^29.3.1" 1913 | jest-message-util "^29.3.1" 1914 | jest-runtime "^29.3.1" 1915 | jest-snapshot "^29.3.1" 1916 | jest-util "^29.3.1" 1917 | p-limit "^3.1.0" 1918 | pretty-format "^29.3.1" 1919 | slash "^3.0.0" 1920 | stack-utils "^2.0.3" 1921 | 1922 | jest-cli@^29.3.1: 1923 | version "29.3.1" 1924 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d" 1925 | integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ== 1926 | dependencies: 1927 | "@jest/core" "^29.3.1" 1928 | "@jest/test-result" "^29.3.1" 1929 | "@jest/types" "^29.3.1" 1930 | chalk "^4.0.0" 1931 | exit "^0.1.2" 1932 | graceful-fs "^4.2.9" 1933 | import-local "^3.0.2" 1934 | jest-config "^29.3.1" 1935 | jest-util "^29.3.1" 1936 | jest-validate "^29.3.1" 1937 | prompts "^2.0.1" 1938 | yargs "^17.3.1" 1939 | 1940 | jest-config@^29.3.1: 1941 | version "29.3.1" 1942 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6" 1943 | integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg== 1944 | dependencies: 1945 | "@babel/core" "^7.11.6" 1946 | "@jest/test-sequencer" "^29.3.1" 1947 | "@jest/types" "^29.3.1" 1948 | babel-jest "^29.3.1" 1949 | chalk "^4.0.0" 1950 | ci-info "^3.2.0" 1951 | deepmerge "^4.2.2" 1952 | glob "^7.1.3" 1953 | graceful-fs "^4.2.9" 1954 | jest-circus "^29.3.1" 1955 | jest-environment-node "^29.3.1" 1956 | jest-get-type "^29.2.0" 1957 | jest-regex-util "^29.2.0" 1958 | jest-resolve "^29.3.1" 1959 | jest-runner "^29.3.1" 1960 | jest-util "^29.3.1" 1961 | jest-validate "^29.3.1" 1962 | micromatch "^4.0.4" 1963 | parse-json "^5.2.0" 1964 | pretty-format "^29.3.1" 1965 | slash "^3.0.0" 1966 | strip-json-comments "^3.1.1" 1967 | 1968 | jest-diff@^29.3.1: 1969 | version "29.3.1" 1970 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" 1971 | integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== 1972 | dependencies: 1973 | chalk "^4.0.0" 1974 | diff-sequences "^29.3.1" 1975 | jest-get-type "^29.2.0" 1976 | pretty-format "^29.3.1" 1977 | 1978 | jest-docblock@^29.2.0: 1979 | version "29.2.0" 1980 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82" 1981 | integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== 1982 | dependencies: 1983 | detect-newline "^3.0.0" 1984 | 1985 | jest-each@^29.3.1: 1986 | version "29.3.1" 1987 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132" 1988 | integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA== 1989 | dependencies: 1990 | "@jest/types" "^29.3.1" 1991 | chalk "^4.0.0" 1992 | jest-get-type "^29.2.0" 1993 | jest-util "^29.3.1" 1994 | pretty-format "^29.3.1" 1995 | 1996 | jest-environment-node@^29.3.1: 1997 | version "29.3.1" 1998 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74" 1999 | integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag== 2000 | dependencies: 2001 | "@jest/environment" "^29.3.1" 2002 | "@jest/fake-timers" "^29.3.1" 2003 | "@jest/types" "^29.3.1" 2004 | "@types/node" "*" 2005 | jest-mock "^29.3.1" 2006 | jest-util "^29.3.1" 2007 | 2008 | jest-get-type@^29.2.0: 2009 | version "29.2.0" 2010 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" 2011 | integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== 2012 | 2013 | jest-haste-map@^29.3.1: 2014 | version "29.3.1" 2015 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843" 2016 | integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A== 2017 | dependencies: 2018 | "@jest/types" "^29.3.1" 2019 | "@types/graceful-fs" "^4.1.3" 2020 | "@types/node" "*" 2021 | anymatch "^3.0.3" 2022 | fb-watchman "^2.0.0" 2023 | graceful-fs "^4.2.9" 2024 | jest-regex-util "^29.2.0" 2025 | jest-util "^29.3.1" 2026 | jest-worker "^29.3.1" 2027 | micromatch "^4.0.4" 2028 | walker "^1.0.8" 2029 | optionalDependencies: 2030 | fsevents "^2.3.2" 2031 | 2032 | jest-leak-detector@^29.3.1: 2033 | version "29.3.1" 2034 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518" 2035 | integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA== 2036 | dependencies: 2037 | jest-get-type "^29.2.0" 2038 | pretty-format "^29.3.1" 2039 | 2040 | jest-matcher-utils@^29.3.1: 2041 | version "29.3.1" 2042 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" 2043 | integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== 2044 | dependencies: 2045 | chalk "^4.0.0" 2046 | jest-diff "^29.3.1" 2047 | jest-get-type "^29.2.0" 2048 | pretty-format "^29.3.1" 2049 | 2050 | jest-message-util@^29.3.1: 2051 | version "29.3.1" 2052 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb" 2053 | integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== 2054 | dependencies: 2055 | "@babel/code-frame" "^7.12.13" 2056 | "@jest/types" "^29.3.1" 2057 | "@types/stack-utils" "^2.0.0" 2058 | chalk "^4.0.0" 2059 | graceful-fs "^4.2.9" 2060 | micromatch "^4.0.4" 2061 | pretty-format "^29.3.1" 2062 | slash "^3.0.0" 2063 | stack-utils "^2.0.3" 2064 | 2065 | jest-mock@^29.3.1: 2066 | version "29.3.1" 2067 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e" 2068 | integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA== 2069 | dependencies: 2070 | "@jest/types" "^29.3.1" 2071 | "@types/node" "*" 2072 | jest-util "^29.3.1" 2073 | 2074 | jest-pnp-resolver@^1.2.2: 2075 | version "1.2.3" 2076 | resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" 2077 | integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== 2078 | 2079 | jest-regex-util@^29.2.0: 2080 | version "29.2.0" 2081 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" 2082 | integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== 2083 | 2084 | jest-resolve-dependencies@^29.3.1: 2085 | version "29.3.1" 2086 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf" 2087 | integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA== 2088 | dependencies: 2089 | jest-regex-util "^29.2.0" 2090 | jest-snapshot "^29.3.1" 2091 | 2092 | jest-resolve@^29.3.1: 2093 | version "29.3.1" 2094 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7" 2095 | integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw== 2096 | dependencies: 2097 | chalk "^4.0.0" 2098 | graceful-fs "^4.2.9" 2099 | jest-haste-map "^29.3.1" 2100 | jest-pnp-resolver "^1.2.2" 2101 | jest-util "^29.3.1" 2102 | jest-validate "^29.3.1" 2103 | resolve "^1.20.0" 2104 | resolve.exports "^1.1.0" 2105 | slash "^3.0.0" 2106 | 2107 | jest-runner@^29.3.1: 2108 | version "29.3.1" 2109 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d" 2110 | integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA== 2111 | dependencies: 2112 | "@jest/console" "^29.3.1" 2113 | "@jest/environment" "^29.3.1" 2114 | "@jest/test-result" "^29.3.1" 2115 | "@jest/transform" "^29.3.1" 2116 | "@jest/types" "^29.3.1" 2117 | "@types/node" "*" 2118 | chalk "^4.0.0" 2119 | emittery "^0.13.1" 2120 | graceful-fs "^4.2.9" 2121 | jest-docblock "^29.2.0" 2122 | jest-environment-node "^29.3.1" 2123 | jest-haste-map "^29.3.1" 2124 | jest-leak-detector "^29.3.1" 2125 | jest-message-util "^29.3.1" 2126 | jest-resolve "^29.3.1" 2127 | jest-runtime "^29.3.1" 2128 | jest-util "^29.3.1" 2129 | jest-watcher "^29.3.1" 2130 | jest-worker "^29.3.1" 2131 | p-limit "^3.1.0" 2132 | source-map-support "0.5.13" 2133 | 2134 | jest-runtime@^29.3.1: 2135 | version "29.3.1" 2136 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a" 2137 | integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A== 2138 | dependencies: 2139 | "@jest/environment" "^29.3.1" 2140 | "@jest/fake-timers" "^29.3.1" 2141 | "@jest/globals" "^29.3.1" 2142 | "@jest/source-map" "^29.2.0" 2143 | "@jest/test-result" "^29.3.1" 2144 | "@jest/transform" "^29.3.1" 2145 | "@jest/types" "^29.3.1" 2146 | "@types/node" "*" 2147 | chalk "^4.0.0" 2148 | cjs-module-lexer "^1.0.0" 2149 | collect-v8-coverage "^1.0.0" 2150 | glob "^7.1.3" 2151 | graceful-fs "^4.2.9" 2152 | jest-haste-map "^29.3.1" 2153 | jest-message-util "^29.3.1" 2154 | jest-mock "^29.3.1" 2155 | jest-regex-util "^29.2.0" 2156 | jest-resolve "^29.3.1" 2157 | jest-snapshot "^29.3.1" 2158 | jest-util "^29.3.1" 2159 | slash "^3.0.0" 2160 | strip-bom "^4.0.0" 2161 | 2162 | jest-snapshot@^29.3.1: 2163 | version "29.3.1" 2164 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e" 2165 | integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA== 2166 | dependencies: 2167 | "@babel/core" "^7.11.6" 2168 | "@babel/generator" "^7.7.2" 2169 | "@babel/plugin-syntax-jsx" "^7.7.2" 2170 | "@babel/plugin-syntax-typescript" "^7.7.2" 2171 | "@babel/traverse" "^7.7.2" 2172 | "@babel/types" "^7.3.3" 2173 | "@jest/expect-utils" "^29.3.1" 2174 | "@jest/transform" "^29.3.1" 2175 | "@jest/types" "^29.3.1" 2176 | "@types/babel__traverse" "^7.0.6" 2177 | "@types/prettier" "^2.1.5" 2178 | babel-preset-current-node-syntax "^1.0.0" 2179 | chalk "^4.0.0" 2180 | expect "^29.3.1" 2181 | graceful-fs "^4.2.9" 2182 | jest-diff "^29.3.1" 2183 | jest-get-type "^29.2.0" 2184 | jest-haste-map "^29.3.1" 2185 | jest-matcher-utils "^29.3.1" 2186 | jest-message-util "^29.3.1" 2187 | jest-util "^29.3.1" 2188 | natural-compare "^1.4.0" 2189 | pretty-format "^29.3.1" 2190 | semver "^7.3.5" 2191 | 2192 | jest-util@^29.0.0, jest-util@^29.3.1: 2193 | version "29.3.1" 2194 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1" 2195 | integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== 2196 | dependencies: 2197 | "@jest/types" "^29.3.1" 2198 | "@types/node" "*" 2199 | chalk "^4.0.0" 2200 | ci-info "^3.2.0" 2201 | graceful-fs "^4.2.9" 2202 | picomatch "^2.2.3" 2203 | 2204 | jest-validate@^29.3.1: 2205 | version "29.3.1" 2206 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a" 2207 | integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g== 2208 | dependencies: 2209 | "@jest/types" "^29.3.1" 2210 | camelcase "^6.2.0" 2211 | chalk "^4.0.0" 2212 | jest-get-type "^29.2.0" 2213 | leven "^3.1.0" 2214 | pretty-format "^29.3.1" 2215 | 2216 | jest-watcher@^29.3.1: 2217 | version "29.3.1" 2218 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a" 2219 | integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg== 2220 | dependencies: 2221 | "@jest/test-result" "^29.3.1" 2222 | "@jest/types" "^29.3.1" 2223 | "@types/node" "*" 2224 | ansi-escapes "^4.2.1" 2225 | chalk "^4.0.0" 2226 | emittery "^0.13.1" 2227 | jest-util "^29.3.1" 2228 | string-length "^4.0.1" 2229 | 2230 | jest-worker@^29.3.1: 2231 | version "29.3.1" 2232 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b" 2233 | integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw== 2234 | dependencies: 2235 | "@types/node" "*" 2236 | jest-util "^29.3.1" 2237 | merge-stream "^2.0.0" 2238 | supports-color "^8.0.0" 2239 | 2240 | jest@^29.3.1: 2241 | version "29.3.1" 2242 | resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122" 2243 | integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA== 2244 | dependencies: 2245 | "@jest/core" "^29.3.1" 2246 | "@jest/types" "^29.3.1" 2247 | import-local "^3.0.2" 2248 | jest-cli "^29.3.1" 2249 | 2250 | js-sdsl@^4.1.4: 2251 | version "4.2.0" 2252 | resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" 2253 | integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== 2254 | 2255 | js-tokens@^4.0.0: 2256 | version "4.0.0" 2257 | resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2258 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= 2259 | 2260 | js-yaml@^3.13.1: 2261 | version "3.13.1" 2262 | resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 2263 | integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= 2264 | dependencies: 2265 | argparse "^1.0.7" 2266 | esprima "^4.0.0" 2267 | 2268 | js-yaml@^4.1.0: 2269 | version "4.1.0" 2270 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 2271 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 2272 | dependencies: 2273 | argparse "^2.0.1" 2274 | 2275 | jsesc@^2.5.1: 2276 | version "2.5.2" 2277 | resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 2278 | integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= 2279 | 2280 | json-parse-even-better-errors@^2.3.0: 2281 | version "2.3.1" 2282 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 2283 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 2284 | 2285 | json-schema-traverse@^0.4.1: 2286 | version "0.4.1" 2287 | resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2288 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= 2289 | 2290 | json-stable-stringify-without-jsonify@^1.0.1: 2291 | version "1.0.1" 2292 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 2293 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 2294 | 2295 | json5@^2.2.1: 2296 | version "2.2.2" 2297 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab" 2298 | integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ== 2299 | 2300 | kleur@^3.0.3: 2301 | version "3.0.3" 2302 | resolved "https://registry.npm.taobao.org/kleur/download/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 2303 | integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= 2304 | 2305 | leven@^3.1.0: 2306 | version "3.1.0" 2307 | resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 2308 | integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= 2309 | 2310 | levn@^0.4.1: 2311 | version "0.4.1" 2312 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 2313 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 2314 | dependencies: 2315 | prelude-ls "^1.2.1" 2316 | type-check "~0.4.0" 2317 | 2318 | lines-and-columns@^1.1.6: 2319 | version "1.1.6" 2320 | resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 2321 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 2322 | 2323 | locate-path@^5.0.0: 2324 | version "5.0.0" 2325 | resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 2326 | integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= 2327 | dependencies: 2328 | p-locate "^4.1.0" 2329 | 2330 | locate-path@^6.0.0: 2331 | version "6.0.0" 2332 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 2333 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 2334 | dependencies: 2335 | p-locate "^5.0.0" 2336 | 2337 | lodash.memoize@4.x: 2338 | version "4.1.2" 2339 | resolved "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" 2340 | integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= 2341 | 2342 | lodash.merge@^4.6.2: 2343 | version "4.6.2" 2344 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 2345 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 2346 | 2347 | lodash@^4.17.13: 2348 | version "4.17.15" 2349 | resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 2350 | integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= 2351 | 2352 | lru-cache@^5.1.1: 2353 | version "5.1.1" 2354 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 2355 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 2356 | dependencies: 2357 | yallist "^3.0.2" 2358 | 2359 | lru-cache@^6.0.0: 2360 | version "6.0.0" 2361 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2362 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2363 | dependencies: 2364 | yallist "^4.0.0" 2365 | 2366 | make-dir@^3.0.0: 2367 | version "3.1.0" 2368 | resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 2369 | integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= 2370 | dependencies: 2371 | semver "^6.0.0" 2372 | 2373 | make-error@1.x: 2374 | version "1.3.6" 2375 | resolved "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz?cache=0&sync_timestamp=1582105630664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-error%2Fdownload%2Fmake-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 2376 | integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= 2377 | 2378 | makeerror@1.0.12: 2379 | version "1.0.12" 2380 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" 2381 | integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== 2382 | dependencies: 2383 | tmpl "1.0.5" 2384 | 2385 | merge-stream@^2.0.0: 2386 | version "2.0.0" 2387 | resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2388 | integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= 2389 | 2390 | merge2@^1.3.0, merge2@^1.4.1: 2391 | version "1.4.1" 2392 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 2393 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 2394 | 2395 | micromatch@^4.0.4: 2396 | version "4.0.5" 2397 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 2398 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 2399 | dependencies: 2400 | braces "^3.0.2" 2401 | picomatch "^2.3.1" 2402 | 2403 | mimic-fn@^2.1.0: 2404 | version "2.1.0" 2405 | resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2406 | integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= 2407 | 2408 | minimatch@3.0.4, minimatch@^3.0.4: 2409 | version "3.0.4" 2410 | resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2411 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= 2412 | dependencies: 2413 | brace-expansion "^1.1.7" 2414 | 2415 | minimatch@^3.0.5, minimatch@^3.1.2: 2416 | version "3.1.2" 2417 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 2418 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 2419 | dependencies: 2420 | brace-expansion "^1.1.7" 2421 | 2422 | minimist@0.0.8: 2423 | version "0.0.8" 2424 | resolved "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2425 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 2426 | 2427 | mkdirp@0.5.1: 2428 | version "0.5.1" 2429 | resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2430 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 2431 | dependencies: 2432 | minimist "0.0.8" 2433 | 2434 | mocha@^5.2.0: 2435 | version "5.2.0" 2436 | resolved "https://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz?cache=0&sync_timestamp=1587882754624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmocha%2Fdownload%2Fmocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" 2437 | integrity sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY= 2438 | dependencies: 2439 | browser-stdout "1.3.1" 2440 | commander "2.15.1" 2441 | debug "3.1.0" 2442 | diff "3.5.0" 2443 | escape-string-regexp "1.0.5" 2444 | glob "7.1.2" 2445 | growl "1.10.5" 2446 | he "1.1.1" 2447 | minimatch "3.0.4" 2448 | mkdirp "0.5.1" 2449 | supports-color "5.4.0" 2450 | 2451 | ms@2.0.0: 2452 | version "2.0.0" 2453 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2454 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2455 | 2456 | ms@2.1.2, ms@^2.1.1: 2457 | version "2.1.2" 2458 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2459 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= 2460 | 2461 | natural-compare-lite@^1.4.0: 2462 | version "1.4.0" 2463 | resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" 2464 | integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== 2465 | 2466 | natural-compare@^1.4.0: 2467 | version "1.4.0" 2468 | resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2469 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2470 | 2471 | node-int64@^0.4.0: 2472 | version "0.4.0" 2473 | resolved "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2474 | integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= 2475 | 2476 | node-releases@^2.0.6: 2477 | version "2.0.8" 2478 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" 2479 | integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== 2480 | 2481 | normalize-path@^3.0.0: 2482 | version "3.0.0" 2483 | resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2484 | integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= 2485 | 2486 | npm-run-path@^4.0.1: 2487 | version "4.0.1" 2488 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2489 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 2490 | dependencies: 2491 | path-key "^3.0.0" 2492 | 2493 | once@^1.3.0: 2494 | version "1.4.0" 2495 | resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2496 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2497 | dependencies: 2498 | wrappy "1" 2499 | 2500 | onetime@^5.1.2: 2501 | version "5.1.2" 2502 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2503 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2504 | dependencies: 2505 | mimic-fn "^2.1.0" 2506 | 2507 | optionator@^0.9.1: 2508 | version "0.9.1" 2509 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 2510 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 2511 | dependencies: 2512 | deep-is "^0.1.3" 2513 | fast-levenshtein "^2.0.6" 2514 | levn "^0.4.1" 2515 | prelude-ls "^1.2.1" 2516 | type-check "^0.4.0" 2517 | word-wrap "^1.2.3" 2518 | 2519 | p-limit@^2.2.0: 2520 | version "2.3.0" 2521 | resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1586101408834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2522 | integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= 2523 | dependencies: 2524 | p-try "^2.0.0" 2525 | 2526 | p-limit@^3.0.2, p-limit@^3.1.0: 2527 | version "3.1.0" 2528 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2529 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2530 | dependencies: 2531 | yocto-queue "^0.1.0" 2532 | 2533 | p-locate@^4.1.0: 2534 | version "4.1.0" 2535 | resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2536 | integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= 2537 | dependencies: 2538 | p-limit "^2.2.0" 2539 | 2540 | p-locate@^5.0.0: 2541 | version "5.0.0" 2542 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 2543 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2544 | dependencies: 2545 | p-limit "^3.0.2" 2546 | 2547 | p-try@^2.0.0: 2548 | version "2.2.0" 2549 | resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2550 | integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= 2551 | 2552 | parent-module@^1.0.0: 2553 | version "1.0.1" 2554 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2555 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2556 | dependencies: 2557 | callsites "^3.0.0" 2558 | 2559 | parse-json@^5.2.0: 2560 | version "5.2.0" 2561 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2562 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2563 | dependencies: 2564 | "@babel/code-frame" "^7.0.0" 2565 | error-ex "^1.3.1" 2566 | json-parse-even-better-errors "^2.3.0" 2567 | lines-and-columns "^1.1.6" 2568 | 2569 | path-exists@^4.0.0: 2570 | version "4.0.0" 2571 | resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2572 | integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= 2573 | 2574 | path-is-absolute@^1.0.0: 2575 | version "1.0.1" 2576 | resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2577 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2578 | 2579 | path-key@^3.0.0, path-key@^3.1.0: 2580 | version "3.1.1" 2581 | resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2582 | integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= 2583 | 2584 | path-parse@^1.0.7: 2585 | version "1.0.7" 2586 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2587 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2588 | 2589 | path-type@^4.0.0: 2590 | version "4.0.0" 2591 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2592 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2593 | 2594 | picocolors@^1.0.0: 2595 | version "1.0.0" 2596 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2597 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2598 | 2599 | picomatch@^2.0.4: 2600 | version "2.2.2" 2601 | resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 2602 | integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= 2603 | 2604 | picomatch@^2.2.3, picomatch@^2.3.1: 2605 | version "2.3.1" 2606 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2607 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2608 | 2609 | pirates@^4.0.4: 2610 | version "4.0.5" 2611 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 2612 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 2613 | 2614 | pkg-dir@^4.2.0: 2615 | version "4.2.0" 2616 | resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2617 | integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= 2618 | dependencies: 2619 | find-up "^4.0.0" 2620 | 2621 | prelude-ls@^1.2.1: 2622 | version "1.2.1" 2623 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2624 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2625 | 2626 | pretty-format@^29.0.0, pretty-format@^29.3.1: 2627 | version "29.3.1" 2628 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" 2629 | integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== 2630 | dependencies: 2631 | "@jest/schemas" "^29.0.0" 2632 | ansi-styles "^5.0.0" 2633 | react-is "^18.0.0" 2634 | 2635 | prompts@^2.0.1: 2636 | version "2.3.2" 2637 | resolved "https://registry.npm.taobao.org/prompts/download/prompts-2.3.2.tgz?cache=0&sync_timestamp=1584535638103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprompts%2Fdownload%2Fprompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" 2638 | integrity sha1-SAVy2J7POVZtK9P+LJ/Mt8TAsGg= 2639 | dependencies: 2640 | kleur "^3.0.3" 2641 | sisteransi "^1.0.4" 2642 | 2643 | punycode@^2.1.0: 2644 | version "2.1.1" 2645 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2646 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= 2647 | 2648 | queue-microtask@^1.2.2: 2649 | version "1.2.3" 2650 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2651 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2652 | 2653 | react-is@^18.0.0: 2654 | version "18.2.0" 2655 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 2656 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 2657 | 2658 | regexpp@^3.2.0: 2659 | version "3.2.0" 2660 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 2661 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 2662 | 2663 | require-directory@^2.1.1: 2664 | version "2.1.1" 2665 | resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2666 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 2667 | 2668 | resolve-cwd@^3.0.0: 2669 | version "3.0.0" 2670 | resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 2671 | integrity sha1-DwB18bslRHZs9zumpuKt/ryxPy0= 2672 | dependencies: 2673 | resolve-from "^5.0.0" 2674 | 2675 | resolve-from@^4.0.0: 2676 | version "4.0.0" 2677 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2678 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2679 | 2680 | resolve-from@^5.0.0: 2681 | version "5.0.0" 2682 | resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2683 | integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= 2684 | 2685 | resolve.exports@^1.1.0: 2686 | version "1.1.0" 2687 | resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" 2688 | integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== 2689 | 2690 | resolve@^1.20.0: 2691 | version "1.22.1" 2692 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 2693 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 2694 | dependencies: 2695 | is-core-module "^2.9.0" 2696 | path-parse "^1.0.7" 2697 | supports-preserve-symlinks-flag "^1.0.0" 2698 | 2699 | reusify@^1.0.4: 2700 | version "1.0.4" 2701 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2702 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2703 | 2704 | rimraf@^3.0.2: 2705 | version "3.0.2" 2706 | resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2707 | integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= 2708 | dependencies: 2709 | glob "^7.1.3" 2710 | 2711 | run-parallel@^1.1.9: 2712 | version "1.2.0" 2713 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2714 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2715 | dependencies: 2716 | queue-microtask "^1.2.2" 2717 | 2718 | safe-buffer@~5.1.1: 2719 | version "5.1.2" 2720 | resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2721 | integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= 2722 | 2723 | semver@7.x: 2724 | version "7.3.2" 2725 | resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" 2726 | integrity sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg= 2727 | 2728 | semver@^5.4.1: 2729 | version "5.7.1" 2730 | resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2731 | integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= 2732 | 2733 | semver@^6.0.0, semver@^6.3.0: 2734 | version "6.3.0" 2735 | resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2736 | integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= 2737 | 2738 | semver@^7.3.5, semver@^7.3.7: 2739 | version "7.3.8" 2740 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 2741 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 2742 | dependencies: 2743 | lru-cache "^6.0.0" 2744 | 2745 | shebang-command@^2.0.0: 2746 | version "2.0.0" 2747 | resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2748 | integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= 2749 | dependencies: 2750 | shebang-regex "^3.0.0" 2751 | 2752 | shebang-regex@^3.0.0: 2753 | version "3.0.0" 2754 | resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2755 | integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= 2756 | 2757 | signal-exit@^3.0.3, signal-exit@^3.0.7: 2758 | version "3.0.7" 2759 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 2760 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2761 | 2762 | sisteransi@^1.0.4: 2763 | version "1.0.5" 2764 | resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 2765 | integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= 2766 | 2767 | slash@^3.0.0: 2768 | version "3.0.0" 2769 | resolved "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2770 | integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= 2771 | 2772 | source-map-support@0.5.13: 2773 | version "0.5.13" 2774 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" 2775 | integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== 2776 | dependencies: 2777 | buffer-from "^1.0.0" 2778 | source-map "^0.6.0" 2779 | 2780 | source-map-support@^0.5.0: 2781 | version "0.5.19" 2782 | resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 2783 | integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= 2784 | dependencies: 2785 | buffer-from "^1.0.0" 2786 | source-map "^0.6.0" 2787 | 2788 | source-map@^0.6.0, source-map@^0.6.1: 2789 | version "0.6.1" 2790 | resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2791 | integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= 2792 | 2793 | sprintf-js@~1.0.2: 2794 | version "1.0.3" 2795 | resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2796 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 2797 | 2798 | stack-utils@^2.0.3: 2799 | version "2.0.6" 2800 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" 2801 | integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== 2802 | dependencies: 2803 | escape-string-regexp "^2.0.0" 2804 | 2805 | string-length@^4.0.1: 2806 | version "4.0.1" 2807 | resolved "https://registry.npm.taobao.org/string-length/download/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" 2808 | integrity sha1-Spc78x73fE7bzq3WryYRmWmF+KE= 2809 | dependencies: 2810 | char-regex "^1.0.2" 2811 | strip-ansi "^6.0.0" 2812 | 2813 | string-width@^4.1.0, string-width@^4.2.0: 2814 | version "4.2.0" 2815 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" 2816 | integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= 2817 | dependencies: 2818 | emoji-regex "^8.0.0" 2819 | is-fullwidth-code-point "^3.0.0" 2820 | strip-ansi "^6.0.0" 2821 | 2822 | string-width@^4.2.3: 2823 | version "4.2.3" 2824 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2825 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2826 | dependencies: 2827 | emoji-regex "^8.0.0" 2828 | is-fullwidth-code-point "^3.0.0" 2829 | strip-ansi "^6.0.1" 2830 | 2831 | strip-ansi@^6.0.0: 2832 | version "6.0.0" 2833 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 2834 | integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= 2835 | dependencies: 2836 | ansi-regex "^5.0.0" 2837 | 2838 | strip-ansi@^6.0.1: 2839 | version "6.0.1" 2840 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2841 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2842 | dependencies: 2843 | ansi-regex "^5.0.1" 2844 | 2845 | strip-bom@^4.0.0: 2846 | version "4.0.0" 2847 | resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 2848 | integrity sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg= 2849 | 2850 | strip-final-newline@^2.0.0: 2851 | version "2.0.0" 2852 | resolved "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 2853 | integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= 2854 | 2855 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 2856 | version "3.1.1" 2857 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2858 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2859 | 2860 | supports-color@5.4.0: 2861 | version "5.4.0" 2862 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 2863 | integrity sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q= 2864 | dependencies: 2865 | has-flag "^3.0.0" 2866 | 2867 | supports-color@^5.3.0: 2868 | version "5.5.0" 2869 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2870 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= 2871 | dependencies: 2872 | has-flag "^3.0.0" 2873 | 2874 | supports-color@^7.1.0: 2875 | version "7.1.0" 2876 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" 2877 | integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= 2878 | dependencies: 2879 | has-flag "^4.0.0" 2880 | 2881 | supports-color@^8.0.0: 2882 | version "8.1.1" 2883 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2884 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2885 | dependencies: 2886 | has-flag "^4.0.0" 2887 | 2888 | supports-preserve-symlinks-flag@^1.0.0: 2889 | version "1.0.0" 2890 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2891 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2892 | 2893 | test-exclude@^6.0.0: 2894 | version "6.0.0" 2895 | resolved "https://registry.npm.taobao.org/test-exclude/download/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 2896 | integrity sha1-BKhphmHYBepvopO2y55jrARO8V4= 2897 | dependencies: 2898 | "@istanbuljs/schema" "^0.1.2" 2899 | glob "^7.1.4" 2900 | minimatch "^3.0.4" 2901 | 2902 | text-table@^0.2.0: 2903 | version "0.2.0" 2904 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2905 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2906 | 2907 | tmpl@1.0.5: 2908 | version "1.0.5" 2909 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" 2910 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 2911 | 2912 | to-fast-properties@^2.0.0: 2913 | version "2.0.0" 2914 | resolved "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2915 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2916 | 2917 | to-regex-range@^5.0.1: 2918 | version "5.0.1" 2919 | resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2920 | integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= 2921 | dependencies: 2922 | is-number "^7.0.0" 2923 | 2924 | ts-jest@^29.0.3: 2925 | version "29.0.3" 2926 | resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.3.tgz#63ea93c5401ab73595440733cefdba31fcf9cb77" 2927 | integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ== 2928 | dependencies: 2929 | bs-logger "0.x" 2930 | fast-json-stable-stringify "2.x" 2931 | jest-util "^29.0.0" 2932 | json5 "^2.2.1" 2933 | lodash.memoize "4.x" 2934 | make-error "1.x" 2935 | semver "7.x" 2936 | yargs-parser "^21.0.1" 2937 | 2938 | tslib@^1.8.1: 2939 | version "1.14.1" 2940 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2941 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2942 | 2943 | tsutils@^3.21.0: 2944 | version "3.21.0" 2945 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 2946 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 2947 | dependencies: 2948 | tslib "^1.8.1" 2949 | 2950 | type-check@^0.4.0, type-check@~0.4.0: 2951 | version "0.4.0" 2952 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2953 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2954 | dependencies: 2955 | prelude-ls "^1.2.1" 2956 | 2957 | type-detect@4.0.8: 2958 | version "4.0.8" 2959 | resolved "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2960 | integrity sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw= 2961 | 2962 | type-fest@^0.11.0: 2963 | version "0.11.0" 2964 | resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" 2965 | integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= 2966 | 2967 | type-fest@^0.20.2: 2968 | version "0.20.2" 2969 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2970 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2971 | 2972 | typescript@^4.9.4: 2973 | version "4.9.4" 2974 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" 2975 | integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== 2976 | 2977 | update-browserslist-db@^1.0.9: 2978 | version "1.0.10" 2979 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 2980 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 2981 | dependencies: 2982 | escalade "^3.1.1" 2983 | picocolors "^1.0.0" 2984 | 2985 | uri-js@^4.2.2: 2986 | version "4.2.2" 2987 | resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 2988 | integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= 2989 | dependencies: 2990 | punycode "^2.1.0" 2991 | 2992 | v8-to-istanbul@^9.0.1: 2993 | version "9.0.1" 2994 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" 2995 | integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== 2996 | dependencies: 2997 | "@jridgewell/trace-mapping" "^0.3.12" 2998 | "@types/istanbul-lib-coverage" "^2.0.1" 2999 | convert-source-map "^1.6.0" 3000 | 3001 | vscode-test@^0.4.1: 3002 | version "0.4.3" 3003 | resolved "https://registry.npm.taobao.org/vscode-test/download/vscode-test-0.4.3.tgz#461ebf25fc4bc93d77d982aed556658a2e2b90b8" 3004 | integrity sha1-Rh6/JfxLyT132YKu1VZlii4rkLg= 3005 | dependencies: 3006 | http-proxy-agent "^2.1.0" 3007 | https-proxy-agent "^2.2.1" 3008 | 3009 | vscode@^1.1.29: 3010 | version "1.1.37" 3011 | resolved "https://registry.npm.taobao.org/vscode/download/vscode-1.1.37.tgz#c2a770bee4bb3fff765e2b72c7bcc813b8a6bb0a" 3012 | integrity sha1-wqdwvuS7P/92Xityx7zIE7imuwo= 3013 | dependencies: 3014 | glob "^7.1.2" 3015 | http-proxy-agent "^4.0.1" 3016 | https-proxy-agent "^5.0.0" 3017 | mocha "^5.2.0" 3018 | semver "^5.4.1" 3019 | source-map-support "^0.5.0" 3020 | vscode-test "^0.4.1" 3021 | 3022 | walker@^1.0.8: 3023 | version "1.0.8" 3024 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" 3025 | integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== 3026 | dependencies: 3027 | makeerror "1.0.12" 3028 | 3029 | which@^2.0.1: 3030 | version "2.0.2" 3031 | resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 3032 | integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= 3033 | dependencies: 3034 | isexe "^2.0.0" 3035 | 3036 | word-wrap@^1.2.3: 3037 | version "1.2.3" 3038 | resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 3039 | integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= 3040 | 3041 | wrap-ansi@^7.0.0: 3042 | version "7.0.0" 3043 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 3044 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 3045 | dependencies: 3046 | ansi-styles "^4.0.0" 3047 | string-width "^4.1.0" 3048 | strip-ansi "^6.0.0" 3049 | 3050 | wrappy@1: 3051 | version "1.0.2" 3052 | resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3053 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 3054 | 3055 | write-file-atomic@^4.0.1: 3056 | version "4.0.2" 3057 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" 3058 | integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== 3059 | dependencies: 3060 | imurmurhash "^0.1.4" 3061 | signal-exit "^3.0.7" 3062 | 3063 | y18n@^5.0.5: 3064 | version "5.0.8" 3065 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 3066 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 3067 | 3068 | yallist@^3.0.2: 3069 | version "3.1.1" 3070 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 3071 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 3072 | 3073 | yallist@^4.0.0: 3074 | version "4.0.0" 3075 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 3076 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 3077 | 3078 | yargs-parser@^21.0.1, yargs-parser@^21.1.1: 3079 | version "21.1.1" 3080 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" 3081 | integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== 3082 | 3083 | yargs@^17.3.1: 3084 | version "17.6.2" 3085 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" 3086 | integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== 3087 | dependencies: 3088 | cliui "^8.0.1" 3089 | escalade "^3.1.1" 3090 | get-caller-file "^2.0.5" 3091 | require-directory "^2.1.1" 3092 | string-width "^4.2.3" 3093 | y18n "^5.0.5" 3094 | yargs-parser "^21.1.1" 3095 | 3096 | yocto-queue@^0.1.0: 3097 | version "0.1.0" 3098 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 3099 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 3100 | --------------------------------------------------------------------------------