├── .eslintrc.json ├── .github └── workflows │ └── main.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── CHANGELOG.md ├── README.md ├── lib ├── buildCommand.js ├── extension.js ├── file.js ├── getScriptFile.js ├── getShellCommand.js ├── hostApps.js ├── ide.js └── token.js ├── package-lock.json ├── package.json └── resources ├── Adobe-Script-Runner.gif └── icon.png /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": false, 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true 7 | }, 8 | "extends": ["eslint:recommended", "plugin:prettier/recommended"], 9 | "plugins": ["prettier"], 10 | "rules": { 11 | "prettier/prettier": "error" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Install, lint and package 2 | on: 3 | # Triggers the workflow on push or pull-request events for the master and Dev branches 4 | push: 5 | branches: [master, Dev] 6 | pull_request: 7 | branches: [master, Dev] 8 | 9 | jobs: 10 | install-lint-package: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout Git repository 14 | uses: actions/checkout@v3 15 | 16 | - name: Install node 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version: 14 20 | 21 | - name: Install dependencies 22 | run: npm ci 23 | 24 | - name: Lint codebase 25 | run: npm run lint 26 | 27 | - name: Create package 28 | run: npm run package 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .vscode-test/ 3 | *.vsix 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .node_modules 2 | 3 | # Ignore all Markdown files: 4 | *.md -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "always", 3 | "bracketSpacing": true, 4 | "endOfLine": "auto", 5 | "printWidth": 100, 6 | "semi": true, 7 | "singleQuote": true, 8 | "tabWidth": 2, 9 | "trailingComma": "es5", 10 | "useTabs": false 11 | } 12 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": ["dbaeumer.vscode-eslint"] 5 | } 6 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension 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": ["--extensionDevelopmentPath=${workspaceFolder}"] 14 | }, 15 | { 16 | "name": "Extension Tests", 17 | "type": "extensionHost", 18 | "request": "launch", 19 | "runtimeExecutable": "${execPath}", 20 | "args": [ 21 | "--extensionDevelopmentPath=${workspaceFolder}", 22 | "--extensionTestsPath=${workspaceFolder}/test" 23 | ] 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "[javascript]": { 4 | "editor.defaultFormatter": "esbenp.prettier-vscode", 5 | "editor.codeActionsOnSave": { 6 | "source.fixAll.eslint": true 7 | }, 8 | "editor.formatOnSave": true 9 | }, 10 | "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe" 11 | } 12 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to the Adobe Script Runner extension will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). 4 | 5 | ## [Unreleased] 6 | 7 | ### Added 8 | 9 | - 10 | 11 | ### Changed 12 | 13 | - 14 | 15 | ### Fixed 16 | 17 | - 18 | 19 | ### Removed 20 | 21 | - 22 | 23 | --- 24 | 25 | ## [0.6.0] 2022-06-08 26 | 27 | ### Added 28 | 29 | - Support to execute scripts in `Adobe After Effects (Beta)` 30 | - Support to execute scripts in `Adobe Illustrator (Beta)` 31 | - Support to execute scripts in `Adobe Photoshop (Beta)` 32 | - ESLint + Prettier for a consistent codebase 33 | 34 | ### Changed 35 | 36 | - Updates default paths for After Effects, Illustrator, and Photoshop for Windows to 2022 application versions. 37 | 38 | --- 39 | 40 | ## [0.5.0] 2021-03-13 41 | 42 | ### Changed 43 | 44 | - Updates default paths for After Effects for Windows to 2021 application version. 45 | 46 | --- 47 | 48 | ## [0.4.0] 2021-03-09 49 | 50 | ### Added 51 | 52 | - Option to toggle **Bring Host Application To Front** on execution for Mac. 53 | 54 | ### Changed 55 | 56 | - Updates default paths for Illustrator and Photoshop for Windows to 2021 application version. 57 | - Updates default path for After Effects for Windows to 2020 application version. 58 | 59 | --- 60 | 61 | ## [0.3.0] 2019-12-12 62 | 63 | ### Added 64 | 65 | - Option to always **Execute File From Config** file defined in **Execute This** section, ignoring the one in active viewer. 66 | - Option to **Execute File From Token** `Adobe-Script-Runner "path/to/file.jsx"` in active document to execute file between the quotes. 67 | 68 | ### Changed 69 | 70 | - Codebase rewritten from scratch. 71 | - Renamed configuration keys and titles. 72 | 73 | ### Removed 74 | 75 | - Checkbox **Run Untitled**. 76 | 77 | --- 78 | 79 | ## [0.2.1] 2019-01-05 80 | 81 | ### Changed 82 | 83 | - Updates default Windows paths to CC2019 version. 84 | - Updates descriptions for `Run Untitled`, `Save Dirty`, and `Temp File` in extensions Settings window. 85 | 86 | --- 87 | 88 | ## [0.2.0] 2018-03-29 89 | 90 | ### Fixed 91 | 92 | - Fixed bug when settings were not registered until app restart. 93 | - Fixed issue with HOME "~/" paths. 94 | 95 | ### Changed 96 | 97 | - Changed code flow. Splits everything into modules for easier maintenance and development. Also makes it easier for other apps to adopt the functionality. 98 | - Ports functionality to [Atom.io](https://atom.io/packages/adobe-script-runner). 99 | 100 | --- 101 | 102 | ## [0.1.2] 2018-03-14 103 | 104 | ### Added 105 | 106 | - Default keybinding `Cmd+R` ro tun `adobeScriptRunner.ae` command. 107 | - Instructions on how to assign keybindings to commands in `README.md` file. 108 | 109 | --- 110 | 111 | ## [0.1.1] 2018-03-14 112 | 113 | ### Changed 114 | 115 | - Extension icon. 116 | 117 | --- 118 | 119 | ## [0.1.0] 2018-03-13 120 | 121 | ### Added 122 | 123 | - Support to execute scripts in `Adobe InCopy`. 124 | - Support for Windows. 125 | 126 | --- 127 | 128 | ## [0.0.3] 2018-03-12 129 | 130 | ### Added 131 | 132 | - Support to open scripts inside `Adobe ExtendScript Toolkit`. 133 | - Looping gif to README.md file that looks amazing. 134 | 135 | ### Fixed 136 | 137 | - Fixed typos in `README.md`. 138 | 139 | ### Changed 140 | 141 | - Updated `extension.js` to use es6 syntax. 142 | - Updated info message to show app name the script has been sent to. 143 | - Renamed settings object `adobeScriptLauncher` to `adobeScriptRunner`. 144 | - Changed location of temp file `Snippet.js` to `~/.vscode` instead of `~/Desktop` folder. 145 | - Created `resources` folder to dump all image files there. 146 | 147 | --- 148 | 149 | ## [0.0.2] 2018-03-11 150 | 151 | ### Added 152 | 153 | - Support to execute scripts in `Adobe Illustrator`. 154 | - Support to execute scripts in `Adobe InDesign`. 155 | 156 | ### Changed 157 | 158 | - README.md and CHANGELOG.md files to reflect changes. 159 | - Refactored `scriptCommands` object. 160 | 161 | --- 162 | 163 | ## [0.0.1] 2018-03-10 164 | 165 | - Initial release 166 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Adobe Script Runner 2 | 3 | Script runner for Adobe applications right from VSCode. Extension available for [Atom.io](https://atom.io/packages/adobe-script-runner), [Sublime Text](https://github.com/rendertom/Sublime-Text-Adobe-Script-Runner) and [VSCode](https://marketplace.visualstudio.com/items?itemName=renderTom.adobe-script-runner). 4 | 5 | ![Adobe Script Runner](/resources/Adobe-Script-Runner.gif) 6 | 7 | ## Supported applications 8 | 9 | - Adobe After Effects 10 | - Adobe After Effects (Beta) 11 | - Adobe ExtendScript Toolkit 12 | - Adobe Illustrator 13 | - Adobe Illustrator (Beta) 14 | - Adobe InCopy 15 | - Adobe InDesign 16 | - Adobe Photoshop 17 | - Adobe Photoshop (Beta) 18 | 19 | ## Features 20 | 21 | Run commands are accessible via `Command Palette`. Simply click `F1` or `Cmd+Shift+P` and start typing the name of `supported applications`. Click enter to run the script inside the selected application. 22 | 23 | The extension will open host application first if it's not running, and then execute the script. 24 | 25 | > Tip: You don't need to have the file saved inside VSCode. The extension will be able to run code from unsaved documents. 26 | 27 | Map keyboard shortcuts to execute a script even faster - `Cmd+R` is bind to run a script inside After Effects by default. Read how to change it in [Key bindings](#key-bindings). 28 | 29 | Adobe Script Runner executes script in the active viewer by default. However, when working with multi-file scripts, it is common to set a path to execute a master file, i.e `index.js`, from within a file that's in the active view. Such behavior can be modified using [Token](#token) or setting up [execute this](#execute-this) file in the settings. 30 | 31 | ## Installation 32 | 33 | - ### From VSCode application 34 | 35 | - Open `Extensions` and type `Adobe Script Runner`. 36 | - Click `Install` and then `Reload` button. 37 | 38 | - ### From GitHub 39 | 40 | - Download repository and unzip the package. 41 | - Copy `VSCode-Adobe-Script-Runner-master` to `/Users/YOURUSER/.vscode/extensions` folder. 42 | 43 | ## In action 44 | 45 | - Launch VSCode and open jsx file, or for testing simply type `alert("Hello World");`. 46 | - Click `Cmd+R` on Mac or `Ctrl+R` on Windows, or launch `Command Palette` with keyboard shortcut `F1` or `Cmd+Shift+P`, and type `Adobe After Effects` and click enter. 47 | - Hopefully After Effects will fire up and execute your script 🙏 48 | 49 | ## Key bindings 50 | 51 | Keyboard shortcut `Cmd+R` is bind to `adobeScriptRunner.ae` command, which will run a script inside Adobe After Effects. To change the command or assign a different shortcut, do the following: 52 | 53 | - Open Keyboard Shortcuts editor and click on the link `keybindings.json`. 54 | - This will open the Default Keyboard Shortcuts on the left and your `keybindings.json` file where you can overwrite the default bindings on the right. 55 | - With `keybindings.json` in focus click `Cmd+K` twice to open an interactive keybinding modal window (or whatever it’s called) and follow the on-screen instructions. This will create a new binding entry in the `keybindings.json` file. 56 | - Edit the `command` property to `adobeScriptRunner.XX`, where XX is an abbreviation of the application. Check available abbreviations in `Extensions > Adobe Script Runner > Contributions` tab. 57 | 58 | The result should look something like this: 59 | 60 | ```json 61 | { 62 | "key": "cmd+r", 63 | "command": "adobeScriptRunner.ae", 64 | "when": "editorTextFocus" 65 | }, 66 | ``` 67 | 68 | For more information about keybinding check official [Key Bindings for Visual Studio Code](https://code.visualstudio.com/docs/getstarted/keybindings). 69 | 70 | ## Token 71 | 72 | Use token to execute a different file, rather than the one in the viewer. Add `Adobe-script-runner "path/to/file.jsx"` at the beginning of the file in the active document to always execute the file between quotes. 73 | 74 | ```javascript 75 | /* 76 | Adobe-script-runner '../../index.js' 77 | Executes file between quotes rather than the one in the active viewer. 78 | */ 79 | 80 | alert('Hello World'); // This line never gets executed, unless `index.js` is referencing the file in viewer. 81 | ``` 82 | 83 | The file path gets resolved by joining the path of the file in the viewer and the file within the quotes. 84 | 85 | ## Execute this 86 | 87 | Use this option to set-up a path to a file to execute always, ignoring the file in the viewer, globally or per-project basis. To do so, open settings (`Cmd+,` on Mac or `Ctrl+,` on Windows) and set the path to a file in **Extensions -> Adobe Script Runner -> Execute This**. 88 | 89 | The file path gets resolved by joining this path and the Workspace (or Root `/`) folder. 90 | 91 | ## Settings 92 | 93 | Click `Cmd+,` on Mac or `Ctrl+,` on Windows to modify settings. Extension exposes the following API: 94 | 95 | - `adobeScriptRunner.executeFileFromConfig`: Whether to execute file, defined in config `.vscode/settings.json` file. See more in [Execute this](#execute-this) section. 96 | - `adobeScriptRunner.executeFileFromToken`: Whether to search for `Adobe-Script-Runner "path/to/file.jsx"` token in active document, and execute file within the quotes. See more in [Token](#token) section. 97 | - `adobeScriptRunner.executeThis`: A path to a file to execute always, ignoring the file in the viewer, globally or per-project basis. See more in [Execute this](#execute-this) section. 98 | - `adobeScriptRunner.saveFileBeforeExecution`: Whether to save file before execution. 99 | - `adobeScriptRunner.temporaryFile`: Path to a temporary file where Untitled document gets saved prior to execution. 100 | 101 | **For Mac users only:** 102 | 103 | - `adobeScriptRunner.bringHostApplicationToFront`: Whether to bring the host application to the front. If this option is turned off, then the **debug console** prints `1` if there were execution errors, otherwise `0`. 104 | 105 | **For Windows users only:** 106 | 107 | - `adobeScriptRunner.winAfterEffectsExe`: path to Adobe After Effects executable (AfterFX.exe). 108 | - `adobeScriptRunner.winAfterEffectsBetaExe`: path to Adobe After Effects (Beta) executable (AfterFX (Beta).exe). 109 | - `adobeScriptRunner.winExtendscriptToolkitExe`: path to Adobe ExtendScript Toolkit executable (ExtendScript Toolkit.exe). 110 | - `adobeScriptRunner.winIllustratorExe`: path to Adobe Illustrator executable (Illustrator.exe). 111 | - `adobeScriptRunner.winIllustratorBetaExe`: path to Adobe Illustrator (Beta) executable (Illustrator.exe). 112 | - `adobeScriptRunner.winPhotoshopExe`: path to Adobe Photoshop executable (Photoshop.exe). 113 | - `adobeScriptRunner.winPhotoshopBetaExe`: path to Adobe Photoshop (Beta) executable (Photoshop.exe). 114 | 115 | Executable paths for InCopy and InDesign for Windows are not exposed because they are handled differently than the rest of the Adobe apps. Go figure Adobe ¯\\\_(ツ)\_/¯ 116 | 117 | ## Known issues 118 | 119 | - The host application does not get focus on script run. 120 | -------------------------------------------------------------------------------- /lib/buildCommand.js: -------------------------------------------------------------------------------- 1 | const cp = require('child_process'); 2 | const getScriptFile = require('./getScriptFile.js'); 3 | const getShellCommand = require('./getShellCommand.js'); 4 | const ide = require('./ide.js'); 5 | 6 | /** 7 | * Builds and executes command. 8 | * @param {Object} hostApp entry from hostApps[hostApp]. 9 | */ 10 | function buildCommand(hostApp) { 11 | try { 12 | getScriptFile(function (scriptFile) { 13 | getShellCommand(hostApp, scriptFile, function (command) { 14 | console.log('Running shell command:', command); 15 | cp.exec(command, (error, stdout, stderr) => { 16 | if (error) { 17 | console.error(`exec error: ${error}`); 18 | return; 19 | } 20 | 21 | console.log(stdout); 22 | console.log(stderr); 23 | }); 24 | ide.showInformationMessage(`Script sent to ${hostApp.appName}`); 25 | }); 26 | }); 27 | } catch (error) { 28 | if (typeof error !== 'undefined') { 29 | console.log(error); 30 | } 31 | } 32 | } 33 | 34 | module.exports = buildCommand; 35 | -------------------------------------------------------------------------------- /lib/extension.js: -------------------------------------------------------------------------------- 1 | const buildCommand = require('./buildCommand.js'); 2 | const hostApps = require('./hostApps.js'); 3 | const vscode = require('vscode'); 4 | 5 | /** 6 | * @description Method is called when extension is activated. 7 | * Extension is activated the very first time the command is executed. 8 | */ 9 | function activate() { 10 | hostApps.forEach((hostApp) => { 11 | vscode.commands.registerCommand(`adobeScriptRunner.${hostApp.shortName}`, () => 12 | buildCommand(hostApp) 13 | ); 14 | }); 15 | } 16 | 17 | exports.activate = activate; 18 | -------------------------------------------------------------------------------- /lib/file.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const os = require('os'); 3 | const path = require('path'); 4 | 5 | const file = { 6 | /** 7 | * Checks if file exists at a given path. 8 | * @param {String} filePath Path to file. 9 | * @returns {Boolean} `True` if exists, `False` otherwise. 10 | */ 11 | exists(filePath) { 12 | return fs.existsSync(filePath); 13 | }, 14 | 15 | /** 16 | * Checks whether file exists at a path is file. 17 | * @param {String} filePath Path to file. 18 | * @returns {Boolean} `True` if file exists and is file, `False` otherwise. 19 | */ 20 | isFile(filePath) { 21 | return this.exists(filePath) && fs.lstatSync(filePath).isFile(); 22 | }, 23 | 24 | /** 25 | * Saves contents of the file. 26 | * @param {String} contents Contents to save. 27 | * @param {String} filePath Path to a file. 28 | * @returns {String} Path to a saved file. 29 | */ 30 | saveFile(contents, filePath) { 31 | filePath = this.untildify(filePath); 32 | 33 | const folder = path.dirname(filePath); 34 | if (!fs.existsSync(folder)) { 35 | fs.mkdirSync(folder, { 36 | recursive: true, 37 | }); 38 | } 39 | 40 | fs.writeFileSync(filePath, contents); 41 | 42 | return filePath; 43 | }, 44 | 45 | /** 46 | * Convert a tilde '~' path to an absolute path: '~/Desktop' to '/user/XXX/Desktop' 47 | * @param {String} pathWithTilde Path to untildify. 48 | * @returns {String} Absolute path as string. 49 | */ 50 | untildify(pathWithTilde) { 51 | const homeDirectory = os.homedir(); 52 | 53 | if (typeof pathWithTilde !== 'string') { 54 | throw new TypeError(`Expected a string, got ${typeof pathWithTilde}`); 55 | } 56 | 57 | return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde; 58 | }, 59 | }; 60 | 61 | module.exports = file; 62 | -------------------------------------------------------------------------------- /lib/getScriptFile.js: -------------------------------------------------------------------------------- 1 | const file = require('./file.js'); 2 | const ide = require('./ide.js'); 3 | const path = require('path'); 4 | const token = require('./token.js'); 5 | 6 | /** 7 | * Gets a path to a script file that has to be executed in hostApp. 8 | * If document is undefined, then saves it into temp file, 9 | * defined in 'adobeScriptRunner.temporaryFile' 10 | * 11 | * @param {Function} callback Callback function that receives a result. 12 | */ 13 | function getScriptFile(callback) { 14 | const settings = ide.config.get(); 15 | if (ide.editor.isDirty() && settings.saveFileBeforeExecution) { 16 | ide.editor.save(); 17 | } 18 | 19 | let scriptFile; 20 | if (settings.executeFileFromToken && token.exists()) { 21 | scriptFile = getScriptFileFromToken(); 22 | } else if (settings.executeFileFromConfig && settings.executeThis) { 23 | scriptFile = getScriptFileFromConfig(); 24 | } else { 25 | scriptFile = getScriptFileFromEditor(); 26 | } 27 | 28 | callback(scriptFile); 29 | } 30 | 31 | module.exports = getScriptFile; 32 | 33 | function getScriptFileFromConfig() { 34 | let workspacePath = path.parse(process.cwd()).root; 35 | 36 | const workspaceFolder = ide.config.getWorkspaceFolder(); 37 | if (workspaceFolder) { 38 | workspacePath = workspaceFolder.uri.fsPath; 39 | } 40 | 41 | let scriptFile = path.join(workspacePath, ide.config.get().executeThis); 42 | scriptFile = path.resolve(scriptFile); 43 | 44 | if (!file.exists(scriptFile)) { 45 | throw ide.showInformationMessage(`File does not exist at path ${scriptFile}`); 46 | } else if (!file.isFile(scriptFile)) { 47 | throw ide.showInformationMessage(`Path is not a file ${scriptFile}`); 48 | } 49 | 50 | return scriptFile; 51 | } 52 | 53 | function getScriptFileFromEditor() { 54 | let scriptFile = ide.editor.getPath(); 55 | const settings = ide.config.get(); 56 | const text = ide.editor.ensureHasText(); 57 | 58 | if (!ide.editor.hasPath()) { 59 | scriptFile = file.saveFile(text, settings.temporaryFile); 60 | } 61 | 62 | return scriptFile; 63 | } 64 | 65 | function getScriptFileFromToken() { 66 | let scriptFile = ide.editor.ensereHasPath(); 67 | const rootDir = path.parse(scriptFile).root; 68 | let scriptFolder = path.dirname(scriptFile); 69 | 70 | let tokenPath = token.getPath(); 71 | tokenPath = file.untildify(tokenPath); 72 | 73 | let targetFile; 74 | while (scriptFolder !== rootDir) { 75 | targetFile = path.join(scriptFolder, tokenPath); 76 | targetFile = path.resolve(targetFile); 77 | 78 | if (file.exists(targetFile)) { 79 | return targetFile; 80 | } 81 | 82 | scriptFolder = path.dirname(scriptFolder); 83 | } 84 | 85 | throw ide.showInformationMessage(`Could not find target file "${tokenPath}".`); 86 | } 87 | -------------------------------------------------------------------------------- /lib/getShellCommand.js: -------------------------------------------------------------------------------- 1 | const file = require('./file.js'); 2 | const ide = require('./ide.js'); 3 | 4 | /** 5 | * Builds ready-to-execute Shell command. 6 | * @param {Object} hostApp Application data. 7 | * @param {String} scriptFile Path to a script file. 8 | * @param {Function} callback Callback function that receives the result. 9 | */ 10 | function getShellCommand(hostApp, scriptFile, callback) { 11 | const applicationName = hostApp.appName; 12 | const platform = process.platform; 13 | const settings = ide.config.get(); 14 | 15 | let command = hostApp[platform]; 16 | if (!command) { 17 | throw ide.showInformationMessage( 18 | `${applicationName} is not hooked-up to work with ${platform} os.` 19 | ); 20 | } 21 | 22 | if (platform === 'darwin' && command.includes('{activate}')) { 23 | const activate = settings.bringHostApplicationToFront ? 'activate' : ''; 24 | command = command.replace('{activate}', activate); 25 | } else if (platform === 'win32' && command.includes('{appExe}')) { 26 | // InDesign and InCopy does not expose 'appExe' in settings - they are launched via Visual Basic magic. 27 | const appExe = settings[hostApp.appExe]; 28 | if (!appExe || !file.exists(appExe)) { 29 | throw ide.showErrorMessage( 30 | `Unable to find ${applicationName} executable defined in settings. Make sure you have that path set-up correctly.` 31 | ); 32 | } 33 | 34 | command = command.replace('{appExe}', appExe); 35 | } 36 | 37 | command = command.replace('{scriptFile}', scriptFile); 38 | 39 | callback(command); 40 | } 41 | 42 | module.exports = getShellCommand; 43 | -------------------------------------------------------------------------------- /lib/hostApps.js: -------------------------------------------------------------------------------- 1 | const hostApps = [ 2 | { 3 | shortName: 'ae', 4 | appName: 'Adobe After Effects', 5 | darwin: `osascript -e 'tell application id "com.adobe.AfterEffects" to {activate} DoScriptFile "{scriptFile}" with override'`, 6 | win32: `"{appExe}" -r {scriptFile}`, 7 | appExe: 'winAfterEffectsExe', 8 | }, 9 | { 10 | shortName: 'ae-beta', 11 | appName: 'Adobe After Effects (Beta)', 12 | darwin: `osascript -e 'tell application id "com.adobe.AfterEffectsBeta" to {activate} DoScriptFile "{scriptFile}" with override'`, 13 | win32: `"{appExe}" -r {scriptFile}`, 14 | appExe: 'winAfterEffectsBetaExe', 15 | }, 16 | { 17 | shortName: 'ai', 18 | appName: 'Adobe Illustrator', 19 | darwin: `osascript -e 'tell application id "com.adobe.illustrator" to {activate} do javascript file "{scriptFile}"'`, 20 | win32: `"{appExe}" -r {scriptFile}`, 21 | appExe: 'winIllustratorExe', 22 | }, 23 | { 24 | shortName: 'ai-beta', 25 | appName: 'Adobe Illustrator (Beta)', 26 | darwin: `osascript -e 'tell application id "com.adobe.illustratorBeta" to {activate} do javascript file "{scriptFile}"'`, 27 | win32: `"{appExe}" -r {scriptFile}`, 28 | appExe: 'winIllustratorBetaExe', 29 | }, 30 | { 31 | shortName: 'estk', 32 | appName: 'Adobe ExtendScript Toolkit', 33 | darwin: `osascript -e 'tell application id "com.adobe.estoolkit-4.0" to {activate} open "{scriptFile}"'`, 34 | win32: `"{appExe}" -run {scriptFile}`, 35 | appExe: 'winExtendscriptToolkitExe', 36 | }, 37 | { 38 | shortName: 'ic', 39 | appName: 'Adobe InCopy', 40 | darwin: `osascript -e 'tell application id "com.adobe.InCopy" to {activate} do script "{scriptFile}" language javascript'`, 41 | win32: `powershell -command "$app = new-object -comobject InCopy.Application; $app.DoScript('{scriptFile}', 1246973031)"`, //http://jongware.mit.edu/idcs6js/pe_ScriptLanguage.html 42 | }, 43 | { 44 | shortName: 'id', 45 | appName: 'Adobe InDesign', 46 | darwin: `osascript -e 'tell application id "com.adobe.InDesign" to {activate} do script "{scriptFile}" language javascript'`, 47 | win32: `powershell -command "$app = new-object -comobject InDesign.Application; $app.DoScript('{scriptFile}', 1246973031)"`, //http://jongware.mit.edu/idcs6js/pe_ScriptLanguage.html 48 | }, 49 | { 50 | shortName: 'psd', 51 | appName: 'Adobe Photoshop', 52 | darwin: `osascript -e 'tell application id "com.adobe.Photoshop" to {activate} do javascript file "{scriptFile}"'`, 53 | win32: `"{appExe}" -r {scriptFile}`, 54 | appExe: 'winPhotoshopExe', 55 | }, 56 | { 57 | shortName: 'psd-beta', 58 | appName: 'Adobe Photoshop (Beta)', 59 | // Mac: Adobe Photoshop uses the same CFBundleIdentifier name (com.adobe.Photoshop) 60 | // for Official and Beta versions, so there's no way to target Beta version specifically 61 | win32: `"{appExe}" -r {scriptFile}`, 62 | appExe: 'winPhotoshopBetaExe', 63 | }, 64 | ]; 65 | 66 | module.exports = hostApps; 67 | -------------------------------------------------------------------------------- /lib/ide.js: -------------------------------------------------------------------------------- 1 | const vscode = require('vscode'); 2 | 3 | let ide = { 4 | showErrorMessage(string) { 5 | vscode.window.showErrorMessage(string); 6 | }, 7 | 8 | showWarningMessage(string) { 9 | vscode.window.showWarningMessage(string); 10 | }, 11 | 12 | showInformationMessage(string) { 13 | vscode.window.showInformationMessage(string); 14 | }, 15 | }; 16 | 17 | ide.config = { 18 | get() { 19 | const document = ide.editor.getDocument(); 20 | return vscode.workspace.getConfiguration('adobeScriptRunner', document.uri); 21 | }, 22 | 23 | getWorkspaceFolder() { 24 | const document = ide.editor.getDocument(); 25 | return vscode.workspace.getWorkspaceFolder(document.uri); 26 | }, 27 | }; 28 | 29 | ide.editor = { 30 | ensureHasActiveTextEditor() { 31 | const activeTextEditor = ide.editor.getActiveTextEditor(); 32 | if (!activeTextEditor) { 33 | throw ide.showInformationMessage('No active editor detected.'); 34 | } 35 | 36 | return activeTextEditor; 37 | }, 38 | 39 | ensereHasPath() { 40 | const path = ide.editor.getPath(); 41 | if (!path) { 42 | throw ide.showInformationMessage('Document has no path.'); 43 | } 44 | 45 | return path; 46 | }, 47 | 48 | ensureHasText() { 49 | const text = ide.editor.getText(); 50 | if (text.trim() === '') { 51 | throw ide.showInformationMessage('Document has no content.'); 52 | } 53 | 54 | return text; 55 | }, 56 | 57 | getActiveTextEditor() { 58 | return vscode.window.activeTextEditor; 59 | }, 60 | 61 | getDocument() { 62 | const activeTextEditor = ide.editor.ensureHasActiveTextEditor(); 63 | return activeTextEditor.document; 64 | }, 65 | 66 | getPath() { 67 | const document = ide.editor.getDocument(); 68 | return document.fileName; 69 | }, 70 | 71 | getText() { 72 | const document = ide.editor.getDocument(); 73 | return document.getText(); 74 | }, 75 | 76 | hasPath() { 77 | const document = ide.editor.getDocument(); 78 | return !document.isUntitled; 79 | }, 80 | 81 | isDirty() { 82 | const document = ide.editor.getDocument(); 83 | return document.isDirty && ide.editor.hasPath(); 84 | }, 85 | 86 | save() { 87 | const document = ide.editor.getDocument(); 88 | document.save(); 89 | }, 90 | }; 91 | 92 | module.exports = ide; 93 | -------------------------------------------------------------------------------- /lib/token.js: -------------------------------------------------------------------------------- 1 | const ASRToken = 'adobe-script-runner'; 2 | const ide = require('./ide.js'); 3 | 4 | const token = { 5 | exists() { 6 | const string = ide.editor.ensureHasText(); 7 | return hasToken(string); 8 | }, 9 | 10 | getPath() { 11 | const string = ide.editor.ensureHasText(); 12 | const tokeLine = getTokenLine(string); 13 | const tokenPath = getStringBetweenQuotes(tokeLine); 14 | 15 | return tokenPath.trim(); 16 | }, 17 | 18 | getContentWithoutToken() { 19 | const string = ide.editor.ensureHasText(); 20 | const contentWithoutToken = removeToken(string); 21 | 22 | return contentWithoutToken.trim(); 23 | }, 24 | }; 25 | 26 | module.exports = token; 27 | 28 | function getStringBetweenQuotes(string) { 29 | const quotedString = string.match(/['"](.*?)['"]/); 30 | if (!quotedString || !quotedString[1] || quotedString[1].trim() === '') { 31 | throw ide.showInformationMessage('Could not parse token path.'); 32 | } 33 | 34 | return quotedString[1]; 35 | } 36 | 37 | function getTokenLine(string) { 38 | const line = string.match(new RegExp(ASRToken + '.*', 'i')); 39 | if (!line) { 40 | throw ide.showInformationMessage('Could not parse token line.'); 41 | } 42 | 43 | return line[0]; 44 | } 45 | 46 | function hasToken(string) { 47 | return new RegExp(ASRToken, 'i').test(string); 48 | } 49 | 50 | function removeToken(string) { 51 | // eslint-disable-next-line no-useless-escape 52 | return string.replace(/(\/\*)?(\/\/)?\s?adobe-script-runner\s?['"].*?['"]\h*;?\h*(\*\/)?/, ''); 53 | } 54 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "adobe-script-runner", 3 | "version": "0.5.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "adobe-script-runner", 9 | "version": "0.5.0", 10 | "devDependencies": { 11 | "@types/node": "^7.0.43", 12 | "@types/vscode": "^1.21.0", 13 | "eslint": "^8.17.0", 14 | "eslint-config-prettier": "^8.5.0", 15 | "eslint-plugin-prettier": "^4.0.0", 16 | "prettier": "2.6.2", 17 | "vsce": "^2.9.1" 18 | }, 19 | "engines": { 20 | "vscode": "^1.21.0" 21 | } 22 | }, 23 | "node_modules/@eslint/eslintrc": { 24 | "version": "1.3.0", 25 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", 26 | "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", 27 | "dev": true, 28 | "dependencies": { 29 | "ajv": "^6.12.4", 30 | "debug": "^4.3.2", 31 | "espree": "^9.3.2", 32 | "globals": "^13.15.0", 33 | "ignore": "^5.2.0", 34 | "import-fresh": "^3.2.1", 35 | "js-yaml": "^4.1.0", 36 | "minimatch": "^3.1.2", 37 | "strip-json-comments": "^3.1.1" 38 | }, 39 | "engines": { 40 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 41 | } 42 | }, 43 | "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { 44 | "version": "3.1.1", 45 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 46 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 47 | "dev": true, 48 | "engines": { 49 | "node": ">=8" 50 | }, 51 | "funding": { 52 | "url": "https://github.com/sponsors/sindresorhus" 53 | } 54 | }, 55 | "node_modules/@humanwhocodes/config-array": { 56 | "version": "0.9.5", 57 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", 58 | "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", 59 | "dev": true, 60 | "dependencies": { 61 | "@humanwhocodes/object-schema": "^1.2.1", 62 | "debug": "^4.1.1", 63 | "minimatch": "^3.0.4" 64 | }, 65 | "engines": { 66 | "node": ">=10.10.0" 67 | } 68 | }, 69 | "node_modules/@humanwhocodes/object-schema": { 70 | "version": "1.2.1", 71 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 72 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 73 | "dev": true 74 | }, 75 | "node_modules/@types/node": { 76 | "version": "7.10.14", 77 | "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.14.tgz", 78 | "integrity": "sha512-29GS75BE8asnTno3yB6ubOJOO0FboExEqNJy4bpz0GSmW/8wPTNL4h9h63c6s1uTrOopCmJYe/4yJLh5r92ZUA==", 79 | "dev": true 80 | }, 81 | "node_modules/@types/vscode": { 82 | "version": "1.67.0", 83 | "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.67.0.tgz", 84 | "integrity": "sha512-GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g==", 85 | "dev": true 86 | }, 87 | "node_modules/acorn": { 88 | "version": "8.7.1", 89 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", 90 | "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", 91 | "dev": true, 92 | "bin": { 93 | "acorn": "bin/acorn" 94 | }, 95 | "engines": { 96 | "node": ">=0.4.0" 97 | } 98 | }, 99 | "node_modules/acorn-jsx": { 100 | "version": "5.3.2", 101 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 102 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 103 | "dev": true, 104 | "peerDependencies": { 105 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 106 | } 107 | }, 108 | "node_modules/ajv": { 109 | "version": "6.12.6", 110 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 111 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 112 | "dev": true, 113 | "dependencies": { 114 | "fast-deep-equal": "^3.1.1", 115 | "fast-json-stable-stringify": "^2.0.0", 116 | "json-schema-traverse": "^0.4.1", 117 | "uri-js": "^4.2.2" 118 | }, 119 | "funding": { 120 | "type": "github", 121 | "url": "https://github.com/sponsors/epoberezkin" 122 | } 123 | }, 124 | "node_modules/ansi-regex": { 125 | "version": "3.0.1", 126 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", 127 | "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", 128 | "dev": true, 129 | "engines": { 130 | "node": ">=4" 131 | } 132 | }, 133 | "node_modules/ansi-styles": { 134 | "version": "3.2.1", 135 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 136 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 137 | "dev": true, 138 | "dependencies": { 139 | "color-convert": "^1.9.0" 140 | }, 141 | "engines": { 142 | "node": ">=4" 143 | } 144 | }, 145 | "node_modules/aproba": { 146 | "version": "1.2.0", 147 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 148 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", 149 | "dev": true 150 | }, 151 | "node_modules/are-we-there-yet": { 152 | "version": "1.1.7", 153 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", 154 | "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", 155 | "dev": true, 156 | "dependencies": { 157 | "delegates": "^1.0.0", 158 | "readable-stream": "^2.0.6" 159 | } 160 | }, 161 | "node_modules/argparse": { 162 | "version": "2.0.1", 163 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 164 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 165 | "dev": true 166 | }, 167 | "node_modules/azure-devops-node-api": { 168 | "version": "11.1.1", 169 | "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.1.tgz", 170 | "integrity": "sha512-XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==", 171 | "dev": true, 172 | "dependencies": { 173 | "tunnel": "0.0.6", 174 | "typed-rest-client": "^1.8.4" 175 | } 176 | }, 177 | "node_modules/balanced-match": { 178 | "version": "1.0.2", 179 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 180 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 181 | "dev": true 182 | }, 183 | "node_modules/base64-js": { 184 | "version": "1.5.1", 185 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 186 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 187 | "dev": true, 188 | "funding": [ 189 | { 190 | "type": "github", 191 | "url": "https://github.com/sponsors/feross" 192 | }, 193 | { 194 | "type": "patreon", 195 | "url": "https://www.patreon.com/feross" 196 | }, 197 | { 198 | "type": "consulting", 199 | "url": "https://feross.org/support" 200 | } 201 | ] 202 | }, 203 | "node_modules/bl": { 204 | "version": "4.1.0", 205 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 206 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 207 | "dev": true, 208 | "dependencies": { 209 | "buffer": "^5.5.0", 210 | "inherits": "^2.0.4", 211 | "readable-stream": "^3.4.0" 212 | } 213 | }, 214 | "node_modules/bl/node_modules/readable-stream": { 215 | "version": "3.6.0", 216 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 217 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 218 | "dev": true, 219 | "dependencies": { 220 | "inherits": "^2.0.3", 221 | "string_decoder": "^1.1.1", 222 | "util-deprecate": "^1.0.1" 223 | }, 224 | "engines": { 225 | "node": ">= 6" 226 | } 227 | }, 228 | "node_modules/boolbase": { 229 | "version": "1.0.0", 230 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 231 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 232 | "dev": true 233 | }, 234 | "node_modules/brace-expansion": { 235 | "version": "1.1.11", 236 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 237 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 238 | "dev": true, 239 | "dependencies": { 240 | "balanced-match": "^1.0.0", 241 | "concat-map": "0.0.1" 242 | } 243 | }, 244 | "node_modules/buffer": { 245 | "version": "5.7.1", 246 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 247 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 248 | "dev": true, 249 | "funding": [ 250 | { 251 | "type": "github", 252 | "url": "https://github.com/sponsors/feross" 253 | }, 254 | { 255 | "type": "patreon", 256 | "url": "https://www.patreon.com/feross" 257 | }, 258 | { 259 | "type": "consulting", 260 | "url": "https://feross.org/support" 261 | } 262 | ], 263 | "dependencies": { 264 | "base64-js": "^1.3.1", 265 | "ieee754": "^1.1.13" 266 | } 267 | }, 268 | "node_modules/buffer-crc32": { 269 | "version": "0.2.13", 270 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 271 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 272 | "dev": true, 273 | "engines": { 274 | "node": "*" 275 | } 276 | }, 277 | "node_modules/call-bind": { 278 | "version": "1.0.2", 279 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 280 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 281 | "dev": true, 282 | "dependencies": { 283 | "function-bind": "^1.1.1", 284 | "get-intrinsic": "^1.0.2" 285 | }, 286 | "funding": { 287 | "url": "https://github.com/sponsors/ljharb" 288 | } 289 | }, 290 | "node_modules/callsites": { 291 | "version": "3.1.0", 292 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 293 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 294 | "dev": true, 295 | "engines": { 296 | "node": ">=6" 297 | } 298 | }, 299 | "node_modules/chalk": { 300 | "version": "2.4.2", 301 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 302 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 303 | "dev": true, 304 | "dependencies": { 305 | "ansi-styles": "^3.2.1", 306 | "escape-string-regexp": "^1.0.5", 307 | "supports-color": "^5.3.0" 308 | }, 309 | "engines": { 310 | "node": ">=4" 311 | } 312 | }, 313 | "node_modules/cheerio": { 314 | "version": "1.0.0-rc.11", 315 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.11.tgz", 316 | "integrity": "sha512-bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag==", 317 | "dev": true, 318 | "dependencies": { 319 | "cheerio-select": "^2.1.0", 320 | "dom-serializer": "^2.0.0", 321 | "domhandler": "^5.0.3", 322 | "domutils": "^3.0.1", 323 | "htmlparser2": "^8.0.1", 324 | "parse5": "^7.0.0", 325 | "parse5-htmlparser2-tree-adapter": "^7.0.0", 326 | "tslib": "^2.4.0" 327 | }, 328 | "engines": { 329 | "node": ">= 6" 330 | }, 331 | "funding": { 332 | "url": "https://github.com/cheeriojs/cheerio?sponsor=1" 333 | } 334 | }, 335 | "node_modules/cheerio-select": { 336 | "version": "2.1.0", 337 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", 338 | "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", 339 | "dev": true, 340 | "dependencies": { 341 | "boolbase": "^1.0.0", 342 | "css-select": "^5.1.0", 343 | "css-what": "^6.1.0", 344 | "domelementtype": "^2.3.0", 345 | "domhandler": "^5.0.3", 346 | "domutils": "^3.0.1" 347 | }, 348 | "funding": { 349 | "url": "https://github.com/sponsors/fb55" 350 | } 351 | }, 352 | "node_modules/chownr": { 353 | "version": "1.1.4", 354 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 355 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 356 | "dev": true 357 | }, 358 | "node_modules/code-point-at": { 359 | "version": "1.1.0", 360 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 361 | "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", 362 | "dev": true, 363 | "engines": { 364 | "node": ">=0.10.0" 365 | } 366 | }, 367 | "node_modules/color-convert": { 368 | "version": "1.9.3", 369 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 370 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 371 | "dev": true, 372 | "dependencies": { 373 | "color-name": "1.1.3" 374 | } 375 | }, 376 | "node_modules/color-name": { 377 | "version": "1.1.3", 378 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 379 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 380 | "dev": true 381 | }, 382 | "node_modules/commander": { 383 | "version": "6.2.1", 384 | "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", 385 | "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", 386 | "dev": true, 387 | "engines": { 388 | "node": ">= 6" 389 | } 390 | }, 391 | "node_modules/concat-map": { 392 | "version": "0.0.1", 393 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 394 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 395 | "dev": true 396 | }, 397 | "node_modules/console-control-strings": { 398 | "version": "1.1.0", 399 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 400 | "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", 401 | "dev": true 402 | }, 403 | "node_modules/core-util-is": { 404 | "version": "1.0.3", 405 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 406 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 407 | "dev": true 408 | }, 409 | "node_modules/cross-spawn": { 410 | "version": "7.0.3", 411 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 412 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 413 | "dev": true, 414 | "dependencies": { 415 | "path-key": "^3.1.0", 416 | "shebang-command": "^2.0.0", 417 | "which": "^2.0.1" 418 | }, 419 | "engines": { 420 | "node": ">= 8" 421 | } 422 | }, 423 | "node_modules/css-select": { 424 | "version": "5.1.0", 425 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", 426 | "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", 427 | "dev": true, 428 | "dependencies": { 429 | "boolbase": "^1.0.0", 430 | "css-what": "^6.1.0", 431 | "domhandler": "^5.0.2", 432 | "domutils": "^3.0.1", 433 | "nth-check": "^2.0.1" 434 | }, 435 | "funding": { 436 | "url": "https://github.com/sponsors/fb55" 437 | } 438 | }, 439 | "node_modules/css-what": { 440 | "version": "6.1.0", 441 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 442 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 443 | "dev": true, 444 | "engines": { 445 | "node": ">= 6" 446 | }, 447 | "funding": { 448 | "url": "https://github.com/sponsors/fb55" 449 | } 450 | }, 451 | "node_modules/debug": { 452 | "version": "4.3.4", 453 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 454 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 455 | "dev": true, 456 | "dependencies": { 457 | "ms": "2.1.2" 458 | }, 459 | "engines": { 460 | "node": ">=6.0" 461 | }, 462 | "peerDependenciesMeta": { 463 | "supports-color": { 464 | "optional": true 465 | } 466 | } 467 | }, 468 | "node_modules/decompress-response": { 469 | "version": "6.0.0", 470 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 471 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 472 | "dev": true, 473 | "dependencies": { 474 | "mimic-response": "^3.1.0" 475 | }, 476 | "engines": { 477 | "node": ">=10" 478 | }, 479 | "funding": { 480 | "url": "https://github.com/sponsors/sindresorhus" 481 | } 482 | }, 483 | "node_modules/deep-extend": { 484 | "version": "0.6.0", 485 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 486 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 487 | "dev": true, 488 | "engines": { 489 | "node": ">=4.0.0" 490 | } 491 | }, 492 | "node_modules/deep-is": { 493 | "version": "0.1.4", 494 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 495 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 496 | "dev": true 497 | }, 498 | "node_modules/delegates": { 499 | "version": "1.0.0", 500 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 501 | "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", 502 | "dev": true 503 | }, 504 | "node_modules/detect-libc": { 505 | "version": "2.0.1", 506 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", 507 | "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", 508 | "dev": true, 509 | "engines": { 510 | "node": ">=8" 511 | } 512 | }, 513 | "node_modules/doctrine": { 514 | "version": "3.0.0", 515 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 516 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 517 | "dev": true, 518 | "dependencies": { 519 | "esutils": "^2.0.2" 520 | }, 521 | "engines": { 522 | "node": ">=6.0.0" 523 | } 524 | }, 525 | "node_modules/dom-serializer": { 526 | "version": "2.0.0", 527 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 528 | "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 529 | "dev": true, 530 | "dependencies": { 531 | "domelementtype": "^2.3.0", 532 | "domhandler": "^5.0.2", 533 | "entities": "^4.2.0" 534 | }, 535 | "funding": { 536 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 537 | } 538 | }, 539 | "node_modules/domelementtype": { 540 | "version": "2.3.0", 541 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 542 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 543 | "dev": true, 544 | "funding": [ 545 | { 546 | "type": "github", 547 | "url": "https://github.com/sponsors/fb55" 548 | } 549 | ] 550 | }, 551 | "node_modules/domhandler": { 552 | "version": "5.0.3", 553 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 554 | "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 555 | "dev": true, 556 | "dependencies": { 557 | "domelementtype": "^2.3.0" 558 | }, 559 | "engines": { 560 | "node": ">= 4" 561 | }, 562 | "funding": { 563 | "url": "https://github.com/fb55/domhandler?sponsor=1" 564 | } 565 | }, 566 | "node_modules/domutils": { 567 | "version": "3.0.1", 568 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", 569 | "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", 570 | "dev": true, 571 | "dependencies": { 572 | "dom-serializer": "^2.0.0", 573 | "domelementtype": "^2.3.0", 574 | "domhandler": "^5.0.1" 575 | }, 576 | "funding": { 577 | "url": "https://github.com/fb55/domutils?sponsor=1" 578 | } 579 | }, 580 | "node_modules/end-of-stream": { 581 | "version": "1.4.4", 582 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 583 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 584 | "dev": true, 585 | "dependencies": { 586 | "once": "^1.4.0" 587 | } 588 | }, 589 | "node_modules/entities": { 590 | "version": "4.3.0", 591 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz", 592 | "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", 593 | "dev": true, 594 | "engines": { 595 | "node": ">=0.12" 596 | }, 597 | "funding": { 598 | "url": "https://github.com/fb55/entities?sponsor=1" 599 | } 600 | }, 601 | "node_modules/escape-string-regexp": { 602 | "version": "1.0.5", 603 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 604 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 605 | "dev": true, 606 | "engines": { 607 | "node": ">=0.8.0" 608 | } 609 | }, 610 | "node_modules/eslint": { 611 | "version": "8.17.0", 612 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", 613 | "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", 614 | "dev": true, 615 | "dependencies": { 616 | "@eslint/eslintrc": "^1.3.0", 617 | "@humanwhocodes/config-array": "^0.9.2", 618 | "ajv": "^6.10.0", 619 | "chalk": "^4.0.0", 620 | "cross-spawn": "^7.0.2", 621 | "debug": "^4.3.2", 622 | "doctrine": "^3.0.0", 623 | "escape-string-regexp": "^4.0.0", 624 | "eslint-scope": "^7.1.1", 625 | "eslint-utils": "^3.0.0", 626 | "eslint-visitor-keys": "^3.3.0", 627 | "espree": "^9.3.2", 628 | "esquery": "^1.4.0", 629 | "esutils": "^2.0.2", 630 | "fast-deep-equal": "^3.1.3", 631 | "file-entry-cache": "^6.0.1", 632 | "functional-red-black-tree": "^1.0.1", 633 | "glob-parent": "^6.0.1", 634 | "globals": "^13.15.0", 635 | "ignore": "^5.2.0", 636 | "import-fresh": "^3.0.0", 637 | "imurmurhash": "^0.1.4", 638 | "is-glob": "^4.0.0", 639 | "js-yaml": "^4.1.0", 640 | "json-stable-stringify-without-jsonify": "^1.0.1", 641 | "levn": "^0.4.1", 642 | "lodash.merge": "^4.6.2", 643 | "minimatch": "^3.1.2", 644 | "natural-compare": "^1.4.0", 645 | "optionator": "^0.9.1", 646 | "regexpp": "^3.2.0", 647 | "strip-ansi": "^6.0.1", 648 | "strip-json-comments": "^3.1.0", 649 | "text-table": "^0.2.0", 650 | "v8-compile-cache": "^2.0.3" 651 | }, 652 | "bin": { 653 | "eslint": "bin/eslint.js" 654 | }, 655 | "engines": { 656 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 657 | }, 658 | "funding": { 659 | "url": "https://opencollective.com/eslint" 660 | } 661 | }, 662 | "node_modules/eslint-config-prettier": { 663 | "version": "8.5.0", 664 | "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", 665 | "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", 666 | "dev": true, 667 | "bin": { 668 | "eslint-config-prettier": "bin/cli.js" 669 | }, 670 | "peerDependencies": { 671 | "eslint": ">=7.0.0" 672 | } 673 | }, 674 | "node_modules/eslint-plugin-prettier": { 675 | "version": "4.0.0", 676 | "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", 677 | "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", 678 | "dev": true, 679 | "dependencies": { 680 | "prettier-linter-helpers": "^1.0.0" 681 | }, 682 | "engines": { 683 | "node": ">=6.0.0" 684 | }, 685 | "peerDependencies": { 686 | "eslint": ">=7.28.0", 687 | "prettier": ">=2.0.0" 688 | }, 689 | "peerDependenciesMeta": { 690 | "eslint-config-prettier": { 691 | "optional": true 692 | } 693 | } 694 | }, 695 | "node_modules/eslint-scope": { 696 | "version": "7.1.1", 697 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 698 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 699 | "dev": true, 700 | "dependencies": { 701 | "esrecurse": "^4.3.0", 702 | "estraverse": "^5.2.0" 703 | }, 704 | "engines": { 705 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 706 | } 707 | }, 708 | "node_modules/eslint-utils": { 709 | "version": "3.0.0", 710 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 711 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 712 | "dev": true, 713 | "dependencies": { 714 | "eslint-visitor-keys": "^2.0.0" 715 | }, 716 | "engines": { 717 | "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" 718 | }, 719 | "funding": { 720 | "url": "https://github.com/sponsors/mysticatea" 721 | }, 722 | "peerDependencies": { 723 | "eslint": ">=5" 724 | } 725 | }, 726 | "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { 727 | "version": "2.1.0", 728 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 729 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 730 | "dev": true, 731 | "engines": { 732 | "node": ">=10" 733 | } 734 | }, 735 | "node_modules/eslint-visitor-keys": { 736 | "version": "3.3.0", 737 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 738 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 739 | "dev": true, 740 | "engines": { 741 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 742 | } 743 | }, 744 | "node_modules/eslint/node_modules/ansi-regex": { 745 | "version": "5.0.1", 746 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 747 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 748 | "dev": true, 749 | "engines": { 750 | "node": ">=8" 751 | } 752 | }, 753 | "node_modules/eslint/node_modules/ansi-styles": { 754 | "version": "4.3.0", 755 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 756 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 757 | "dev": true, 758 | "dependencies": { 759 | "color-convert": "^2.0.1" 760 | }, 761 | "engines": { 762 | "node": ">=8" 763 | }, 764 | "funding": { 765 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 766 | } 767 | }, 768 | "node_modules/eslint/node_modules/chalk": { 769 | "version": "4.1.2", 770 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 771 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 772 | "dev": true, 773 | "dependencies": { 774 | "ansi-styles": "^4.1.0", 775 | "supports-color": "^7.1.0" 776 | }, 777 | "engines": { 778 | "node": ">=10" 779 | }, 780 | "funding": { 781 | "url": "https://github.com/chalk/chalk?sponsor=1" 782 | } 783 | }, 784 | "node_modules/eslint/node_modules/color-convert": { 785 | "version": "2.0.1", 786 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 787 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 788 | "dev": true, 789 | "dependencies": { 790 | "color-name": "~1.1.4" 791 | }, 792 | "engines": { 793 | "node": ">=7.0.0" 794 | } 795 | }, 796 | "node_modules/eslint/node_modules/color-name": { 797 | "version": "1.1.4", 798 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 799 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 800 | "dev": true 801 | }, 802 | "node_modules/eslint/node_modules/escape-string-regexp": { 803 | "version": "4.0.0", 804 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 805 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 806 | "dev": true, 807 | "engines": { 808 | "node": ">=10" 809 | }, 810 | "funding": { 811 | "url": "https://github.com/sponsors/sindresorhus" 812 | } 813 | }, 814 | "node_modules/eslint/node_modules/has-flag": { 815 | "version": "4.0.0", 816 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 817 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 818 | "dev": true, 819 | "engines": { 820 | "node": ">=8" 821 | } 822 | }, 823 | "node_modules/eslint/node_modules/strip-ansi": { 824 | "version": "6.0.1", 825 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 826 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 827 | "dev": true, 828 | "dependencies": { 829 | "ansi-regex": "^5.0.1" 830 | }, 831 | "engines": { 832 | "node": ">=8" 833 | } 834 | }, 835 | "node_modules/eslint/node_modules/strip-json-comments": { 836 | "version": "3.1.1", 837 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 838 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 839 | "dev": true, 840 | "engines": { 841 | "node": ">=8" 842 | }, 843 | "funding": { 844 | "url": "https://github.com/sponsors/sindresorhus" 845 | } 846 | }, 847 | "node_modules/eslint/node_modules/supports-color": { 848 | "version": "7.2.0", 849 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 850 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 851 | "dev": true, 852 | "dependencies": { 853 | "has-flag": "^4.0.0" 854 | }, 855 | "engines": { 856 | "node": ">=8" 857 | } 858 | }, 859 | "node_modules/espree": { 860 | "version": "9.3.2", 861 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", 862 | "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", 863 | "dev": true, 864 | "dependencies": { 865 | "acorn": "^8.7.1", 866 | "acorn-jsx": "^5.3.2", 867 | "eslint-visitor-keys": "^3.3.0" 868 | }, 869 | "engines": { 870 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 871 | } 872 | }, 873 | "node_modules/esquery": { 874 | "version": "1.4.0", 875 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 876 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 877 | "dev": true, 878 | "dependencies": { 879 | "estraverse": "^5.1.0" 880 | }, 881 | "engines": { 882 | "node": ">=0.10" 883 | } 884 | }, 885 | "node_modules/esrecurse": { 886 | "version": "4.3.0", 887 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 888 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 889 | "dev": true, 890 | "dependencies": { 891 | "estraverse": "^5.2.0" 892 | }, 893 | "engines": { 894 | "node": ">=4.0" 895 | } 896 | }, 897 | "node_modules/estraverse": { 898 | "version": "5.3.0", 899 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 900 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 901 | "dev": true, 902 | "engines": { 903 | "node": ">=4.0" 904 | } 905 | }, 906 | "node_modules/esutils": { 907 | "version": "2.0.3", 908 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 909 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 910 | "dev": true, 911 | "engines": { 912 | "node": ">=0.10.0" 913 | } 914 | }, 915 | "node_modules/expand-template": { 916 | "version": "2.0.3", 917 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 918 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 919 | "dev": true, 920 | "engines": { 921 | "node": ">=6" 922 | } 923 | }, 924 | "node_modules/fast-deep-equal": { 925 | "version": "3.1.3", 926 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 927 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 928 | "dev": true 929 | }, 930 | "node_modules/fast-diff": { 931 | "version": "1.2.0", 932 | "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", 933 | "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", 934 | "dev": true 935 | }, 936 | "node_modules/fast-json-stable-stringify": { 937 | "version": "2.1.0", 938 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 939 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 940 | "dev": true 941 | }, 942 | "node_modules/fast-levenshtein": { 943 | "version": "2.0.6", 944 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 945 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 946 | "dev": true 947 | }, 948 | "node_modules/fd-slicer": { 949 | "version": "1.1.0", 950 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 951 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", 952 | "dev": true, 953 | "dependencies": { 954 | "pend": "~1.2.0" 955 | } 956 | }, 957 | "node_modules/file-entry-cache": { 958 | "version": "6.0.1", 959 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 960 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 961 | "dev": true, 962 | "dependencies": { 963 | "flat-cache": "^3.0.4" 964 | }, 965 | "engines": { 966 | "node": "^10.12.0 || >=12.0.0" 967 | } 968 | }, 969 | "node_modules/flat-cache": { 970 | "version": "3.0.4", 971 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 972 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 973 | "dev": true, 974 | "dependencies": { 975 | "flatted": "^3.1.0", 976 | "rimraf": "^3.0.2" 977 | }, 978 | "engines": { 979 | "node": "^10.12.0 || >=12.0.0" 980 | } 981 | }, 982 | "node_modules/flatted": { 983 | "version": "3.2.5", 984 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", 985 | "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", 986 | "dev": true 987 | }, 988 | "node_modules/fs-constants": { 989 | "version": "1.0.0", 990 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 991 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 992 | "dev": true 993 | }, 994 | "node_modules/fs.realpath": { 995 | "version": "1.0.0", 996 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 997 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 998 | "dev": true 999 | }, 1000 | "node_modules/function-bind": { 1001 | "version": "1.1.1", 1002 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1003 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1004 | "dev": true 1005 | }, 1006 | "node_modules/functional-red-black-tree": { 1007 | "version": "1.0.1", 1008 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1009 | "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", 1010 | "dev": true 1011 | }, 1012 | "node_modules/gauge": { 1013 | "version": "2.7.4", 1014 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", 1015 | "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", 1016 | "dev": true, 1017 | "dependencies": { 1018 | "aproba": "^1.0.3", 1019 | "console-control-strings": "^1.0.0", 1020 | "has-unicode": "^2.0.0", 1021 | "object-assign": "^4.1.0", 1022 | "signal-exit": "^3.0.0", 1023 | "string-width": "^1.0.1", 1024 | "strip-ansi": "^3.0.1", 1025 | "wide-align": "^1.1.0" 1026 | } 1027 | }, 1028 | "node_modules/gauge/node_modules/ansi-regex": { 1029 | "version": "2.1.1", 1030 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 1031 | "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", 1032 | "dev": true, 1033 | "engines": { 1034 | "node": ">=0.10.0" 1035 | } 1036 | }, 1037 | "node_modules/gauge/node_modules/is-fullwidth-code-point": { 1038 | "version": "1.0.0", 1039 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1040 | "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", 1041 | "dev": true, 1042 | "dependencies": { 1043 | "number-is-nan": "^1.0.0" 1044 | }, 1045 | "engines": { 1046 | "node": ">=0.10.0" 1047 | } 1048 | }, 1049 | "node_modules/gauge/node_modules/string-width": { 1050 | "version": "1.0.2", 1051 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 1052 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 1053 | "dev": true, 1054 | "dependencies": { 1055 | "code-point-at": "^1.0.0", 1056 | "is-fullwidth-code-point": "^1.0.0", 1057 | "strip-ansi": "^3.0.0" 1058 | }, 1059 | "engines": { 1060 | "node": ">=0.10.0" 1061 | } 1062 | }, 1063 | "node_modules/gauge/node_modules/strip-ansi": { 1064 | "version": "3.0.1", 1065 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 1066 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1067 | "dev": true, 1068 | "dependencies": { 1069 | "ansi-regex": "^2.0.0" 1070 | }, 1071 | "engines": { 1072 | "node": ">=0.10.0" 1073 | } 1074 | }, 1075 | "node_modules/get-intrinsic": { 1076 | "version": "1.1.1", 1077 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 1078 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 1079 | "dev": true, 1080 | "dependencies": { 1081 | "function-bind": "^1.1.1", 1082 | "has": "^1.0.3", 1083 | "has-symbols": "^1.0.1" 1084 | }, 1085 | "funding": { 1086 | "url": "https://github.com/sponsors/ljharb" 1087 | } 1088 | }, 1089 | "node_modules/github-from-package": { 1090 | "version": "0.0.0", 1091 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 1092 | "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", 1093 | "dev": true 1094 | }, 1095 | "node_modules/glob": { 1096 | "version": "7.2.3", 1097 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1098 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1099 | "dev": true, 1100 | "dependencies": { 1101 | "fs.realpath": "^1.0.0", 1102 | "inflight": "^1.0.4", 1103 | "inherits": "2", 1104 | "minimatch": "^3.1.1", 1105 | "once": "^1.3.0", 1106 | "path-is-absolute": "^1.0.0" 1107 | }, 1108 | "engines": { 1109 | "node": "*" 1110 | }, 1111 | "funding": { 1112 | "url": "https://github.com/sponsors/isaacs" 1113 | } 1114 | }, 1115 | "node_modules/glob-parent": { 1116 | "version": "6.0.2", 1117 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1118 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1119 | "dev": true, 1120 | "dependencies": { 1121 | "is-glob": "^4.0.3" 1122 | }, 1123 | "engines": { 1124 | "node": ">=10.13.0" 1125 | } 1126 | }, 1127 | "node_modules/globals": { 1128 | "version": "13.15.0", 1129 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", 1130 | "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", 1131 | "dev": true, 1132 | "dependencies": { 1133 | "type-fest": "^0.20.2" 1134 | }, 1135 | "engines": { 1136 | "node": ">=8" 1137 | }, 1138 | "funding": { 1139 | "url": "https://github.com/sponsors/sindresorhus" 1140 | } 1141 | }, 1142 | "node_modules/has": { 1143 | "version": "1.0.3", 1144 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1145 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1146 | "dev": true, 1147 | "dependencies": { 1148 | "function-bind": "^1.1.1" 1149 | }, 1150 | "engines": { 1151 | "node": ">= 0.4.0" 1152 | } 1153 | }, 1154 | "node_modules/has-flag": { 1155 | "version": "3.0.0", 1156 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1157 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1158 | "dev": true, 1159 | "engines": { 1160 | "node": ">=4" 1161 | } 1162 | }, 1163 | "node_modules/has-symbols": { 1164 | "version": "1.0.3", 1165 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1166 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 1167 | "dev": true, 1168 | "engines": { 1169 | "node": ">= 0.4" 1170 | }, 1171 | "funding": { 1172 | "url": "https://github.com/sponsors/ljharb" 1173 | } 1174 | }, 1175 | "node_modules/has-unicode": { 1176 | "version": "2.0.1", 1177 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1178 | "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", 1179 | "dev": true 1180 | }, 1181 | "node_modules/hosted-git-info": { 1182 | "version": "4.1.0", 1183 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", 1184 | "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", 1185 | "dev": true, 1186 | "dependencies": { 1187 | "lru-cache": "^6.0.0" 1188 | }, 1189 | "engines": { 1190 | "node": ">=10" 1191 | } 1192 | }, 1193 | "node_modules/hosted-git-info/node_modules/lru-cache": { 1194 | "version": "6.0.0", 1195 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1196 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1197 | "dev": true, 1198 | "dependencies": { 1199 | "yallist": "^4.0.0" 1200 | }, 1201 | "engines": { 1202 | "node": ">=10" 1203 | } 1204 | }, 1205 | "node_modules/hosted-git-info/node_modules/yallist": { 1206 | "version": "4.0.0", 1207 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1208 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1209 | "dev": true 1210 | }, 1211 | "node_modules/htmlparser2": { 1212 | "version": "8.0.1", 1213 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", 1214 | "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", 1215 | "dev": true, 1216 | "funding": [ 1217 | "https://github.com/fb55/htmlparser2?sponsor=1", 1218 | { 1219 | "type": "github", 1220 | "url": "https://github.com/sponsors/fb55" 1221 | } 1222 | ], 1223 | "dependencies": { 1224 | "domelementtype": "^2.3.0", 1225 | "domhandler": "^5.0.2", 1226 | "domutils": "^3.0.1", 1227 | "entities": "^4.3.0" 1228 | } 1229 | }, 1230 | "node_modules/ieee754": { 1231 | "version": "1.2.1", 1232 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1233 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1234 | "dev": true, 1235 | "funding": [ 1236 | { 1237 | "type": "github", 1238 | "url": "https://github.com/sponsors/feross" 1239 | }, 1240 | { 1241 | "type": "patreon", 1242 | "url": "https://www.patreon.com/feross" 1243 | }, 1244 | { 1245 | "type": "consulting", 1246 | "url": "https://feross.org/support" 1247 | } 1248 | ] 1249 | }, 1250 | "node_modules/ignore": { 1251 | "version": "5.2.0", 1252 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1253 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1254 | "dev": true, 1255 | "engines": { 1256 | "node": ">= 4" 1257 | } 1258 | }, 1259 | "node_modules/import-fresh": { 1260 | "version": "3.3.0", 1261 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1262 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1263 | "dev": true, 1264 | "dependencies": { 1265 | "parent-module": "^1.0.0", 1266 | "resolve-from": "^4.0.0" 1267 | }, 1268 | "engines": { 1269 | "node": ">=6" 1270 | }, 1271 | "funding": { 1272 | "url": "https://github.com/sponsors/sindresorhus" 1273 | } 1274 | }, 1275 | "node_modules/imurmurhash": { 1276 | "version": "0.1.4", 1277 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1278 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1279 | "dev": true, 1280 | "engines": { 1281 | "node": ">=0.8.19" 1282 | } 1283 | }, 1284 | "node_modules/inflight": { 1285 | "version": "1.0.6", 1286 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1287 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1288 | "dev": true, 1289 | "dependencies": { 1290 | "once": "^1.3.0", 1291 | "wrappy": "1" 1292 | } 1293 | }, 1294 | "node_modules/inherits": { 1295 | "version": "2.0.4", 1296 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1297 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1298 | "dev": true 1299 | }, 1300 | "node_modules/ini": { 1301 | "version": "1.3.8", 1302 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1303 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 1304 | "dev": true 1305 | }, 1306 | "node_modules/is-extglob": { 1307 | "version": "2.1.1", 1308 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1309 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1310 | "dev": true, 1311 | "engines": { 1312 | "node": ">=0.10.0" 1313 | } 1314 | }, 1315 | "node_modules/is-fullwidth-code-point": { 1316 | "version": "2.0.0", 1317 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1318 | "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", 1319 | "dev": true, 1320 | "engines": { 1321 | "node": ">=4" 1322 | } 1323 | }, 1324 | "node_modules/is-glob": { 1325 | "version": "4.0.3", 1326 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1327 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1328 | "dev": true, 1329 | "dependencies": { 1330 | "is-extglob": "^2.1.1" 1331 | }, 1332 | "engines": { 1333 | "node": ">=0.10.0" 1334 | } 1335 | }, 1336 | "node_modules/isarray": { 1337 | "version": "1.0.0", 1338 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1339 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 1340 | "dev": true 1341 | }, 1342 | "node_modules/isexe": { 1343 | "version": "2.0.0", 1344 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1345 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1346 | "dev": true 1347 | }, 1348 | "node_modules/js-yaml": { 1349 | "version": "4.1.0", 1350 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1351 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1352 | "dev": true, 1353 | "dependencies": { 1354 | "argparse": "^2.0.1" 1355 | }, 1356 | "bin": { 1357 | "js-yaml": "bin/js-yaml.js" 1358 | } 1359 | }, 1360 | "node_modules/json-schema-traverse": { 1361 | "version": "0.4.1", 1362 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1363 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1364 | "dev": true 1365 | }, 1366 | "node_modules/json-stable-stringify-without-jsonify": { 1367 | "version": "1.0.1", 1368 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1369 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1370 | "dev": true 1371 | }, 1372 | "node_modules/keytar": { 1373 | "version": "7.9.0", 1374 | "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", 1375 | "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", 1376 | "dev": true, 1377 | "hasInstallScript": true, 1378 | "dependencies": { 1379 | "node-addon-api": "^4.3.0", 1380 | "prebuild-install": "^7.0.1" 1381 | } 1382 | }, 1383 | "node_modules/leven": { 1384 | "version": "3.1.0", 1385 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 1386 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 1387 | "dev": true, 1388 | "engines": { 1389 | "node": ">=6" 1390 | } 1391 | }, 1392 | "node_modules/levn": { 1393 | "version": "0.4.1", 1394 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1395 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1396 | "dev": true, 1397 | "dependencies": { 1398 | "prelude-ls": "^1.2.1", 1399 | "type-check": "~0.4.0" 1400 | }, 1401 | "engines": { 1402 | "node": ">= 0.8.0" 1403 | } 1404 | }, 1405 | "node_modules/linkify-it": { 1406 | "version": "3.0.3", 1407 | "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", 1408 | "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", 1409 | "dev": true, 1410 | "dependencies": { 1411 | "uc.micro": "^1.0.1" 1412 | } 1413 | }, 1414 | "node_modules/lodash.merge": { 1415 | "version": "4.6.2", 1416 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1417 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1418 | "dev": true 1419 | }, 1420 | "node_modules/markdown-it": { 1421 | "version": "12.3.2", 1422 | "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", 1423 | "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", 1424 | "dev": true, 1425 | "dependencies": { 1426 | "argparse": "^2.0.1", 1427 | "entities": "~2.1.0", 1428 | "linkify-it": "^3.0.1", 1429 | "mdurl": "^1.0.1", 1430 | "uc.micro": "^1.0.5" 1431 | }, 1432 | "bin": { 1433 | "markdown-it": "bin/markdown-it.js" 1434 | } 1435 | }, 1436 | "node_modules/markdown-it/node_modules/entities": { 1437 | "version": "2.1.0", 1438 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", 1439 | "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", 1440 | "dev": true, 1441 | "funding": { 1442 | "url": "https://github.com/fb55/entities?sponsor=1" 1443 | } 1444 | }, 1445 | "node_modules/mdurl": { 1446 | "version": "1.0.1", 1447 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 1448 | "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", 1449 | "dev": true 1450 | }, 1451 | "node_modules/mime": { 1452 | "version": "1.6.0", 1453 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1454 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 1455 | "dev": true, 1456 | "bin": { 1457 | "mime": "cli.js" 1458 | }, 1459 | "engines": { 1460 | "node": ">=4" 1461 | } 1462 | }, 1463 | "node_modules/mimic-response": { 1464 | "version": "3.1.0", 1465 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 1466 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 1467 | "dev": true, 1468 | "engines": { 1469 | "node": ">=10" 1470 | }, 1471 | "funding": { 1472 | "url": "https://github.com/sponsors/sindresorhus" 1473 | } 1474 | }, 1475 | "node_modules/minimatch": { 1476 | "version": "3.1.2", 1477 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1478 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1479 | "dev": true, 1480 | "dependencies": { 1481 | "brace-expansion": "^1.1.7" 1482 | }, 1483 | "engines": { 1484 | "node": "*" 1485 | } 1486 | }, 1487 | "node_modules/minimist": { 1488 | "version": "1.2.6", 1489 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1490 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1491 | "dev": true 1492 | }, 1493 | "node_modules/mkdirp-classic": { 1494 | "version": "0.5.3", 1495 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 1496 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 1497 | "dev": true 1498 | }, 1499 | "node_modules/ms": { 1500 | "version": "2.1.2", 1501 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1502 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1503 | "dev": true 1504 | }, 1505 | "node_modules/mute-stream": { 1506 | "version": "0.0.7", 1507 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 1508 | "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", 1509 | "dev": true 1510 | }, 1511 | "node_modules/napi-build-utils": { 1512 | "version": "1.0.2", 1513 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 1514 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", 1515 | "dev": true 1516 | }, 1517 | "node_modules/natural-compare": { 1518 | "version": "1.4.0", 1519 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1520 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1521 | "dev": true 1522 | }, 1523 | "node_modules/node-abi": { 1524 | "version": "3.22.0", 1525 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz", 1526 | "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==", 1527 | "dev": true, 1528 | "dependencies": { 1529 | "semver": "^7.3.5" 1530 | }, 1531 | "engines": { 1532 | "node": ">=10" 1533 | } 1534 | }, 1535 | "node_modules/node-abi/node_modules/lru-cache": { 1536 | "version": "6.0.0", 1537 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1538 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1539 | "dev": true, 1540 | "dependencies": { 1541 | "yallist": "^4.0.0" 1542 | }, 1543 | "engines": { 1544 | "node": ">=10" 1545 | } 1546 | }, 1547 | "node_modules/node-abi/node_modules/semver": { 1548 | "version": "7.3.7", 1549 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 1550 | "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 1551 | "dev": true, 1552 | "dependencies": { 1553 | "lru-cache": "^6.0.0" 1554 | }, 1555 | "bin": { 1556 | "semver": "bin/semver.js" 1557 | }, 1558 | "engines": { 1559 | "node": ">=10" 1560 | } 1561 | }, 1562 | "node_modules/node-abi/node_modules/yallist": { 1563 | "version": "4.0.0", 1564 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1565 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1566 | "dev": true 1567 | }, 1568 | "node_modules/node-addon-api": { 1569 | "version": "4.3.0", 1570 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", 1571 | "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", 1572 | "dev": true 1573 | }, 1574 | "node_modules/npmlog": { 1575 | "version": "4.1.2", 1576 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", 1577 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 1578 | "dev": true, 1579 | "dependencies": { 1580 | "are-we-there-yet": "~1.1.2", 1581 | "console-control-strings": "~1.1.0", 1582 | "gauge": "~2.7.3", 1583 | "set-blocking": "~2.0.0" 1584 | } 1585 | }, 1586 | "node_modules/nth-check": { 1587 | "version": "2.1.1", 1588 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 1589 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 1590 | "dev": true, 1591 | "dependencies": { 1592 | "boolbase": "^1.0.0" 1593 | }, 1594 | "funding": { 1595 | "url": "https://github.com/fb55/nth-check?sponsor=1" 1596 | } 1597 | }, 1598 | "node_modules/number-is-nan": { 1599 | "version": "1.0.1", 1600 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1601 | "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", 1602 | "dev": true, 1603 | "engines": { 1604 | "node": ">=0.10.0" 1605 | } 1606 | }, 1607 | "node_modules/object-assign": { 1608 | "version": "4.1.1", 1609 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1610 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1611 | "dev": true, 1612 | "engines": { 1613 | "node": ">=0.10.0" 1614 | } 1615 | }, 1616 | "node_modules/object-inspect": { 1617 | "version": "1.12.2", 1618 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", 1619 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", 1620 | "dev": true, 1621 | "funding": { 1622 | "url": "https://github.com/sponsors/ljharb" 1623 | } 1624 | }, 1625 | "node_modules/once": { 1626 | "version": "1.4.0", 1627 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1628 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1629 | "dev": true, 1630 | "dependencies": { 1631 | "wrappy": "1" 1632 | } 1633 | }, 1634 | "node_modules/optionator": { 1635 | "version": "0.9.1", 1636 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1637 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1638 | "dev": true, 1639 | "dependencies": { 1640 | "deep-is": "^0.1.3", 1641 | "fast-levenshtein": "^2.0.6", 1642 | "levn": "^0.4.1", 1643 | "prelude-ls": "^1.2.1", 1644 | "type-check": "^0.4.0", 1645 | "word-wrap": "^1.2.3" 1646 | }, 1647 | "engines": { 1648 | "node": ">= 0.8.0" 1649 | } 1650 | }, 1651 | "node_modules/parent-module": { 1652 | "version": "1.0.1", 1653 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1654 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1655 | "dev": true, 1656 | "dependencies": { 1657 | "callsites": "^3.0.0" 1658 | }, 1659 | "engines": { 1660 | "node": ">=6" 1661 | } 1662 | }, 1663 | "node_modules/parse-semver": { 1664 | "version": "1.1.1", 1665 | "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", 1666 | "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", 1667 | "dev": true, 1668 | "dependencies": { 1669 | "semver": "^5.1.0" 1670 | } 1671 | }, 1672 | "node_modules/parse5": { 1673 | "version": "7.0.0", 1674 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", 1675 | "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", 1676 | "dev": true, 1677 | "dependencies": { 1678 | "entities": "^4.3.0" 1679 | }, 1680 | "funding": { 1681 | "url": "https://github.com/inikulin/parse5?sponsor=1" 1682 | } 1683 | }, 1684 | "node_modules/parse5-htmlparser2-tree-adapter": { 1685 | "version": "7.0.0", 1686 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", 1687 | "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", 1688 | "dev": true, 1689 | "dependencies": { 1690 | "domhandler": "^5.0.2", 1691 | "parse5": "^7.0.0" 1692 | }, 1693 | "funding": { 1694 | "url": "https://github.com/inikulin/parse5?sponsor=1" 1695 | } 1696 | }, 1697 | "node_modules/path-is-absolute": { 1698 | "version": "1.0.1", 1699 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1700 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1701 | "dev": true, 1702 | "engines": { 1703 | "node": ">=0.10.0" 1704 | } 1705 | }, 1706 | "node_modules/path-key": { 1707 | "version": "3.1.1", 1708 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1709 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1710 | "dev": true, 1711 | "engines": { 1712 | "node": ">=8" 1713 | } 1714 | }, 1715 | "node_modules/pend": { 1716 | "version": "1.2.0", 1717 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1718 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", 1719 | "dev": true 1720 | }, 1721 | "node_modules/prebuild-install": { 1722 | "version": "7.1.0", 1723 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz", 1724 | "integrity": "sha512-CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==", 1725 | "dev": true, 1726 | "dependencies": { 1727 | "detect-libc": "^2.0.0", 1728 | "expand-template": "^2.0.3", 1729 | "github-from-package": "0.0.0", 1730 | "minimist": "^1.2.3", 1731 | "mkdirp-classic": "^0.5.3", 1732 | "napi-build-utils": "^1.0.1", 1733 | "node-abi": "^3.3.0", 1734 | "npmlog": "^4.0.1", 1735 | "pump": "^3.0.0", 1736 | "rc": "^1.2.7", 1737 | "simple-get": "^4.0.0", 1738 | "tar-fs": "^2.0.0", 1739 | "tunnel-agent": "^0.6.0" 1740 | }, 1741 | "bin": { 1742 | "prebuild-install": "bin.js" 1743 | }, 1744 | "engines": { 1745 | "node": ">=10" 1746 | } 1747 | }, 1748 | "node_modules/prelude-ls": { 1749 | "version": "1.2.1", 1750 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1751 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1752 | "dev": true, 1753 | "engines": { 1754 | "node": ">= 0.8.0" 1755 | } 1756 | }, 1757 | "node_modules/prettier": { 1758 | "version": "2.6.2", 1759 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", 1760 | "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", 1761 | "dev": true, 1762 | "bin": { 1763 | "prettier": "bin-prettier.js" 1764 | }, 1765 | "engines": { 1766 | "node": ">=10.13.0" 1767 | }, 1768 | "funding": { 1769 | "url": "https://github.com/prettier/prettier?sponsor=1" 1770 | } 1771 | }, 1772 | "node_modules/prettier-linter-helpers": { 1773 | "version": "1.0.0", 1774 | "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", 1775 | "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", 1776 | "dev": true, 1777 | "dependencies": { 1778 | "fast-diff": "^1.1.2" 1779 | }, 1780 | "engines": { 1781 | "node": ">=6.0.0" 1782 | } 1783 | }, 1784 | "node_modules/process-nextick-args": { 1785 | "version": "2.0.1", 1786 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1787 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 1788 | "dev": true 1789 | }, 1790 | "node_modules/pump": { 1791 | "version": "3.0.0", 1792 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1793 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1794 | "dev": true, 1795 | "dependencies": { 1796 | "end-of-stream": "^1.1.0", 1797 | "once": "^1.3.1" 1798 | } 1799 | }, 1800 | "node_modules/punycode": { 1801 | "version": "2.1.1", 1802 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1803 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1804 | "dev": true, 1805 | "engines": { 1806 | "node": ">=6" 1807 | } 1808 | }, 1809 | "node_modules/qs": { 1810 | "version": "6.10.5", 1811 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz", 1812 | "integrity": "sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==", 1813 | "dev": true, 1814 | "dependencies": { 1815 | "side-channel": "^1.0.4" 1816 | }, 1817 | "engines": { 1818 | "node": ">=0.6" 1819 | }, 1820 | "funding": { 1821 | "url": "https://github.com/sponsors/ljharb" 1822 | } 1823 | }, 1824 | "node_modules/rc": { 1825 | "version": "1.2.8", 1826 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 1827 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 1828 | "dev": true, 1829 | "dependencies": { 1830 | "deep-extend": "^0.6.0", 1831 | "ini": "~1.3.0", 1832 | "minimist": "^1.2.0", 1833 | "strip-json-comments": "~2.0.1" 1834 | }, 1835 | "bin": { 1836 | "rc": "cli.js" 1837 | } 1838 | }, 1839 | "node_modules/read": { 1840 | "version": "1.0.7", 1841 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 1842 | "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", 1843 | "dev": true, 1844 | "dependencies": { 1845 | "mute-stream": "~0.0.4" 1846 | }, 1847 | "engines": { 1848 | "node": ">=0.8" 1849 | } 1850 | }, 1851 | "node_modules/readable-stream": { 1852 | "version": "2.3.7", 1853 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 1854 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 1855 | "dev": true, 1856 | "dependencies": { 1857 | "core-util-is": "~1.0.0", 1858 | "inherits": "~2.0.3", 1859 | "isarray": "~1.0.0", 1860 | "process-nextick-args": "~2.0.0", 1861 | "safe-buffer": "~5.1.1", 1862 | "string_decoder": "~1.1.1", 1863 | "util-deprecate": "~1.0.1" 1864 | } 1865 | }, 1866 | "node_modules/regexpp": { 1867 | "version": "3.2.0", 1868 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 1869 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 1870 | "dev": true, 1871 | "engines": { 1872 | "node": ">=8" 1873 | }, 1874 | "funding": { 1875 | "url": "https://github.com/sponsors/mysticatea" 1876 | } 1877 | }, 1878 | "node_modules/resolve-from": { 1879 | "version": "4.0.0", 1880 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1881 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1882 | "dev": true, 1883 | "engines": { 1884 | "node": ">=4" 1885 | } 1886 | }, 1887 | "node_modules/rimraf": { 1888 | "version": "3.0.2", 1889 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1890 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1891 | "dev": true, 1892 | "dependencies": { 1893 | "glob": "^7.1.3" 1894 | }, 1895 | "bin": { 1896 | "rimraf": "bin.js" 1897 | }, 1898 | "funding": { 1899 | "url": "https://github.com/sponsors/isaacs" 1900 | } 1901 | }, 1902 | "node_modules/safe-buffer": { 1903 | "version": "5.1.2", 1904 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1905 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1906 | "dev": true 1907 | }, 1908 | "node_modules/sax": { 1909 | "version": "1.2.4", 1910 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 1911 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 1912 | "dev": true 1913 | }, 1914 | "node_modules/semver": { 1915 | "version": "5.7.1", 1916 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1917 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1918 | "dev": true, 1919 | "bin": { 1920 | "semver": "bin/semver" 1921 | } 1922 | }, 1923 | "node_modules/set-blocking": { 1924 | "version": "2.0.0", 1925 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1926 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 1927 | "dev": true 1928 | }, 1929 | "node_modules/shebang-command": { 1930 | "version": "2.0.0", 1931 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1932 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1933 | "dev": true, 1934 | "dependencies": { 1935 | "shebang-regex": "^3.0.0" 1936 | }, 1937 | "engines": { 1938 | "node": ">=8" 1939 | } 1940 | }, 1941 | "node_modules/shebang-regex": { 1942 | "version": "3.0.0", 1943 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1944 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1945 | "dev": true, 1946 | "engines": { 1947 | "node": ">=8" 1948 | } 1949 | }, 1950 | "node_modules/side-channel": { 1951 | "version": "1.0.4", 1952 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1953 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1954 | "dev": true, 1955 | "dependencies": { 1956 | "call-bind": "^1.0.0", 1957 | "get-intrinsic": "^1.0.2", 1958 | "object-inspect": "^1.9.0" 1959 | }, 1960 | "funding": { 1961 | "url": "https://github.com/sponsors/ljharb" 1962 | } 1963 | }, 1964 | "node_modules/signal-exit": { 1965 | "version": "3.0.7", 1966 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1967 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1968 | "dev": true 1969 | }, 1970 | "node_modules/simple-concat": { 1971 | "version": "1.0.1", 1972 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 1973 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 1974 | "dev": true, 1975 | "funding": [ 1976 | { 1977 | "type": "github", 1978 | "url": "https://github.com/sponsors/feross" 1979 | }, 1980 | { 1981 | "type": "patreon", 1982 | "url": "https://www.patreon.com/feross" 1983 | }, 1984 | { 1985 | "type": "consulting", 1986 | "url": "https://feross.org/support" 1987 | } 1988 | ] 1989 | }, 1990 | "node_modules/simple-get": { 1991 | "version": "4.0.1", 1992 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 1993 | "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 1994 | "dev": true, 1995 | "funding": [ 1996 | { 1997 | "type": "github", 1998 | "url": "https://github.com/sponsors/feross" 1999 | }, 2000 | { 2001 | "type": "patreon", 2002 | "url": "https://www.patreon.com/feross" 2003 | }, 2004 | { 2005 | "type": "consulting", 2006 | "url": "https://feross.org/support" 2007 | } 2008 | ], 2009 | "dependencies": { 2010 | "decompress-response": "^6.0.0", 2011 | "once": "^1.3.1", 2012 | "simple-concat": "^1.0.0" 2013 | } 2014 | }, 2015 | "node_modules/string_decoder": { 2016 | "version": "1.1.1", 2017 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2018 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2019 | "dev": true, 2020 | "dependencies": { 2021 | "safe-buffer": "~5.1.0" 2022 | } 2023 | }, 2024 | "node_modules/string-width": { 2025 | "version": "2.1.1", 2026 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 2027 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 2028 | "dev": true, 2029 | "dependencies": { 2030 | "is-fullwidth-code-point": "^2.0.0", 2031 | "strip-ansi": "^4.0.0" 2032 | }, 2033 | "engines": { 2034 | "node": ">=4" 2035 | } 2036 | }, 2037 | "node_modules/strip-ansi": { 2038 | "version": "4.0.0", 2039 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2040 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2041 | "dev": true, 2042 | "dependencies": { 2043 | "ansi-regex": "^3.0.0" 2044 | }, 2045 | "engines": { 2046 | "node": ">=4" 2047 | } 2048 | }, 2049 | "node_modules/strip-json-comments": { 2050 | "version": "2.0.1", 2051 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2052 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2053 | "dev": true, 2054 | "engines": { 2055 | "node": ">=0.10.0" 2056 | } 2057 | }, 2058 | "node_modules/supports-color": { 2059 | "version": "5.5.0", 2060 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2061 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2062 | "dev": true, 2063 | "dependencies": { 2064 | "has-flag": "^3.0.0" 2065 | }, 2066 | "engines": { 2067 | "node": ">=4" 2068 | } 2069 | }, 2070 | "node_modules/tar-fs": { 2071 | "version": "2.1.1", 2072 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 2073 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 2074 | "dev": true, 2075 | "dependencies": { 2076 | "chownr": "^1.1.1", 2077 | "mkdirp-classic": "^0.5.2", 2078 | "pump": "^3.0.0", 2079 | "tar-stream": "^2.1.4" 2080 | } 2081 | }, 2082 | "node_modules/tar-stream": { 2083 | "version": "2.2.0", 2084 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 2085 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 2086 | "dev": true, 2087 | "dependencies": { 2088 | "bl": "^4.0.3", 2089 | "end-of-stream": "^1.4.1", 2090 | "fs-constants": "^1.0.0", 2091 | "inherits": "^2.0.3", 2092 | "readable-stream": "^3.1.1" 2093 | }, 2094 | "engines": { 2095 | "node": ">=6" 2096 | } 2097 | }, 2098 | "node_modules/tar-stream/node_modules/readable-stream": { 2099 | "version": "3.6.0", 2100 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2101 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2102 | "dev": true, 2103 | "dependencies": { 2104 | "inherits": "^2.0.3", 2105 | "string_decoder": "^1.1.1", 2106 | "util-deprecate": "^1.0.1" 2107 | }, 2108 | "engines": { 2109 | "node": ">= 6" 2110 | } 2111 | }, 2112 | "node_modules/text-table": { 2113 | "version": "0.2.0", 2114 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 2115 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 2116 | "dev": true 2117 | }, 2118 | "node_modules/tslib": { 2119 | "version": "2.4.0", 2120 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", 2121 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", 2122 | "dev": true 2123 | }, 2124 | "node_modules/tunnel": { 2125 | "version": "0.0.6", 2126 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 2127 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 2128 | "dev": true, 2129 | "engines": { 2130 | "node": ">=0.6.11 <=0.7.0 || >=0.7.3" 2131 | } 2132 | }, 2133 | "node_modules/tunnel-agent": { 2134 | "version": "0.6.0", 2135 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 2136 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 2137 | "dev": true, 2138 | "dependencies": { 2139 | "safe-buffer": "^5.0.1" 2140 | }, 2141 | "engines": { 2142 | "node": "*" 2143 | } 2144 | }, 2145 | "node_modules/type-check": { 2146 | "version": "0.4.0", 2147 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2148 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2149 | "dev": true, 2150 | "dependencies": { 2151 | "prelude-ls": "^1.2.1" 2152 | }, 2153 | "engines": { 2154 | "node": ">= 0.8.0" 2155 | } 2156 | }, 2157 | "node_modules/type-fest": { 2158 | "version": "0.20.2", 2159 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 2160 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 2161 | "dev": true, 2162 | "engines": { 2163 | "node": ">=10" 2164 | }, 2165 | "funding": { 2166 | "url": "https://github.com/sponsors/sindresorhus" 2167 | } 2168 | }, 2169 | "node_modules/typed-rest-client": { 2170 | "version": "1.8.9", 2171 | "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", 2172 | "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", 2173 | "dev": true, 2174 | "dependencies": { 2175 | "qs": "^6.9.1", 2176 | "tunnel": "0.0.6", 2177 | "underscore": "^1.12.1" 2178 | } 2179 | }, 2180 | "node_modules/uc.micro": { 2181 | "version": "1.0.6", 2182 | "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", 2183 | "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", 2184 | "dev": true 2185 | }, 2186 | "node_modules/underscore": { 2187 | "version": "1.13.4", 2188 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", 2189 | "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==", 2190 | "dev": true 2191 | }, 2192 | "node_modules/uri-js": { 2193 | "version": "4.4.1", 2194 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2195 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2196 | "dev": true, 2197 | "dependencies": { 2198 | "punycode": "^2.1.0" 2199 | } 2200 | }, 2201 | "node_modules/url-join": { 2202 | "version": "4.0.1", 2203 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", 2204 | "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", 2205 | "dev": true 2206 | }, 2207 | "node_modules/util-deprecate": { 2208 | "version": "1.0.2", 2209 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2210 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 2211 | "dev": true 2212 | }, 2213 | "node_modules/v8-compile-cache": { 2214 | "version": "2.3.0", 2215 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 2216 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 2217 | "dev": true 2218 | }, 2219 | "node_modules/vsce": { 2220 | "version": "2.9.1", 2221 | "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.9.1.tgz", 2222 | "integrity": "sha512-l/X4hkoYgOoZhRYQpJXqexBJU2z4mzNywx+artzWnOV3v45YMM6IoDDtIcB9SWluobem476KmMPLkCdAdnvoOg==", 2223 | "dev": true, 2224 | "dependencies": { 2225 | "azure-devops-node-api": "^11.0.1", 2226 | "chalk": "^2.4.2", 2227 | "cheerio": "^1.0.0-rc.9", 2228 | "commander": "^6.1.0", 2229 | "glob": "^7.0.6", 2230 | "hosted-git-info": "^4.0.2", 2231 | "keytar": "^7.7.0", 2232 | "leven": "^3.1.0", 2233 | "markdown-it": "^12.3.2", 2234 | "mime": "^1.3.4", 2235 | "minimatch": "^3.0.3", 2236 | "parse-semver": "^1.1.1", 2237 | "read": "^1.0.7", 2238 | "semver": "^5.1.0", 2239 | "tmp": "^0.2.1", 2240 | "typed-rest-client": "^1.8.4", 2241 | "url-join": "^4.0.1", 2242 | "xml2js": "^0.4.23", 2243 | "yauzl": "^2.3.1", 2244 | "yazl": "^2.2.2" 2245 | }, 2246 | "bin": { 2247 | "vsce": "vsce" 2248 | }, 2249 | "engines": { 2250 | "node": ">= 14" 2251 | } 2252 | }, 2253 | "node_modules/vsce/node_modules/tmp": { 2254 | "version": "0.2.1", 2255 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 2256 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 2257 | "dev": true, 2258 | "dependencies": { 2259 | "rimraf": "^3.0.0" 2260 | }, 2261 | "engines": { 2262 | "node": ">=8.17.0" 2263 | } 2264 | }, 2265 | "node_modules/which": { 2266 | "version": "2.0.2", 2267 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2268 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2269 | "dev": true, 2270 | "dependencies": { 2271 | "isexe": "^2.0.0" 2272 | }, 2273 | "bin": { 2274 | "node-which": "bin/node-which" 2275 | }, 2276 | "engines": { 2277 | "node": ">= 8" 2278 | } 2279 | }, 2280 | "node_modules/wide-align": { 2281 | "version": "1.1.5", 2282 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", 2283 | "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", 2284 | "dev": true, 2285 | "dependencies": { 2286 | "string-width": "^1.0.2 || 2 || 3 || 4" 2287 | } 2288 | }, 2289 | "node_modules/word-wrap": { 2290 | "version": "1.2.3", 2291 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2292 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2293 | "dev": true, 2294 | "engines": { 2295 | "node": ">=0.10.0" 2296 | } 2297 | }, 2298 | "node_modules/wrappy": { 2299 | "version": "1.0.2", 2300 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2301 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2302 | "dev": true 2303 | }, 2304 | "node_modules/xml2js": { 2305 | "version": "0.4.23", 2306 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", 2307 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", 2308 | "dev": true, 2309 | "dependencies": { 2310 | "sax": ">=0.6.0", 2311 | "xmlbuilder": "~11.0.0" 2312 | }, 2313 | "engines": { 2314 | "node": ">=4.0.0" 2315 | } 2316 | }, 2317 | "node_modules/xmlbuilder": { 2318 | "version": "11.0.1", 2319 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 2320 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 2321 | "dev": true, 2322 | "engines": { 2323 | "node": ">=4.0" 2324 | } 2325 | }, 2326 | "node_modules/yauzl": { 2327 | "version": "2.10.0", 2328 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 2329 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 2330 | "dev": true, 2331 | "dependencies": { 2332 | "buffer-crc32": "~0.2.3", 2333 | "fd-slicer": "~1.1.0" 2334 | } 2335 | }, 2336 | "node_modules/yazl": { 2337 | "version": "2.5.1", 2338 | "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", 2339 | "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", 2340 | "dev": true, 2341 | "dependencies": { 2342 | "buffer-crc32": "~0.2.3" 2343 | } 2344 | } 2345 | }, 2346 | "dependencies": { 2347 | "@eslint/eslintrc": { 2348 | "version": "1.3.0", 2349 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", 2350 | "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", 2351 | "dev": true, 2352 | "requires": { 2353 | "ajv": "^6.12.4", 2354 | "debug": "^4.3.2", 2355 | "espree": "^9.3.2", 2356 | "globals": "^13.15.0", 2357 | "ignore": "^5.2.0", 2358 | "import-fresh": "^3.2.1", 2359 | "js-yaml": "^4.1.0", 2360 | "minimatch": "^3.1.2", 2361 | "strip-json-comments": "^3.1.1" 2362 | }, 2363 | "dependencies": { 2364 | "strip-json-comments": { 2365 | "version": "3.1.1", 2366 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2367 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2368 | "dev": true 2369 | } 2370 | } 2371 | }, 2372 | "@humanwhocodes/config-array": { 2373 | "version": "0.9.5", 2374 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", 2375 | "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", 2376 | "dev": true, 2377 | "requires": { 2378 | "@humanwhocodes/object-schema": "^1.2.1", 2379 | "debug": "^4.1.1", 2380 | "minimatch": "^3.0.4" 2381 | } 2382 | }, 2383 | "@humanwhocodes/object-schema": { 2384 | "version": "1.2.1", 2385 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 2386 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 2387 | "dev": true 2388 | }, 2389 | "@types/node": { 2390 | "version": "7.10.14", 2391 | "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.14.tgz", 2392 | "integrity": "sha512-29GS75BE8asnTno3yB6ubOJOO0FboExEqNJy4bpz0GSmW/8wPTNL4h9h63c6s1uTrOopCmJYe/4yJLh5r92ZUA==", 2393 | "dev": true 2394 | }, 2395 | "@types/vscode": { 2396 | "version": "1.67.0", 2397 | "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.67.0.tgz", 2398 | "integrity": "sha512-GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g==", 2399 | "dev": true 2400 | }, 2401 | "acorn": { 2402 | "version": "8.7.1", 2403 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", 2404 | "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", 2405 | "dev": true 2406 | }, 2407 | "acorn-jsx": { 2408 | "version": "5.3.2", 2409 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 2410 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 2411 | "dev": true, 2412 | "requires": {} 2413 | }, 2414 | "ajv": { 2415 | "version": "6.12.6", 2416 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 2417 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 2418 | "dev": true, 2419 | "requires": { 2420 | "fast-deep-equal": "^3.1.1", 2421 | "fast-json-stable-stringify": "^2.0.0", 2422 | "json-schema-traverse": "^0.4.1", 2423 | "uri-js": "^4.2.2" 2424 | } 2425 | }, 2426 | "ansi-regex": { 2427 | "version": "3.0.1", 2428 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", 2429 | "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", 2430 | "dev": true 2431 | }, 2432 | "ansi-styles": { 2433 | "version": "3.2.1", 2434 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2435 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2436 | "dev": true, 2437 | "requires": { 2438 | "color-convert": "^1.9.0" 2439 | } 2440 | }, 2441 | "aproba": { 2442 | "version": "1.2.0", 2443 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 2444 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", 2445 | "dev": true 2446 | }, 2447 | "are-we-there-yet": { 2448 | "version": "1.1.7", 2449 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", 2450 | "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", 2451 | "dev": true, 2452 | "requires": { 2453 | "delegates": "^1.0.0", 2454 | "readable-stream": "^2.0.6" 2455 | } 2456 | }, 2457 | "argparse": { 2458 | "version": "2.0.1", 2459 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2460 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2461 | "dev": true 2462 | }, 2463 | "azure-devops-node-api": { 2464 | "version": "11.1.1", 2465 | "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.1.tgz", 2466 | "integrity": "sha512-XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==", 2467 | "dev": true, 2468 | "requires": { 2469 | "tunnel": "0.0.6", 2470 | "typed-rest-client": "^1.8.4" 2471 | } 2472 | }, 2473 | "balanced-match": { 2474 | "version": "1.0.2", 2475 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2476 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2477 | "dev": true 2478 | }, 2479 | "base64-js": { 2480 | "version": "1.5.1", 2481 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 2482 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 2483 | "dev": true 2484 | }, 2485 | "bl": { 2486 | "version": "4.1.0", 2487 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 2488 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 2489 | "dev": true, 2490 | "requires": { 2491 | "buffer": "^5.5.0", 2492 | "inherits": "^2.0.4", 2493 | "readable-stream": "^3.4.0" 2494 | }, 2495 | "dependencies": { 2496 | "readable-stream": { 2497 | "version": "3.6.0", 2498 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2499 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2500 | "dev": true, 2501 | "requires": { 2502 | "inherits": "^2.0.3", 2503 | "string_decoder": "^1.1.1", 2504 | "util-deprecate": "^1.0.1" 2505 | } 2506 | } 2507 | } 2508 | }, 2509 | "boolbase": { 2510 | "version": "1.0.0", 2511 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 2512 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 2513 | "dev": true 2514 | }, 2515 | "brace-expansion": { 2516 | "version": "1.1.11", 2517 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2518 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2519 | "dev": true, 2520 | "requires": { 2521 | "balanced-match": "^1.0.0", 2522 | "concat-map": "0.0.1" 2523 | } 2524 | }, 2525 | "buffer": { 2526 | "version": "5.7.1", 2527 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 2528 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 2529 | "dev": true, 2530 | "requires": { 2531 | "base64-js": "^1.3.1", 2532 | "ieee754": "^1.1.13" 2533 | } 2534 | }, 2535 | "buffer-crc32": { 2536 | "version": "0.2.13", 2537 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 2538 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 2539 | "dev": true 2540 | }, 2541 | "call-bind": { 2542 | "version": "1.0.2", 2543 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 2544 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 2545 | "dev": true, 2546 | "requires": { 2547 | "function-bind": "^1.1.1", 2548 | "get-intrinsic": "^1.0.2" 2549 | } 2550 | }, 2551 | "callsites": { 2552 | "version": "3.1.0", 2553 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2554 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2555 | "dev": true 2556 | }, 2557 | "chalk": { 2558 | "version": "2.4.2", 2559 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2560 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2561 | "dev": true, 2562 | "requires": { 2563 | "ansi-styles": "^3.2.1", 2564 | "escape-string-regexp": "^1.0.5", 2565 | "supports-color": "^5.3.0" 2566 | } 2567 | }, 2568 | "cheerio": { 2569 | "version": "1.0.0-rc.11", 2570 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.11.tgz", 2571 | "integrity": "sha512-bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag==", 2572 | "dev": true, 2573 | "requires": { 2574 | "cheerio-select": "^2.1.0", 2575 | "dom-serializer": "^2.0.0", 2576 | "domhandler": "^5.0.3", 2577 | "domutils": "^3.0.1", 2578 | "htmlparser2": "^8.0.1", 2579 | "parse5": "^7.0.0", 2580 | "parse5-htmlparser2-tree-adapter": "^7.0.0", 2581 | "tslib": "^2.4.0" 2582 | } 2583 | }, 2584 | "cheerio-select": { 2585 | "version": "2.1.0", 2586 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", 2587 | "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", 2588 | "dev": true, 2589 | "requires": { 2590 | "boolbase": "^1.0.0", 2591 | "css-select": "^5.1.0", 2592 | "css-what": "^6.1.0", 2593 | "domelementtype": "^2.3.0", 2594 | "domhandler": "^5.0.3", 2595 | "domutils": "^3.0.1" 2596 | } 2597 | }, 2598 | "chownr": { 2599 | "version": "1.1.4", 2600 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 2601 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 2602 | "dev": true 2603 | }, 2604 | "code-point-at": { 2605 | "version": "1.1.0", 2606 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 2607 | "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", 2608 | "dev": true 2609 | }, 2610 | "color-convert": { 2611 | "version": "1.9.3", 2612 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2613 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2614 | "dev": true, 2615 | "requires": { 2616 | "color-name": "1.1.3" 2617 | } 2618 | }, 2619 | "color-name": { 2620 | "version": "1.1.3", 2621 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2622 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 2623 | "dev": true 2624 | }, 2625 | "commander": { 2626 | "version": "6.2.1", 2627 | "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", 2628 | "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", 2629 | "dev": true 2630 | }, 2631 | "concat-map": { 2632 | "version": "0.0.1", 2633 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2634 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 2635 | "dev": true 2636 | }, 2637 | "console-control-strings": { 2638 | "version": "1.1.0", 2639 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 2640 | "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", 2641 | "dev": true 2642 | }, 2643 | "core-util-is": { 2644 | "version": "1.0.3", 2645 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 2646 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 2647 | "dev": true 2648 | }, 2649 | "cross-spawn": { 2650 | "version": "7.0.3", 2651 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 2652 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 2653 | "dev": true, 2654 | "requires": { 2655 | "path-key": "^3.1.0", 2656 | "shebang-command": "^2.0.0", 2657 | "which": "^2.0.1" 2658 | } 2659 | }, 2660 | "css-select": { 2661 | "version": "5.1.0", 2662 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", 2663 | "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", 2664 | "dev": true, 2665 | "requires": { 2666 | "boolbase": "^1.0.0", 2667 | "css-what": "^6.1.0", 2668 | "domhandler": "^5.0.2", 2669 | "domutils": "^3.0.1", 2670 | "nth-check": "^2.0.1" 2671 | } 2672 | }, 2673 | "css-what": { 2674 | "version": "6.1.0", 2675 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 2676 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 2677 | "dev": true 2678 | }, 2679 | "debug": { 2680 | "version": "4.3.4", 2681 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 2682 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 2683 | "dev": true, 2684 | "requires": { 2685 | "ms": "2.1.2" 2686 | } 2687 | }, 2688 | "decompress-response": { 2689 | "version": "6.0.0", 2690 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 2691 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 2692 | "dev": true, 2693 | "requires": { 2694 | "mimic-response": "^3.1.0" 2695 | } 2696 | }, 2697 | "deep-extend": { 2698 | "version": "0.6.0", 2699 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 2700 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 2701 | "dev": true 2702 | }, 2703 | "deep-is": { 2704 | "version": "0.1.4", 2705 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 2706 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2707 | "dev": true 2708 | }, 2709 | "delegates": { 2710 | "version": "1.0.0", 2711 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 2712 | "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", 2713 | "dev": true 2714 | }, 2715 | "detect-libc": { 2716 | "version": "2.0.1", 2717 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", 2718 | "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", 2719 | "dev": true 2720 | }, 2721 | "doctrine": { 2722 | "version": "3.0.0", 2723 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 2724 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 2725 | "dev": true, 2726 | "requires": { 2727 | "esutils": "^2.0.2" 2728 | } 2729 | }, 2730 | "dom-serializer": { 2731 | "version": "2.0.0", 2732 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 2733 | "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 2734 | "dev": true, 2735 | "requires": { 2736 | "domelementtype": "^2.3.0", 2737 | "domhandler": "^5.0.2", 2738 | "entities": "^4.2.0" 2739 | } 2740 | }, 2741 | "domelementtype": { 2742 | "version": "2.3.0", 2743 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 2744 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 2745 | "dev": true 2746 | }, 2747 | "domhandler": { 2748 | "version": "5.0.3", 2749 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 2750 | "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 2751 | "dev": true, 2752 | "requires": { 2753 | "domelementtype": "^2.3.0" 2754 | } 2755 | }, 2756 | "domutils": { 2757 | "version": "3.0.1", 2758 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", 2759 | "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", 2760 | "dev": true, 2761 | "requires": { 2762 | "dom-serializer": "^2.0.0", 2763 | "domelementtype": "^2.3.0", 2764 | "domhandler": "^5.0.1" 2765 | } 2766 | }, 2767 | "end-of-stream": { 2768 | "version": "1.4.4", 2769 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 2770 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 2771 | "dev": true, 2772 | "requires": { 2773 | "once": "^1.4.0" 2774 | } 2775 | }, 2776 | "entities": { 2777 | "version": "4.3.0", 2778 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz", 2779 | "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", 2780 | "dev": true 2781 | }, 2782 | "escape-string-regexp": { 2783 | "version": "1.0.5", 2784 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2785 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 2786 | "dev": true 2787 | }, 2788 | "eslint": { 2789 | "version": "8.17.0", 2790 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", 2791 | "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", 2792 | "dev": true, 2793 | "requires": { 2794 | "@eslint/eslintrc": "^1.3.0", 2795 | "@humanwhocodes/config-array": "^0.9.2", 2796 | "ajv": "^6.10.0", 2797 | "chalk": "^4.0.0", 2798 | "cross-spawn": "^7.0.2", 2799 | "debug": "^4.3.2", 2800 | "doctrine": "^3.0.0", 2801 | "escape-string-regexp": "^4.0.0", 2802 | "eslint-scope": "^7.1.1", 2803 | "eslint-utils": "^3.0.0", 2804 | "eslint-visitor-keys": "^3.3.0", 2805 | "espree": "^9.3.2", 2806 | "esquery": "^1.4.0", 2807 | "esutils": "^2.0.2", 2808 | "fast-deep-equal": "^3.1.3", 2809 | "file-entry-cache": "^6.0.1", 2810 | "functional-red-black-tree": "^1.0.1", 2811 | "glob-parent": "^6.0.1", 2812 | "globals": "^13.15.0", 2813 | "ignore": "^5.2.0", 2814 | "import-fresh": "^3.0.0", 2815 | "imurmurhash": "^0.1.4", 2816 | "is-glob": "^4.0.0", 2817 | "js-yaml": "^4.1.0", 2818 | "json-stable-stringify-without-jsonify": "^1.0.1", 2819 | "levn": "^0.4.1", 2820 | "lodash.merge": "^4.6.2", 2821 | "minimatch": "^3.1.2", 2822 | "natural-compare": "^1.4.0", 2823 | "optionator": "^0.9.1", 2824 | "regexpp": "^3.2.0", 2825 | "strip-ansi": "^6.0.1", 2826 | "strip-json-comments": "^3.1.0", 2827 | "text-table": "^0.2.0", 2828 | "v8-compile-cache": "^2.0.3" 2829 | }, 2830 | "dependencies": { 2831 | "ansi-regex": { 2832 | "version": "5.0.1", 2833 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2834 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2835 | "dev": true 2836 | }, 2837 | "ansi-styles": { 2838 | "version": "4.3.0", 2839 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2840 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2841 | "dev": true, 2842 | "requires": { 2843 | "color-convert": "^2.0.1" 2844 | } 2845 | }, 2846 | "chalk": { 2847 | "version": "4.1.2", 2848 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2849 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2850 | "dev": true, 2851 | "requires": { 2852 | "ansi-styles": "^4.1.0", 2853 | "supports-color": "^7.1.0" 2854 | } 2855 | }, 2856 | "color-convert": { 2857 | "version": "2.0.1", 2858 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2859 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2860 | "dev": true, 2861 | "requires": { 2862 | "color-name": "~1.1.4" 2863 | } 2864 | }, 2865 | "color-name": { 2866 | "version": "1.1.4", 2867 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2868 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2869 | "dev": true 2870 | }, 2871 | "escape-string-regexp": { 2872 | "version": "4.0.0", 2873 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2874 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2875 | "dev": true 2876 | }, 2877 | "has-flag": { 2878 | "version": "4.0.0", 2879 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2880 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2881 | "dev": true 2882 | }, 2883 | "strip-ansi": { 2884 | "version": "6.0.1", 2885 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2886 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2887 | "dev": true, 2888 | "requires": { 2889 | "ansi-regex": "^5.0.1" 2890 | } 2891 | }, 2892 | "strip-json-comments": { 2893 | "version": "3.1.1", 2894 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2895 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2896 | "dev": true 2897 | }, 2898 | "supports-color": { 2899 | "version": "7.2.0", 2900 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2901 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2902 | "dev": true, 2903 | "requires": { 2904 | "has-flag": "^4.0.0" 2905 | } 2906 | } 2907 | } 2908 | }, 2909 | "eslint-config-prettier": { 2910 | "version": "8.5.0", 2911 | "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", 2912 | "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", 2913 | "dev": true, 2914 | "requires": {} 2915 | }, 2916 | "eslint-plugin-prettier": { 2917 | "version": "4.0.0", 2918 | "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", 2919 | "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", 2920 | "dev": true, 2921 | "requires": { 2922 | "prettier-linter-helpers": "^1.0.0" 2923 | } 2924 | }, 2925 | "eslint-scope": { 2926 | "version": "7.1.1", 2927 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 2928 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 2929 | "dev": true, 2930 | "requires": { 2931 | "esrecurse": "^4.3.0", 2932 | "estraverse": "^5.2.0" 2933 | } 2934 | }, 2935 | "eslint-utils": { 2936 | "version": "3.0.0", 2937 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 2938 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 2939 | "dev": true, 2940 | "requires": { 2941 | "eslint-visitor-keys": "^2.0.0" 2942 | }, 2943 | "dependencies": { 2944 | "eslint-visitor-keys": { 2945 | "version": "2.1.0", 2946 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 2947 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 2948 | "dev": true 2949 | } 2950 | } 2951 | }, 2952 | "eslint-visitor-keys": { 2953 | "version": "3.3.0", 2954 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 2955 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 2956 | "dev": true 2957 | }, 2958 | "espree": { 2959 | "version": "9.3.2", 2960 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", 2961 | "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", 2962 | "dev": true, 2963 | "requires": { 2964 | "acorn": "^8.7.1", 2965 | "acorn-jsx": "^5.3.2", 2966 | "eslint-visitor-keys": "^3.3.0" 2967 | } 2968 | }, 2969 | "esquery": { 2970 | "version": "1.4.0", 2971 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 2972 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 2973 | "dev": true, 2974 | "requires": { 2975 | "estraverse": "^5.1.0" 2976 | } 2977 | }, 2978 | "esrecurse": { 2979 | "version": "4.3.0", 2980 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2981 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2982 | "dev": true, 2983 | "requires": { 2984 | "estraverse": "^5.2.0" 2985 | } 2986 | }, 2987 | "estraverse": { 2988 | "version": "5.3.0", 2989 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2990 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2991 | "dev": true 2992 | }, 2993 | "esutils": { 2994 | "version": "2.0.3", 2995 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2996 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2997 | "dev": true 2998 | }, 2999 | "expand-template": { 3000 | "version": "2.0.3", 3001 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 3002 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 3003 | "dev": true 3004 | }, 3005 | "fast-deep-equal": { 3006 | "version": "3.1.3", 3007 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 3008 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 3009 | "dev": true 3010 | }, 3011 | "fast-diff": { 3012 | "version": "1.2.0", 3013 | "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", 3014 | "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", 3015 | "dev": true 3016 | }, 3017 | "fast-json-stable-stringify": { 3018 | "version": "2.1.0", 3019 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 3020 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 3021 | "dev": true 3022 | }, 3023 | "fast-levenshtein": { 3024 | "version": "2.0.6", 3025 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 3026 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 3027 | "dev": true 3028 | }, 3029 | "fd-slicer": { 3030 | "version": "1.1.0", 3031 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 3032 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", 3033 | "dev": true, 3034 | "requires": { 3035 | "pend": "~1.2.0" 3036 | } 3037 | }, 3038 | "file-entry-cache": { 3039 | "version": "6.0.1", 3040 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 3041 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 3042 | "dev": true, 3043 | "requires": { 3044 | "flat-cache": "^3.0.4" 3045 | } 3046 | }, 3047 | "flat-cache": { 3048 | "version": "3.0.4", 3049 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 3050 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 3051 | "dev": true, 3052 | "requires": { 3053 | "flatted": "^3.1.0", 3054 | "rimraf": "^3.0.2" 3055 | } 3056 | }, 3057 | "flatted": { 3058 | "version": "3.2.5", 3059 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", 3060 | "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", 3061 | "dev": true 3062 | }, 3063 | "fs-constants": { 3064 | "version": "1.0.0", 3065 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 3066 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 3067 | "dev": true 3068 | }, 3069 | "fs.realpath": { 3070 | "version": "1.0.0", 3071 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 3072 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 3073 | "dev": true 3074 | }, 3075 | "function-bind": { 3076 | "version": "1.1.1", 3077 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 3078 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 3079 | "dev": true 3080 | }, 3081 | "functional-red-black-tree": { 3082 | "version": "1.0.1", 3083 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 3084 | "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", 3085 | "dev": true 3086 | }, 3087 | "gauge": { 3088 | "version": "2.7.4", 3089 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", 3090 | "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", 3091 | "dev": true, 3092 | "requires": { 3093 | "aproba": "^1.0.3", 3094 | "console-control-strings": "^1.0.0", 3095 | "has-unicode": "^2.0.0", 3096 | "object-assign": "^4.1.0", 3097 | "signal-exit": "^3.0.0", 3098 | "string-width": "^1.0.1", 3099 | "strip-ansi": "^3.0.1", 3100 | "wide-align": "^1.1.0" 3101 | }, 3102 | "dependencies": { 3103 | "ansi-regex": { 3104 | "version": "2.1.1", 3105 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 3106 | "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", 3107 | "dev": true 3108 | }, 3109 | "is-fullwidth-code-point": { 3110 | "version": "1.0.0", 3111 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 3112 | "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", 3113 | "dev": true, 3114 | "requires": { 3115 | "number-is-nan": "^1.0.0" 3116 | } 3117 | }, 3118 | "string-width": { 3119 | "version": "1.0.2", 3120 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 3121 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 3122 | "dev": true, 3123 | "requires": { 3124 | "code-point-at": "^1.0.0", 3125 | "is-fullwidth-code-point": "^1.0.0", 3126 | "strip-ansi": "^3.0.0" 3127 | } 3128 | }, 3129 | "strip-ansi": { 3130 | "version": "3.0.1", 3131 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 3132 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 3133 | "dev": true, 3134 | "requires": { 3135 | "ansi-regex": "^2.0.0" 3136 | } 3137 | } 3138 | } 3139 | }, 3140 | "get-intrinsic": { 3141 | "version": "1.1.1", 3142 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 3143 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 3144 | "dev": true, 3145 | "requires": { 3146 | "function-bind": "^1.1.1", 3147 | "has": "^1.0.3", 3148 | "has-symbols": "^1.0.1" 3149 | } 3150 | }, 3151 | "github-from-package": { 3152 | "version": "0.0.0", 3153 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 3154 | "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", 3155 | "dev": true 3156 | }, 3157 | "glob": { 3158 | "version": "7.2.3", 3159 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 3160 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 3161 | "dev": true, 3162 | "requires": { 3163 | "fs.realpath": "^1.0.0", 3164 | "inflight": "^1.0.4", 3165 | "inherits": "2", 3166 | "minimatch": "^3.1.1", 3167 | "once": "^1.3.0", 3168 | "path-is-absolute": "^1.0.0" 3169 | } 3170 | }, 3171 | "glob-parent": { 3172 | "version": "6.0.2", 3173 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 3174 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 3175 | "dev": true, 3176 | "requires": { 3177 | "is-glob": "^4.0.3" 3178 | } 3179 | }, 3180 | "globals": { 3181 | "version": "13.15.0", 3182 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", 3183 | "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", 3184 | "dev": true, 3185 | "requires": { 3186 | "type-fest": "^0.20.2" 3187 | } 3188 | }, 3189 | "has": { 3190 | "version": "1.0.3", 3191 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 3192 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 3193 | "dev": true, 3194 | "requires": { 3195 | "function-bind": "^1.1.1" 3196 | } 3197 | }, 3198 | "has-flag": { 3199 | "version": "3.0.0", 3200 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 3201 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 3202 | "dev": true 3203 | }, 3204 | "has-symbols": { 3205 | "version": "1.0.3", 3206 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 3207 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 3208 | "dev": true 3209 | }, 3210 | "has-unicode": { 3211 | "version": "2.0.1", 3212 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 3213 | "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", 3214 | "dev": true 3215 | }, 3216 | "hosted-git-info": { 3217 | "version": "4.1.0", 3218 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", 3219 | "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", 3220 | "dev": true, 3221 | "requires": { 3222 | "lru-cache": "^6.0.0" 3223 | }, 3224 | "dependencies": { 3225 | "lru-cache": { 3226 | "version": "6.0.0", 3227 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 3228 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 3229 | "dev": true, 3230 | "requires": { 3231 | "yallist": "^4.0.0" 3232 | } 3233 | }, 3234 | "yallist": { 3235 | "version": "4.0.0", 3236 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3237 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3238 | "dev": true 3239 | } 3240 | } 3241 | }, 3242 | "htmlparser2": { 3243 | "version": "8.0.1", 3244 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", 3245 | "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", 3246 | "dev": true, 3247 | "requires": { 3248 | "domelementtype": "^2.3.0", 3249 | "domhandler": "^5.0.2", 3250 | "domutils": "^3.0.1", 3251 | "entities": "^4.3.0" 3252 | } 3253 | }, 3254 | "ieee754": { 3255 | "version": "1.2.1", 3256 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 3257 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 3258 | "dev": true 3259 | }, 3260 | "ignore": { 3261 | "version": "5.2.0", 3262 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 3263 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 3264 | "dev": true 3265 | }, 3266 | "import-fresh": { 3267 | "version": "3.3.0", 3268 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 3269 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 3270 | "dev": true, 3271 | "requires": { 3272 | "parent-module": "^1.0.0", 3273 | "resolve-from": "^4.0.0" 3274 | } 3275 | }, 3276 | "imurmurhash": { 3277 | "version": "0.1.4", 3278 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 3279 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 3280 | "dev": true 3281 | }, 3282 | "inflight": { 3283 | "version": "1.0.6", 3284 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 3285 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 3286 | "dev": true, 3287 | "requires": { 3288 | "once": "^1.3.0", 3289 | "wrappy": "1" 3290 | } 3291 | }, 3292 | "inherits": { 3293 | "version": "2.0.4", 3294 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3295 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 3296 | "dev": true 3297 | }, 3298 | "ini": { 3299 | "version": "1.3.8", 3300 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 3301 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 3302 | "dev": true 3303 | }, 3304 | "is-extglob": { 3305 | "version": "2.1.1", 3306 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3307 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3308 | "dev": true 3309 | }, 3310 | "is-fullwidth-code-point": { 3311 | "version": "2.0.0", 3312 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 3313 | "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", 3314 | "dev": true 3315 | }, 3316 | "is-glob": { 3317 | "version": "4.0.3", 3318 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3319 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3320 | "dev": true, 3321 | "requires": { 3322 | "is-extglob": "^2.1.1" 3323 | } 3324 | }, 3325 | "isarray": { 3326 | "version": "1.0.0", 3327 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 3328 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 3329 | "dev": true 3330 | }, 3331 | "isexe": { 3332 | "version": "2.0.0", 3333 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3334 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3335 | "dev": true 3336 | }, 3337 | "js-yaml": { 3338 | "version": "4.1.0", 3339 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 3340 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 3341 | "dev": true, 3342 | "requires": { 3343 | "argparse": "^2.0.1" 3344 | } 3345 | }, 3346 | "json-schema-traverse": { 3347 | "version": "0.4.1", 3348 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 3349 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 3350 | "dev": true 3351 | }, 3352 | "json-stable-stringify-without-jsonify": { 3353 | "version": "1.0.1", 3354 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 3355 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 3356 | "dev": true 3357 | }, 3358 | "keytar": { 3359 | "version": "7.9.0", 3360 | "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", 3361 | "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", 3362 | "dev": true, 3363 | "requires": { 3364 | "node-addon-api": "^4.3.0", 3365 | "prebuild-install": "^7.0.1" 3366 | } 3367 | }, 3368 | "leven": { 3369 | "version": "3.1.0", 3370 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 3371 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 3372 | "dev": true 3373 | }, 3374 | "levn": { 3375 | "version": "0.4.1", 3376 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 3377 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 3378 | "dev": true, 3379 | "requires": { 3380 | "prelude-ls": "^1.2.1", 3381 | "type-check": "~0.4.0" 3382 | } 3383 | }, 3384 | "linkify-it": { 3385 | "version": "3.0.3", 3386 | "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", 3387 | "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", 3388 | "dev": true, 3389 | "requires": { 3390 | "uc.micro": "^1.0.1" 3391 | } 3392 | }, 3393 | "lodash.merge": { 3394 | "version": "4.6.2", 3395 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 3396 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 3397 | "dev": true 3398 | }, 3399 | "markdown-it": { 3400 | "version": "12.3.2", 3401 | "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", 3402 | "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", 3403 | "dev": true, 3404 | "requires": { 3405 | "argparse": "^2.0.1", 3406 | "entities": "~2.1.0", 3407 | "linkify-it": "^3.0.1", 3408 | "mdurl": "^1.0.1", 3409 | "uc.micro": "^1.0.5" 3410 | }, 3411 | "dependencies": { 3412 | "entities": { 3413 | "version": "2.1.0", 3414 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", 3415 | "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", 3416 | "dev": true 3417 | } 3418 | } 3419 | }, 3420 | "mdurl": { 3421 | "version": "1.0.1", 3422 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 3423 | "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", 3424 | "dev": true 3425 | }, 3426 | "mime": { 3427 | "version": "1.6.0", 3428 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 3429 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 3430 | "dev": true 3431 | }, 3432 | "mimic-response": { 3433 | "version": "3.1.0", 3434 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 3435 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 3436 | "dev": true 3437 | }, 3438 | "minimatch": { 3439 | "version": "3.1.2", 3440 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3441 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3442 | "dev": true, 3443 | "requires": { 3444 | "brace-expansion": "^1.1.7" 3445 | } 3446 | }, 3447 | "minimist": { 3448 | "version": "1.2.6", 3449 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 3450 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 3451 | "dev": true 3452 | }, 3453 | "mkdirp-classic": { 3454 | "version": "0.5.3", 3455 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 3456 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 3457 | "dev": true 3458 | }, 3459 | "ms": { 3460 | "version": "2.1.2", 3461 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3462 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3463 | "dev": true 3464 | }, 3465 | "mute-stream": { 3466 | "version": "0.0.7", 3467 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 3468 | "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", 3469 | "dev": true 3470 | }, 3471 | "napi-build-utils": { 3472 | "version": "1.0.2", 3473 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 3474 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", 3475 | "dev": true 3476 | }, 3477 | "natural-compare": { 3478 | "version": "1.4.0", 3479 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3480 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 3481 | "dev": true 3482 | }, 3483 | "node-abi": { 3484 | "version": "3.22.0", 3485 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz", 3486 | "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==", 3487 | "dev": true, 3488 | "requires": { 3489 | "semver": "^7.3.5" 3490 | }, 3491 | "dependencies": { 3492 | "lru-cache": { 3493 | "version": "6.0.0", 3494 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 3495 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 3496 | "dev": true, 3497 | "requires": { 3498 | "yallist": "^4.0.0" 3499 | } 3500 | }, 3501 | "semver": { 3502 | "version": "7.3.7", 3503 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 3504 | "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 3505 | "dev": true, 3506 | "requires": { 3507 | "lru-cache": "^6.0.0" 3508 | } 3509 | }, 3510 | "yallist": { 3511 | "version": "4.0.0", 3512 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3513 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3514 | "dev": true 3515 | } 3516 | } 3517 | }, 3518 | "node-addon-api": { 3519 | "version": "4.3.0", 3520 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", 3521 | "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", 3522 | "dev": true 3523 | }, 3524 | "npmlog": { 3525 | "version": "4.1.2", 3526 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", 3527 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 3528 | "dev": true, 3529 | "requires": { 3530 | "are-we-there-yet": "~1.1.2", 3531 | "console-control-strings": "~1.1.0", 3532 | "gauge": "~2.7.3", 3533 | "set-blocking": "~2.0.0" 3534 | } 3535 | }, 3536 | "nth-check": { 3537 | "version": "2.1.1", 3538 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 3539 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 3540 | "dev": true, 3541 | "requires": { 3542 | "boolbase": "^1.0.0" 3543 | } 3544 | }, 3545 | "number-is-nan": { 3546 | "version": "1.0.1", 3547 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 3548 | "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", 3549 | "dev": true 3550 | }, 3551 | "object-assign": { 3552 | "version": "4.1.1", 3553 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3554 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 3555 | "dev": true 3556 | }, 3557 | "object-inspect": { 3558 | "version": "1.12.2", 3559 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", 3560 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", 3561 | "dev": true 3562 | }, 3563 | "once": { 3564 | "version": "1.4.0", 3565 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3566 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 3567 | "dev": true, 3568 | "requires": { 3569 | "wrappy": "1" 3570 | } 3571 | }, 3572 | "optionator": { 3573 | "version": "0.9.1", 3574 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 3575 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 3576 | "dev": true, 3577 | "requires": { 3578 | "deep-is": "^0.1.3", 3579 | "fast-levenshtein": "^2.0.6", 3580 | "levn": "^0.4.1", 3581 | "prelude-ls": "^1.2.1", 3582 | "type-check": "^0.4.0", 3583 | "word-wrap": "^1.2.3" 3584 | } 3585 | }, 3586 | "parent-module": { 3587 | "version": "1.0.1", 3588 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3589 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3590 | "dev": true, 3591 | "requires": { 3592 | "callsites": "^3.0.0" 3593 | } 3594 | }, 3595 | "parse-semver": { 3596 | "version": "1.1.1", 3597 | "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", 3598 | "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", 3599 | "dev": true, 3600 | "requires": { 3601 | "semver": "^5.1.0" 3602 | } 3603 | }, 3604 | "parse5": { 3605 | "version": "7.0.0", 3606 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", 3607 | "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", 3608 | "dev": true, 3609 | "requires": { 3610 | "entities": "^4.3.0" 3611 | } 3612 | }, 3613 | "parse5-htmlparser2-tree-adapter": { 3614 | "version": "7.0.0", 3615 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", 3616 | "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", 3617 | "dev": true, 3618 | "requires": { 3619 | "domhandler": "^5.0.2", 3620 | "parse5": "^7.0.0" 3621 | } 3622 | }, 3623 | "path-is-absolute": { 3624 | "version": "1.0.1", 3625 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3626 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 3627 | "dev": true 3628 | }, 3629 | "path-key": { 3630 | "version": "3.1.1", 3631 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3632 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3633 | "dev": true 3634 | }, 3635 | "pend": { 3636 | "version": "1.2.0", 3637 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 3638 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", 3639 | "dev": true 3640 | }, 3641 | "prebuild-install": { 3642 | "version": "7.1.0", 3643 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz", 3644 | "integrity": "sha512-CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==", 3645 | "dev": true, 3646 | "requires": { 3647 | "detect-libc": "^2.0.0", 3648 | "expand-template": "^2.0.3", 3649 | "github-from-package": "0.0.0", 3650 | "minimist": "^1.2.3", 3651 | "mkdirp-classic": "^0.5.3", 3652 | "napi-build-utils": "^1.0.1", 3653 | "node-abi": "^3.3.0", 3654 | "npmlog": "^4.0.1", 3655 | "pump": "^3.0.0", 3656 | "rc": "^1.2.7", 3657 | "simple-get": "^4.0.0", 3658 | "tar-fs": "^2.0.0", 3659 | "tunnel-agent": "^0.6.0" 3660 | } 3661 | }, 3662 | "prelude-ls": { 3663 | "version": "1.2.1", 3664 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 3665 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 3666 | "dev": true 3667 | }, 3668 | "prettier": { 3669 | "version": "2.6.2", 3670 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", 3671 | "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", 3672 | "dev": true 3673 | }, 3674 | "prettier-linter-helpers": { 3675 | "version": "1.0.0", 3676 | "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", 3677 | "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", 3678 | "dev": true, 3679 | "requires": { 3680 | "fast-diff": "^1.1.2" 3681 | } 3682 | }, 3683 | "process-nextick-args": { 3684 | "version": "2.0.1", 3685 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 3686 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 3687 | "dev": true 3688 | }, 3689 | "pump": { 3690 | "version": "3.0.0", 3691 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 3692 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 3693 | "dev": true, 3694 | "requires": { 3695 | "end-of-stream": "^1.1.0", 3696 | "once": "^1.3.1" 3697 | } 3698 | }, 3699 | "punycode": { 3700 | "version": "2.1.1", 3701 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3702 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3703 | "dev": true 3704 | }, 3705 | "qs": { 3706 | "version": "6.10.5", 3707 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz", 3708 | "integrity": "sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==", 3709 | "dev": true, 3710 | "requires": { 3711 | "side-channel": "^1.0.4" 3712 | } 3713 | }, 3714 | "rc": { 3715 | "version": "1.2.8", 3716 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 3717 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 3718 | "dev": true, 3719 | "requires": { 3720 | "deep-extend": "^0.6.0", 3721 | "ini": "~1.3.0", 3722 | "minimist": "^1.2.0", 3723 | "strip-json-comments": "~2.0.1" 3724 | } 3725 | }, 3726 | "read": { 3727 | "version": "1.0.7", 3728 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 3729 | "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", 3730 | "dev": true, 3731 | "requires": { 3732 | "mute-stream": "~0.0.4" 3733 | } 3734 | }, 3735 | "readable-stream": { 3736 | "version": "2.3.7", 3737 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 3738 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 3739 | "dev": true, 3740 | "requires": { 3741 | "core-util-is": "~1.0.0", 3742 | "inherits": "~2.0.3", 3743 | "isarray": "~1.0.0", 3744 | "process-nextick-args": "~2.0.0", 3745 | "safe-buffer": "~5.1.1", 3746 | "string_decoder": "~1.1.1", 3747 | "util-deprecate": "~1.0.1" 3748 | } 3749 | }, 3750 | "regexpp": { 3751 | "version": "3.2.0", 3752 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 3753 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 3754 | "dev": true 3755 | }, 3756 | "resolve-from": { 3757 | "version": "4.0.0", 3758 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3759 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3760 | "dev": true 3761 | }, 3762 | "rimraf": { 3763 | "version": "3.0.2", 3764 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3765 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3766 | "dev": true, 3767 | "requires": { 3768 | "glob": "^7.1.3" 3769 | } 3770 | }, 3771 | "safe-buffer": { 3772 | "version": "5.1.2", 3773 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3774 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3775 | "dev": true 3776 | }, 3777 | "sax": { 3778 | "version": "1.2.4", 3779 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 3780 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 3781 | "dev": true 3782 | }, 3783 | "semver": { 3784 | "version": "5.7.1", 3785 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 3786 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 3787 | "dev": true 3788 | }, 3789 | "set-blocking": { 3790 | "version": "2.0.0", 3791 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 3792 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 3793 | "dev": true 3794 | }, 3795 | "shebang-command": { 3796 | "version": "2.0.0", 3797 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3798 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3799 | "dev": true, 3800 | "requires": { 3801 | "shebang-regex": "^3.0.0" 3802 | } 3803 | }, 3804 | "shebang-regex": { 3805 | "version": "3.0.0", 3806 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3807 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3808 | "dev": true 3809 | }, 3810 | "side-channel": { 3811 | "version": "1.0.4", 3812 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 3813 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 3814 | "dev": true, 3815 | "requires": { 3816 | "call-bind": "^1.0.0", 3817 | "get-intrinsic": "^1.0.2", 3818 | "object-inspect": "^1.9.0" 3819 | } 3820 | }, 3821 | "signal-exit": { 3822 | "version": "3.0.7", 3823 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3824 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3825 | "dev": true 3826 | }, 3827 | "simple-concat": { 3828 | "version": "1.0.1", 3829 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 3830 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 3831 | "dev": true 3832 | }, 3833 | "simple-get": { 3834 | "version": "4.0.1", 3835 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 3836 | "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 3837 | "dev": true, 3838 | "requires": { 3839 | "decompress-response": "^6.0.0", 3840 | "once": "^1.3.1", 3841 | "simple-concat": "^1.0.0" 3842 | } 3843 | }, 3844 | "string_decoder": { 3845 | "version": "1.1.1", 3846 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3847 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3848 | "dev": true, 3849 | "requires": { 3850 | "safe-buffer": "~5.1.0" 3851 | } 3852 | }, 3853 | "string-width": { 3854 | "version": "2.1.1", 3855 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3856 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3857 | "dev": true, 3858 | "requires": { 3859 | "is-fullwidth-code-point": "^2.0.0", 3860 | "strip-ansi": "^4.0.0" 3861 | } 3862 | }, 3863 | "strip-ansi": { 3864 | "version": "4.0.0", 3865 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3866 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3867 | "dev": true, 3868 | "requires": { 3869 | "ansi-regex": "^3.0.0" 3870 | } 3871 | }, 3872 | "strip-json-comments": { 3873 | "version": "2.0.1", 3874 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3875 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 3876 | "dev": true 3877 | }, 3878 | "supports-color": { 3879 | "version": "5.5.0", 3880 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3881 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3882 | "dev": true, 3883 | "requires": { 3884 | "has-flag": "^3.0.0" 3885 | } 3886 | }, 3887 | "tar-fs": { 3888 | "version": "2.1.1", 3889 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 3890 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 3891 | "dev": true, 3892 | "requires": { 3893 | "chownr": "^1.1.1", 3894 | "mkdirp-classic": "^0.5.2", 3895 | "pump": "^3.0.0", 3896 | "tar-stream": "^2.1.4" 3897 | } 3898 | }, 3899 | "tar-stream": { 3900 | "version": "2.2.0", 3901 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 3902 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 3903 | "dev": true, 3904 | "requires": { 3905 | "bl": "^4.0.3", 3906 | "end-of-stream": "^1.4.1", 3907 | "fs-constants": "^1.0.0", 3908 | "inherits": "^2.0.3", 3909 | "readable-stream": "^3.1.1" 3910 | }, 3911 | "dependencies": { 3912 | "readable-stream": { 3913 | "version": "3.6.0", 3914 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 3915 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 3916 | "dev": true, 3917 | "requires": { 3918 | "inherits": "^2.0.3", 3919 | "string_decoder": "^1.1.1", 3920 | "util-deprecate": "^1.0.1" 3921 | } 3922 | } 3923 | } 3924 | }, 3925 | "text-table": { 3926 | "version": "0.2.0", 3927 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3928 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3929 | "dev": true 3930 | }, 3931 | "tslib": { 3932 | "version": "2.4.0", 3933 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", 3934 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", 3935 | "dev": true 3936 | }, 3937 | "tunnel": { 3938 | "version": "0.0.6", 3939 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 3940 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 3941 | "dev": true 3942 | }, 3943 | "tunnel-agent": { 3944 | "version": "0.6.0", 3945 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3946 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3947 | "dev": true, 3948 | "requires": { 3949 | "safe-buffer": "^5.0.1" 3950 | } 3951 | }, 3952 | "type-check": { 3953 | "version": "0.4.0", 3954 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3955 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3956 | "dev": true, 3957 | "requires": { 3958 | "prelude-ls": "^1.2.1" 3959 | } 3960 | }, 3961 | "type-fest": { 3962 | "version": "0.20.2", 3963 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 3964 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 3965 | "dev": true 3966 | }, 3967 | "typed-rest-client": { 3968 | "version": "1.8.9", 3969 | "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", 3970 | "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", 3971 | "dev": true, 3972 | "requires": { 3973 | "qs": "^6.9.1", 3974 | "tunnel": "0.0.6", 3975 | "underscore": "^1.12.1" 3976 | } 3977 | }, 3978 | "uc.micro": { 3979 | "version": "1.0.6", 3980 | "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", 3981 | "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", 3982 | "dev": true 3983 | }, 3984 | "underscore": { 3985 | "version": "1.13.4", 3986 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", 3987 | "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==", 3988 | "dev": true 3989 | }, 3990 | "uri-js": { 3991 | "version": "4.4.1", 3992 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3993 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3994 | "dev": true, 3995 | "requires": { 3996 | "punycode": "^2.1.0" 3997 | } 3998 | }, 3999 | "url-join": { 4000 | "version": "4.0.1", 4001 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", 4002 | "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", 4003 | "dev": true 4004 | }, 4005 | "util-deprecate": { 4006 | "version": "1.0.2", 4007 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4008 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 4009 | "dev": true 4010 | }, 4011 | "v8-compile-cache": { 4012 | "version": "2.3.0", 4013 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 4014 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 4015 | "dev": true 4016 | }, 4017 | "vsce": { 4018 | "version": "2.9.1", 4019 | "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.9.1.tgz", 4020 | "integrity": "sha512-l/X4hkoYgOoZhRYQpJXqexBJU2z4mzNywx+artzWnOV3v45YMM6IoDDtIcB9SWluobem476KmMPLkCdAdnvoOg==", 4021 | "dev": true, 4022 | "requires": { 4023 | "azure-devops-node-api": "^11.0.1", 4024 | "chalk": "^2.4.2", 4025 | "cheerio": "^1.0.0-rc.9", 4026 | "commander": "^6.1.0", 4027 | "glob": "^7.0.6", 4028 | "hosted-git-info": "^4.0.2", 4029 | "keytar": "^7.7.0", 4030 | "leven": "^3.1.0", 4031 | "markdown-it": "^12.3.2", 4032 | "mime": "^1.3.4", 4033 | "minimatch": "^3.0.3", 4034 | "parse-semver": "^1.1.1", 4035 | "read": "^1.0.7", 4036 | "semver": "^5.1.0", 4037 | "tmp": "^0.2.1", 4038 | "typed-rest-client": "^1.8.4", 4039 | "url-join": "^4.0.1", 4040 | "xml2js": "^0.4.23", 4041 | "yauzl": "^2.3.1", 4042 | "yazl": "^2.2.2" 4043 | }, 4044 | "dependencies": { 4045 | "tmp": { 4046 | "version": "0.2.1", 4047 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 4048 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 4049 | "dev": true, 4050 | "requires": { 4051 | "rimraf": "^3.0.0" 4052 | } 4053 | } 4054 | } 4055 | }, 4056 | "which": { 4057 | "version": "2.0.2", 4058 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 4059 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 4060 | "dev": true, 4061 | "requires": { 4062 | "isexe": "^2.0.0" 4063 | } 4064 | }, 4065 | "wide-align": { 4066 | "version": "1.1.5", 4067 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", 4068 | "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", 4069 | "dev": true, 4070 | "requires": { 4071 | "string-width": "^1.0.2 || 2 || 3 || 4" 4072 | } 4073 | }, 4074 | "word-wrap": { 4075 | "version": "1.2.3", 4076 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 4077 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 4078 | "dev": true 4079 | }, 4080 | "wrappy": { 4081 | "version": "1.0.2", 4082 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4083 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4084 | "dev": true 4085 | }, 4086 | "xml2js": { 4087 | "version": "0.4.23", 4088 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", 4089 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", 4090 | "dev": true, 4091 | "requires": { 4092 | "sax": ">=0.6.0", 4093 | "xmlbuilder": "~11.0.0" 4094 | } 4095 | }, 4096 | "xmlbuilder": { 4097 | "version": "11.0.1", 4098 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 4099 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 4100 | "dev": true 4101 | }, 4102 | "yauzl": { 4103 | "version": "2.10.0", 4104 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 4105 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 4106 | "dev": true, 4107 | "requires": { 4108 | "buffer-crc32": "~0.2.3", 4109 | "fd-slicer": "~1.1.0" 4110 | } 4111 | }, 4112 | "yazl": { 4113 | "version": "2.5.1", 4114 | "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", 4115 | "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", 4116 | "dev": true, 4117 | "requires": { 4118 | "buffer-crc32": "~0.2.3" 4119 | } 4120 | } 4121 | } 4122 | } 4123 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "adobe-script-runner", 3 | "displayName": "Adobe Script Runner", 4 | "description": "Run Adobe scripts from VSCode", 5 | "version": "0.6.0", 6 | "publisher": "renderTom", 7 | "icon": "resources/icon.png", 8 | "galleryBanner": { 9 | "color": "#34495E", 10 | "theme": "dark" 11 | }, 12 | "engines": { 13 | "vscode": "^1.21.0" 14 | }, 15 | "categories": [ 16 | "Other" 17 | ], 18 | "activationEvents": [ 19 | "onCommand:adobeScriptRunner.ae", 20 | "onCommand:adobeScriptRunner.ae-beta", 21 | "onCommand:adobeScriptRunner.ai", 22 | "onCommand:adobeScriptRunner.ai-beta", 23 | "onCommand:adobeScriptRunner.estk", 24 | "onCommand:adobeScriptRunner.ic", 25 | "onCommand:adobeScriptRunner.id", 26 | "onCommand:adobeScriptRunner.psd", 27 | "onCommand:adobeScriptRunner.psd-beta" 28 | ], 29 | "main": "./lib/extension", 30 | "contributes": { 31 | "commands": [ 32 | { 33 | "command": "adobeScriptRunner.ae", 34 | "title": "Adobe After Effects" 35 | }, 36 | { 37 | "command": "adobeScriptRunner.ae-beta", 38 | "title": "Adobe After Effects (Beta)" 39 | }, 40 | { 41 | "command": "adobeScriptRunner.ai", 42 | "title": "Adobe Illustrator" 43 | }, 44 | { 45 | "command": "adobeScriptRunner.ai-beta", 46 | "title": "Adobe Illustrator (Beta)" 47 | }, 48 | { 49 | "command": "adobeScriptRunner.estk", 50 | "title": "Adobe ExtendScript Toolkit" 51 | }, 52 | { 53 | "command": "adobeScriptRunner.ic", 54 | "title": "Adobe InCopy" 55 | }, 56 | { 57 | "command": "adobeScriptRunner.id", 58 | "title": "Adobe InDesign" 59 | }, 60 | { 61 | "command": "adobeScriptRunner.psd", 62 | "title": "Adobe Photoshop" 63 | }, 64 | { 65 | "command": "adobeScriptRunner.psd-beta", 66 | "title": "Adobe Photoshop (Beta) (Windows only)" 67 | } 68 | ], 69 | "configuration": [ 70 | { 71 | "type": "object", 72 | "title": "Adobe Script Runner configuration", 73 | "properties": { 74 | "adobeScriptRunner.bringHostApplicationToFront": { 75 | "type": "boolean", 76 | "default": true, 77 | "markdownDescription": "Mac only: Whether to bring the host application to the front." 78 | }, 79 | "adobeScriptRunner.executeFileFromConfig": { 80 | "type": "boolean", 81 | "default": true, 82 | "markdownDescription": "Whether to execute file, defined in config `settings.json` file. This option is shadowed by **Execute File From Token** option. See more in [Execute this](https://github.com/rendertom/VSCode-Adobe-Script-Runner#execute-this) section." 83 | }, 84 | "adobeScriptRunner.executeFileFromToken": { 85 | "type": "boolean", 86 | "default": true, 87 | "markdownDescription": "Whether to search for `Adobe-Script-Runner \"path/to/file.jsx\"` token in active document, and execute file within the quotes. This option shadows **Execute File From Config** option. See more in [Token](https://github.com/rendertom/VSCode-Adobe-Script-Runner#token) section." 88 | }, 89 | "adobeScriptRunner.executeThis": { 90 | "type": "string", 91 | "default": null, 92 | "markdownDescription": "A path to a file to execute always, ignoring the file in the viewer, globally or per-project basis. See more in [Execute this](https://github.com/rendertom/VSCode-Adobe-Script-Runner#execute-this) section." 93 | }, 94 | "adobeScriptRunner.saveFileBeforeExecution": { 95 | "type": "boolean", 96 | "default": true, 97 | "description": "Whether to save file before execution." 98 | }, 99 | "adobeScriptRunner.temporaryFile": { 100 | "type": "string", 101 | "default": "~/.vscode/Snippet.js", 102 | "description": "Path to a temporary file where Untitled document gets saved prior to execution." 103 | }, 104 | "adobeScriptRunner.winAfterEffectsExe": { 105 | "type": "string", 106 | "default": "C:/Program Files/Adobe/Adobe After Effects 2022/Support Files/AfterFX.exe", 107 | "description": "Windows only: Path to Adobe After Effects executable (AfterFX.exe)." 108 | }, 109 | "adobeScriptRunner.winAfterEffectsBetaExe": { 110 | "type": "string", 111 | "default": "C:/Program Files/Adobe/Adobe After Effects (Beta)/Support Files/AfterFX (Beta).exe", 112 | "description": "Windows only: Path to Adobe After Effects (Beta) executable (AfterFX (Beta).exe)." 113 | }, 114 | "adobeScriptRunner.winExtendscriptToolkitExe": { 115 | "type": "string", 116 | "default": "C:/Program Files (x86)/Adobe/Adobe ExtendScript Toolkit CC/ExtendScript Toolkit.exe", 117 | "description": "Windows only: Path to Adobe ExtendScript Toolkit executable (ExtendScript Toolkit.exe)." 118 | }, 119 | "adobeScriptRunner.winIllustratorExe": { 120 | "type": "string", 121 | "default": "C:/Program Files/Adobe/Adobe Illustrator 2022/Support Files/Contents/Windows/Illustrator.exe", 122 | "description": "Windows only: Path to Adobe Illustrator executable (Illustrator.exe)." 123 | }, 124 | "adobeScriptRunner.winIllustratorBetaExe": { 125 | "type": "string", 126 | "default": "C:/Program Files/Adobe/Adobe Illustrator (Beta)/Support Files/Contents/Windows/Illustrator.exe", 127 | "description": "Windows only: Path to Adobe Illustrator (Beta) executable (Illustrator.exe)." 128 | }, 129 | "adobeScriptRunner.winPhotoshopExe": { 130 | "type": "string", 131 | "default": "C:/Program Files/Adobe/Adobe Photoshop 2022/Photoshop.exe", 132 | "description": "Windows only: Path to Adobe Photoshop executable (Photoshop.exe)." 133 | }, 134 | "adobeScriptRunner.winPhotoshopBetaExe": { 135 | "type": "string", 136 | "default": "C:/Program Files/Adobe/Adobe Photoshop (Beta)/Photoshop.exe", 137 | "description": "Windows only: Path to Adobe Photoshop (Beta) executable (Photoshop.exe)." 138 | } 139 | } 140 | } 141 | ], 142 | "keybindings": [ 143 | { 144 | "command": "adobeScriptRunner.ae", 145 | "key": "ctrl+r", 146 | "mac": "cmd+r", 147 | "when": "editorTextFocus" 148 | } 149 | ] 150 | }, 151 | "keywords": [ 152 | "Adobe", 153 | "Estk", 154 | "After Effects", 155 | "Photoshop", 156 | "InDesign" 157 | ], 158 | "repository": { 159 | "type": "git", 160 | "url": "https://github.com/rendertom/VSCode-Adobe-Script-Runner.git" 161 | }, 162 | "scripts": { 163 | "format": "node_modules/.bin/prettier --write .", 164 | "lint": "node_modules/.bin/eslint ./lib/", 165 | "package": "vsce package" 166 | }, 167 | "devDependencies": { 168 | "@types/node": "^7.0.43", 169 | "@types/vscode": "^1.21.0", 170 | "eslint": "^8.17.0", 171 | "eslint-config-prettier": "^8.5.0", 172 | "eslint-plugin-prettier": "^4.0.0", 173 | "prettier": "2.6.2", 174 | "vsce": "^2.9.1" 175 | } 176 | } 177 | -------------------------------------------------------------------------------- /resources/Adobe-Script-Runner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rendertom/VSCode-Adobe-Script-Runner/a92a8b8817f17db329421db53bfb5721eeef07b1/resources/Adobe-Script-Runner.gif -------------------------------------------------------------------------------- /resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rendertom/VSCode-Adobe-Script-Runner/a92a8b8817f17db329421db53bfb5721eeef07b1/resources/icon.png --------------------------------------------------------------------------------