├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md └── workflows │ ├── publish.yml │ └── test.yml ├── .gitignore ├── .node-version ├── .npmrc ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── .vscodeignore ├── .yarnrc.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── images ├── demo.gif └── laravel-pint-logo-icon.png ├── package.json ├── package.nls.es-es.json ├── package.nls.json ├── pint-schema.json ├── playground └── index.php ├── scripts └── generate-rules-schema.mjs ├── src ├── CommandResolver.ts ├── LoggingService.ts ├── PhpCommand.ts ├── PintEditProvider.ts ├── PintEditService.ts ├── StatusBar.ts ├── commands.ts ├── constants.ts ├── extension.ts ├── message.ts ├── test │ ├── runTest.ts │ └── suite │ │ ├── extension.test.ts │ │ └── index.ts ├── types.d.ts └── util.ts ├── tsconfig.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = false -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { 5 | "ecmaVersion": 6, 6 | "sourceType": "module" 7 | }, 8 | "plugins": [ 9 | "@typescript-eslint" 10 | ], 11 | "rules": { 12 | "@typescript-eslint/naming-convention": "warn", 13 | "@typescript-eslint/semi": "warn", 14 | "curly": "warn", 15 | "eqeqeq": "warn", 16 | "no-throw-literal": "warn", 17 | "semi": "off" 18 | }, 19 | "ignorePatterns": [ 20 | "out", 21 | "dist", 22 | "**/*.d.ts" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.lock -diff 2 | *.min.js -diff 3 | *.min.css -diff -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Environment:** 27 | - Operating system: [e.g. Windows, Mac OS or Linux] 28 | - IDE / version: [e.g. VSCode 1.68 or VSCodium 1.70] 29 | - Extension version [e.g. 0.7.3 or 1.1.4] 30 | - Extension's config: [If applicable just copy the json fragment related to the extension, otherwise ignore] 31 | 32 | **Additional context** 33 | Add any other context about the problem here. 34 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v*.*.*" 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 13 | 14 | - name: Enable Corepack 15 | run: corepack enable 16 | 17 | - name: Setup Node.js 18 | uses: actions/setup-node@v3 19 | with: 20 | node-version: 18 21 | cache: yarn 22 | 23 | - name: Get Yarn cache directory path 24 | id: yarn-cache-dir-path 25 | run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT 26 | 27 | - uses: actions/cache@v3 28 | id: yarn-cache 29 | with: 30 | path: ${{ steps.yarn-cache-dir-path.outputs.dir }} 31 | key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} 32 | restore-keys: | 33 | ${{ runner.os }}-yarn- 34 | 35 | - name: Install dependencies 36 | run: yarn install --immutable 37 | 38 | - name: Package extension to VSIX 39 | run: yarn run vsce package --no-yarn --pre-release 40 | 41 | - name: Get release info 42 | id: query-release-info 43 | uses: release-flow/keep-a-changelog-action@v2 44 | with: 45 | command: query 46 | version: latest 47 | 48 | - name: Publish to Github releases 49 | uses: softprops/action-gh-release@v1 50 | with: 51 | body: ${{ steps.query-release-info.outputs.release-notes }} 52 | prerelease: false 53 | files: '*.vsix' 54 | 55 | - name: Publish extension to Visual Studio Marketplace 56 | run: yarn run vsce publish --no-yarn 57 | env: 58 | VSCE_PAT: ${{ secrets.VSCE_PAT }} 59 | 60 | - name: Publish extension to Open VSX 61 | run: yarn run ovsx publish *.vsix 62 | env: 63 | OVSX_PAT: ${{ secrets.OVSX_PAT }} 64 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | build: 10 | strategy: 11 | matrix: 12 | os: [macos-latest, ubuntu-latest, windows-latest] 13 | 14 | runs-on: ${{ matrix.os }} 15 | 16 | steps: 17 | - uses: actions/checkout@v4 18 | 19 | - name: Enable Corepack 20 | run: corepack enable 21 | 22 | - name: Setup Node.js 23 | uses: actions/setup-node@v3 24 | with: 25 | node-version: 18 26 | cache: yarn 27 | 28 | - name: Get Yarn cache directory path 29 | id: yarn-cache-dir-path 30 | run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT 31 | 32 | - uses: actions/cache@v3 33 | id: yarn-cache 34 | with: 35 | path: ${{ steps.yarn-cache-dir-path.outputs.dir }} 36 | key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} 37 | restore-keys: | 38 | ${{ runner.os }}-yarn- 39 | 40 | - name: Install dependencies 41 | run: yarn install --immutable 42 | 43 | - run: xvfb-run -a yarn test 44 | if: runner.os == 'Linux' 45 | 46 | - run: yarn test 47 | if: runner.os != 'Linux' 48 | 49 | - uses: codecov/codecov-action@v2 50 | if: success() && matrix.os == 'ubuntu-latest' 51 | with: 52 | token: ${{ secrets.CODECOV_TOKEN }} 53 | files: ./coverage/clover.xml 54 | fail_ci_if_error: true 55 | verbose: true 56 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | node_modules 3 | out 4 | coverage 5 | *.vsix 6 | .DS_Store 7 | .nyc_output 8 | .vscode-test 9 | playground/.vscode 10 | scripts/** 11 | !scripts/generate-rules-schema.mjs 12 | .pnp.* 13 | .yarn/* 14 | !.yarn/patches 15 | !.yarn/plugins 16 | !.yarn/releases 17 | !.yarn/sdks 18 | !.yarn/versions -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 18 -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | tag-version-prefix=v -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "dbaeumer.vscode-eslint" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that compiles the extension and then opens it inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Run Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ], 15 | "outFiles": [ 16 | "${workspaceFolder}/out/**/*.js" 17 | ] 18 | }, 19 | { 20 | "name": "Extension Tests", 21 | "type": "extensionHost", 22 | "request": "launch", 23 | "args": [ 24 | "--extensionDevelopmentPath=${workspaceFolder}", 25 | "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" 26 | ], 27 | "outFiles": [ 28 | "${workspaceFolder}/out/test/**/*.js" 29 | ] 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.exclude": { 4 | "out": false // set this to true to hide the "out" folder with the compiled JS files 5 | }, 6 | "search.exclude": { 7 | "out": true // set this to false to include "out" folder in search results 8 | }, 9 | // Turn off tsc task auto detection since we have the necessary tasks as npm scripts 10 | "typescript.tsc.autoDetect": "off" 11 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .github/** 2 | .vscode/** 3 | .vscode-test/** 4 | src/** 5 | .gitignore 6 | .yarnrc 7 | vsc-extension-quickstart.md 8 | **/tsconfig.json 9 | **/.eslintrc.json 10 | **/*.map 11 | **/*.ts 12 | pint-schema.json 13 | scripts/** 14 | playground/** 15 | **/*.gif 16 | node_modules/** 17 | .yarn/** 18 | *.vsix 19 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | compressionLevel: mixed 2 | 3 | enableGlobalCache: false 4 | 5 | nodeLinker: node-modules 6 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to the "laravel-pint" extension will be documented in this file. 4 | 5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. 6 | 7 | ## [Unreleased] 8 | 9 | ## [1.3.0] - 2025-01-17 10 | 11 | ### Fixed 12 | 13 | - Fix casing on case-insensitive filesystems [#67] (thanks @adrum) 14 | 15 | ### Changed 16 | 17 | - Pint config json schema updated to PHP CS Fixer 3.56.2 18 | 19 | ### Removed 20 | 21 | - Pint config json schema with Laravel Pint own fixers (`Laravel/laravel_phpdoc_alignment`) 22 | 23 | ## [1.2.1] - 2024-07-05 24 | 25 | ### Fixed 26 | 27 | - Fix compatibility with Laravel Herd on Windows [#62] (thanks @vikas5914) 28 | 29 | ## [1.2.0] - 2024-03-13 30 | 31 | ### Added 32 | 33 | - Pint `--dirty` option as a extension setting [#60] (thanks @tobinguyenn) 34 | 35 | ## [1.1.7] - 2024-02-15 36 | 37 | ### Fixed 38 | 39 | - Windows paths [#55 #57] (regression from d421f4b3c58fb2dc42c0096db084eaa06974088e, thanks @balthild) 40 | 41 | ### Changed 42 | 43 | - Pint config json schema updated to PHP CS Fixer 3.49.0 44 | 45 | ## [1.1.6] - 2023-12-26 46 | 47 | ### Fixed 48 | 49 | - Use relative path as Pint uses current working directory (cwd) [#50 #51] (thanks @mho22) 50 | - Ignore VSCode excluded paths so Pint executable can be found [#46 #45] (thanks @fritz-c) 51 | 52 | ### Changed 53 | 54 | - VSCode minimum version upgraded (`1.68.0` to `1.82.0`) 55 | - Pint config json schema updated to PHP CS Fixer 3.41.1 56 | 57 | ## [1.1.5] - 2023-06-28 58 | 59 | ### Added 60 | 61 | - `PER` preset to JSON schema and config [#41] 62 | - Fixes to JSON schema generator [#40 #42] (thanks @yaegassy) 63 | 64 | ## [1.1.4] - 2022-11-24 65 | 66 | ### Fixed 67 | 68 | - Issue resolving fallback to global Pint binary [#28] (thanks @jasonvarga) 69 | 70 | ## [1.1.3] - 2022-10-16 71 | 72 | ### Added 73 | 74 | - Extension published to Open VSX for VSCodium users: https://open-vsx.org/extension/open-southeners/laravel-pint 75 | 76 | ## [1.1.2] - 2022-08-30 77 | 78 | ### Changed 79 | 80 | - Use global context for extension initial installation auto-config [#24] 81 | 82 | ## [1.1.1] - 2022-08-16 83 | 84 | ### Fixed 85 | 86 | - Custom config file path resolution (now yes, thanks to @adrum for the PR) [#23] 87 | - Workspace files format command 88 | 89 | ### Changed 90 | 91 | - `laravel-pint.configPath` now is also being used by the extension's exclude paths 92 | 93 | ## [1.1.0] - 2022-08-12 94 | 95 | ### Added 96 | 97 | - More logging debug information (only enabled by setting the option `laravel-pint.enableDebugLogs`) 98 | 99 | ### Changed 100 | 101 | - Format workspace was formatting all workspaces, now it formats only current active document's workspace (otherwise it complains about it on the Output logs tab of VS Code) 102 | 103 | ### Fixed 104 | 105 | - Custom config file path resolution [#22] 106 | - File formatting triggers under the whole workspace [#21] 107 | - Minor bug with extension version debug info getting logged 108 | 109 | ## [1.0.2] - 2022-08-04 110 | 111 | ### Fixed 112 | 113 | - Order of command arguments on PHP when running in Windows (thanks @serdartaylan) [#18] 114 | 115 | ## [1.0.1] - 2022-08-03 116 | 117 | ### Fixed 118 | 119 | - Hide status bar with others document languages 120 | - Show disabled status bar with active files that are excluded by Laravel Pint 121 | - Fix command execution on Windows wasn't made properly 122 | 123 | ### Added 124 | 125 | - First extension enable pre-setting workspace language-scoped (PHP) config: `editor.formatOnSave` and `laravel-pint.enable` 126 | - Some output messages 127 | 128 | ## [1.0.0] - 2022-08-03 129 | 130 | ### Fixed 131 | 132 | - Support to run Laravel Pint or Laravel Sails with PHP on Windows [#18] 133 | 134 | ### Added 135 | 136 | - Support for multi-workspace environment 137 | - Spanish translation for extension settings 138 | - Extension category to _Formatters_ (now it works like a proper VS Code formatter) [#17] 139 | - More debugging messages (can be enabled by the setting option `laravel-pint.enableDebugLogs`) 140 | - Status bar that shows extension debug output on click (still work in progress...) 141 | - Security support for untrusted workspaces (limited functionality to just global) 142 | - Add fallback to global Laravel Pint command whenever local binary isn't found in any workspace (supporting both Windows & Linux/Mac OS), configurable by the setting `laravel-pint.fallbackToGlobalBin` [#20] 143 | 144 | ### Changed 145 | 146 | - Major codebase refactor 147 | 148 | ### Removed 149 | 150 | - VS Code task provider for workspace formatting (in favour of the same format project command **which now works with multiple workspaces**) 151 | 152 | ## [0.7.3] - 2022-07-10 153 | 154 | ### Fixed 155 | 156 | - Regression introduced in a3b67a5ef1cb4126d5605f062861c62deda3fbf5 (#15) 157 | 158 | ## [0.7.2] - 2022-07-07 159 | 160 | ### Fixed 161 | 162 | - Minor changes to code style and internal fixes 163 | 164 | ## [0.7.1] - 2022-07-05 165 | 166 | ### Fixed 167 | 168 | - Fix psr12 preset on `pint.json` autocompletion (thanks @yaegassy) 169 | 170 | ## [0.7.0] - 2022-06-30 171 | 172 | ### Added 173 | 174 | - Format workspace files command. 175 | - Format task provider. 176 | 177 | ## [0.6.1] - 2022-06-29 178 | 179 | ### Fixed 180 | 181 | - Regression on alerts when projects aren't using Laravel Pint (#1). 182 | 183 | ## [0.6.0] - 2022-06-28 184 | 185 | ### Added 186 | 187 | - `pint.json` JSON schema validator for validation and autocompletion. 188 | 189 | ## [0.5.0] - 2022-06-27 190 | 191 | ### Added 192 | 193 | - Laravel Sail compatibility, adding options `runInLaravelSail` (default: false) and `sailExecutablePath` (default: `vendor/bin/sail`). 194 | 195 | ### Fixed 196 | 197 | - Make default settings all compatible with Windows paths. 198 | - Format command visible even when extension has not been activated. 199 | 200 | ## [0.4.0] - 2022-06-27 201 | 202 | ### Added 203 | 204 | - Option `auto` for preset to leave it empty on the executable arguments. 205 | 206 | ### Changed 207 | 208 | - `configPath` default behaviour (out of the box) to auto align and improve user experience and extension maintenance alignment with the official Laravel Pint. 209 | 210 | ## [0.3.0] - 2022-06-26 211 | 212 | ### Changed 213 | 214 | - Extension's default preset to be `laravel` as of v0.2.0 release of Laravel Pint (before was `psr-12`) (#8, thanks @zepfietje) 215 | 216 | ## [0.2.1] - 2022-06-23 217 | 218 | ### Changed 219 | 220 | - Added an hi-res version of the icon (#3, thanks @caneco) 221 | 222 | ## [0.2.0] - 2022-06-23 223 | 224 | ### Added 225 | 226 | - `preset`, `config` and `formatOnSave` settings ([check this for more info about presets configuration](https://github.com/laravel/pint/tree/main/resources/presets)) 227 | 228 | ### Fixed 229 | 230 | - Settings auto reload on save 231 | 232 | ### Removed 233 | 234 | - Alerts when executablePath setting isn't available in local project (#1) 235 | 236 | ## [0.1.0] - 2022-06-23 237 | 238 | ### Added 239 | 240 | - Initial release 241 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Open Southeners 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Laravel Pint for VS Code 2 | 3 | ![demo](https://github.com/open-southeners/vscode-laravel-pint/blob/main/images/demo.gif?raw=true) 4 | 5 | [![test CI](https://github.com/open-southeners/vscode-laravel-pint/actions/workflows/test.yml/badge.svg)](https://github.com/open-southeners/vscode-laravel-pint/actions/workflows/test.yml) [![publish CI](https://github.com/open-southeners/vscode-laravel-pint/actions/workflows/publish.yml/badge.svg)](https://github.com/open-southeners/vscode-laravel-pint/actions/workflows/publish.yml) [![codecov](https://codecov.io/gh/open-southeners/vscode-laravel-pint/branch/main/graph/badge.svg?token=5M9M8VDLEV)](https://codecov.io/gh/open-southeners/vscode-laravel-pint) [![Visual Studio Marketplace Last Updated](https://img.shields.io/visual-studio-marketplace/last-updated/open-southeners.laravel-pint)](https://marketplace.visualstudio.com/items?itemName=open-southeners.laravel-pint&ssr=false#version-history) [![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/open-southeners.laravel-pint)](https://marketplace.visualstudio.com/items?itemName=open-southeners.laravel-pint&ssr=false#version-history) [![Visual Studio Marketplace Rating](https://img.shields.io/visual-studio-marketplace/r/open-southeners.laravel-pint?logo=visualstudiocode)](https://marketplace.visualstudio.com/items?itemName=open-southeners.laravel-pint&ssr=false#review-details) [![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/open-southeners.laravel-pint?logo=visualstudiocode)](https://marketplace.visualstudio.com/items?itemName=open-southeners.laravel-pint) [![Open VSX Rating](https://img.shields.io/open-vsx/rating/open-southeners/laravel-pint?logo=vscodium&logoColor=%23fff)](https://open-vsx.org/extension/open-southeners/laravel-pint/reviews) [![Open VSX Downloads](https://img.shields.io/open-vsx/dt/open-southeners/laravel-pint?logo=vscodium&logoColor=%23fff)](https://open-vsx.org/extension/open-southeners/laravel-pint) 6 | 7 | **This extension is NOT official from the Laravel team.** [Take a look into the official project](https://github.com/laravel/pint). 8 | 9 | Integrates Laravel Pint into your VSCode projects for automatic code formatting. 10 | 11 | ## Getting started 12 | 13 | 1. Install the extension (it will automatically enable only for PHP files when the extension is enabled) 14 | 2. Run the following command in a terminal or console at your project's path: 15 | 16 | ```sh 17 | composer require laravel/pint --dev 18 | ``` 19 | 20 | 3. Finally, save any file and it will format it for you (remember to set up). Or press `Ctrl + Shift + P` on Windows/Linux (`Cmd + Shift + P` on Mac OS) and type _"Format document using Laravel Pint"_ this will format the current opened file. 21 | 22 | ## Features 23 | 24 | - `pint.json` autocompletion and validation 25 | - Formatter for PHP files that uses Laravel Pint locally, globally or within Docker (using [Laravel Sail](https://laravel.com/docs/9.x/sail)) 26 | - Format workspace files command to format all **current active workspace PHP files** 27 | 28 | ## Partners 29 | 30 | [![skore logo](https://github.com/open-southeners/partners/raw/main/logos/skore_logo.png)](https://getskore.com) 31 | 32 | ## License 33 | 34 | **Logo (icon) is property of Laravel Team or Laravel Pint project.** 35 | 36 | This project is open-sourced software licensed under the [MIT license](LICENSE.md). 37 | -------------------------------------------------------------------------------- /images/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-southeners/vscode-laravel-pint/740b1a2cdcadcb51df21dbe0d03e1033a64f1ea6/images/demo.gif -------------------------------------------------------------------------------- /images/laravel-pint-logo-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-southeners/vscode-laravel-pint/740b1a2cdcadcb51df21dbe0d03e1033a64f1ea6/images/laravel-pint-logo-icon.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel-pint", 3 | "displayName": "Laravel Pint", 4 | "version": "1.3.0", 5 | "description": "Integrates Laravel Pint into your VSCode projects for automatic code formatting", 6 | "publisher": "open-southeners", 7 | "icon": "images/laravel-pint-logo-icon.png", 8 | "categories": [ 9 | "Formatters" 10 | ], 11 | "keywords": [ 12 | "multi-root ready", 13 | "formatter", 14 | "php", 15 | "code formatting", 16 | "code styling", 17 | "utilities", 18 | "laravel", 19 | "laravel pint" 20 | ], 21 | "qna": "https://github.com/open-southeners/vscode-laravel-pint/discussions", 22 | "bugs": { 23 | "url": "https://github.com/open-southeners/vscode-laravel-pint/issues" 24 | }, 25 | "repository": { 26 | "type": "git", 27 | "url": "https://github.com/open-southeners/vscode-laravel-pint.git" 28 | }, 29 | "capabilities": { 30 | "virtualWorkspaces": { 31 | "supported": "limited", 32 | "description": "Laravel Pint does not fully support some filesystem environments, except containers or WSL (Windows)" 33 | }, 34 | "untrustedWorkspaces": { 35 | "supported": "limited", 36 | "description": "Laravel Pint will not run any code hosted on untrusted workspaces, although it can still fallback to global/user-defined binaries" 37 | } 38 | }, 39 | "main": "./out/extension.js", 40 | "scripts": { 41 | "bundle": "yarn run vscode:prepublish && vsce package", 42 | "compile": "esbuild ./src/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=cjs --platform=node", 43 | "deploy": "vsce publish --yarn", 44 | "esbuild": "yarn run compile --sourcemap", 45 | "lint": "eslint src --ext ts", 46 | "lint:fix": "yarn run lint --fix", 47 | "transpile": "tsc -p ./", 48 | "pretest": "yarn run transpile && yarn run lint", 49 | "test": "node ./out/test/runTest.js", 50 | "vscode:prepublish": "yarn run compile --minify", 51 | "watch": "yarn run compile --sourcemap --watch" 52 | }, 53 | "contributes": { 54 | "commands": [ 55 | { 56 | "command": "laravel-pint.format", 57 | "title": "Format document using Laravel Pint", 58 | "enablement": "editorLangId == php || resourceExtname == .php" 59 | }, 60 | { 61 | "command": "laravel-pint.formatProject", 62 | "title": "Format active workspace files using Laravel Pint" 63 | } 64 | ], 65 | "configuration": { 66 | "title": "Laravel Pint", 67 | "type": "object", 68 | "properties": { 69 | "laravel-pint.fallbackToGlobalBin": { 70 | "type": "boolean", 71 | "default": true, 72 | "markdownDescription": "%ext.config.fallbackToGlobalBin%", 73 | "scope": "resource" 74 | }, 75 | "laravel-pint.executablePath": { 76 | "isExecutable": true, 77 | "type": "string", 78 | "markdownDescription": "%ext.config.executablePath%", 79 | "scope": "resource" 80 | }, 81 | "laravel-pint.configPath": { 82 | "type": "string", 83 | "markdownDescription": "%ext.config.configPath%", 84 | "scope": "resource" 85 | }, 86 | "laravel-pint.preset": { 87 | "type": "string", 88 | "enum": [ 89 | "auto", 90 | "laravel", 91 | "psr12", 92 | "symfony", 93 | "per" 94 | ], 95 | "default": "auto", 96 | "markdownDescription": "%ext.config.preset%", 97 | "scope": "resource" 98 | }, 99 | "laravel-pint.enable": { 100 | "type": "boolean", 101 | "default": false, 102 | "markdownDescription": "%ext.config.enable%", 103 | "scope": "resource" 104 | }, 105 | "laravel-pint.enableDebugLogs": { 106 | "type": "boolean", 107 | "default": false, 108 | "markdownDescription": "%ext.config.enableDebugLogs%", 109 | "scope": "resource" 110 | }, 111 | "laravel-pint.runInLaravelSail": { 112 | "type": "boolean", 113 | "default": false, 114 | "markdownDescription": "%ext.config.runInLaravelSail%", 115 | "scope": "resource" 116 | }, 117 | "laravel-pint.sailExecutablePath": { 118 | "isExecutable": true, 119 | "type": "string", 120 | "markdownDescription": "%ext.config.sailExecutablePath%", 121 | "scope": "resource" 122 | }, 123 | "laravel-pint.dirtyOnly": { 124 | "default": false, 125 | "type": "boolean", 126 | "markdownDescription": "%ext.config.dirtyOnly%", 127 | "scope": "resource" 128 | } 129 | } 130 | }, 131 | "jsonValidation": [ 132 | { 133 | "fileMatch": "pint.json", 134 | "url": "https://raw.githubusercontent.com/open-southeners/vscode-laravel-pint/main/pint-schema.json" 135 | } 136 | ] 137 | }, 138 | "activationEvents": [ 139 | "onStartupFinished" 140 | ], 141 | "devDependencies": { 142 | "@types/command-exists": "^1.2.0", 143 | "@types/fs-extra": "^9.0.13", 144 | "@types/glob": "^8.0.0", 145 | "@types/mocha": "^9.1.1", 146 | "@types/node": "18.x", 147 | "@types/vscode": "^1.82.0", 148 | "@typescript-eslint/eslint-plugin": "^5.12.1", 149 | "@typescript-eslint/parser": "^5.12.1", 150 | "@vscode/test-electron": "^2.1.2", 151 | "@vscode/vsce": "^2.19.0", 152 | "command-exists": "^1.2.9", 153 | "esbuild": "^0.15.15", 154 | "eslint": "^8.28.0", 155 | "fs-extra": "^10.1.0", 156 | "glob": "^10.3.3", 157 | "mocha": "^9.2.2", 158 | "node-fetch": "^3.3.0", 159 | "ovsx": "^0.5.2", 160 | "typescript": "^4.9.3" 161 | }, 162 | "engines": { 163 | "vscode": "^1.82.0" 164 | }, 165 | "__metadata": { 166 | "id": "6828d529-8cfe-4935-9607-fc07294f1cc0", 167 | "publisherDisplayName": "Open Southeners", 168 | "publisherId": "158876d3-17b8-41c8-9af0-204a740fc57d", 169 | "isPreReleaseVersion": false 170 | }, 171 | "packageManager": "yarn@4.1.0+sha256.81a00df816059803e6b5148acf03ce313cad36b7f6e5af6efa040a15981a6ffb" 172 | } 173 | -------------------------------------------------------------------------------- /package.nls.es-es.json: -------------------------------------------------------------------------------- 1 | { 2 | "ext.config.enable": "Activar/desactivar [Laravel Pint](https://laravel.com/docs/9.x/pint) como formateador. Recuerda activar para auto formatear `#editor.formatOnSave#`", 3 | "ext.config.enableDebugLogs": "Activar/desactivar debug logs para encontrar fallos.", 4 | "ext.config.preset": "Preset enviado al ejecutable. Auto usa el por defecto en Laravel Pint. [Read more](https://laravel.com/docs/9.x/pint#presets).", 5 | "ext.config.configPath": "**Ruta relativa al workspace** que apunta hacia el archivo de configuración JSON usado por Laravel Pint. Por defecto: `pint.json`.", 6 | "ext.config.executablePath": "**Ruta relativa al workspace** que apunta hacia el ejecutable usado como formateador. Por defecto: `vendor/bin/pint`.", 7 | "ext.config.fallbackToGlobalBin": "Activar/desactivar ejecutable global de Laravel Pint instalado usando `composer global` en caso de que no se encuentre ninguno en el projecto. Por defecto: `true`.", 8 | "ext.config.runInLaravelSail": "Ejecutar formateo desde Docker usando [Laravel Sail](https://laravel.com/docs/master/sail). Esto ignorará el ajuste `#laravel-pint.executablePath#`.", 9 | "ext.config.sailExecutablePath": "**Ruta relativa al workspace** hacia el ejecutable de Laravel Sail, únicamente usando si está activo `#laravel-pint.runInLaravelSail#`. Por defecto: `vendor/bin/sail`." 10 | } -------------------------------------------------------------------------------- /package.nls.json: -------------------------------------------------------------------------------- 1 | { 2 | "ext.config.enable": "Enable/disable [Laravel Pint](https://laravel.com/docs/9.x/pint) formatter. Remember enable for auto-formatting `#editor.formatOnSave#`.", 3 | "ext.config.enableDebugLogs": "Enable/disable debug logs for troubleshooting.", 4 | "ext.config.preset": "Preset passed to the executable. Auto will use the default preset of Laravel Pint. [Read more](https://laravel.com/docs/9.x/pint#presets).", 5 | "ext.config.configPath": "**Workspace-relative path** pointing to the config JSON file used for Laravel Pint. Default: `pint.json`.", 6 | "ext.config.executablePath": "**Workspace-relative path** to the executable binary. Default: `vendor/bin/pint`.", 7 | "ext.config.fallbackToGlobalBin": "Enable/disable fallback to global composer Pint binary in case local wasn't found. Default: `true`.", 8 | "ext.config.runInLaravelSail": "Run formatting through Docker using [Laravel Sail](https://laravel.com/docs/master/sail). This will ignore `#laravel-pint.executablePath#`.", 9 | "ext.config.sailExecutablePath": "Path to Laravel Sail executable, only used if is enabled `#laravel-pint.runInLaravelSail#`. Default: `vendor/bin/sail`.", 10 | "ext.config.dirtyOnly": "Enable/disable formatting only on **active workspace** dirty files. Only work with command `Format active workspace files using Laravel Pint`." 11 | } -------------------------------------------------------------------------------- /playground/index.php: -------------------------------------------------------------------------------- 1 | 'world', 5 | 'foo' => 'bar' 6 | ]; -------------------------------------------------------------------------------- /scripts/generate-rules-schema.mjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import { fileURLToPath } from "url"; 4 | import fetch from "node-fetch"; 5 | import { readFileSync, writeFileSync } from "fs"; 6 | import path from "path"; 7 | 8 | const response = await fetch("https://raw.githubusercontent.com/mlocati/php-cs-fixer-configurator/master/docs/data/3.56.2.json"); 9 | 10 | const body = await response.text(); 11 | 12 | let rulesProperties = {}; 13 | 14 | function relativePath(fromPath) { 15 | return path.resolve(path.dirname(fileURLToPath(import.meta.url)), fromPath); 16 | } 17 | 18 | function mapTypeToJsonSchema(type, defaultValueType) { 19 | if (type === 'bool') { 20 | return 'boolean'; 21 | } 22 | 23 | if (type === "array" && defaultValueType === "object") { 24 | return "object"; 25 | } 26 | 27 | return type; 28 | } 29 | 30 | function ruleIntoJsonSchemaProperty(rule) { 31 | const jsonSchemaProperty = { 32 | description: rule.summary 33 | }; 34 | 35 | if (!('configuration' in rule)) { 36 | return jsonSchemaProperty; 37 | } 38 | 39 | if (rule.configuration.length > 0) { 40 | jsonSchemaProperty.type = 'object'; 41 | 42 | jsonSchemaProperty.properties = {}; 43 | 44 | rule.configuration.forEach(configItem => { 45 | jsonSchemaProperty.properties[configItem.name] = {}; 46 | 47 | jsonSchemaProperty.properties[configItem.name].description = configItem.description; 48 | 49 | let defaultValueType = undefined; 50 | if ('defaultValue' in configItem) { 51 | jsonSchemaProperty.properties[configItem.name].default = configItem.defaultValue; 52 | 53 | if (configItem.defaultValue === null) { 54 | defaultValueType = 'null'; 55 | } else if (typeof configItem.defaultValue === 'object') { 56 | if (!Array.isArray(configItem.defaultValue)) { 57 | defaultValueType = 'object'; 58 | } else { 59 | defaultValueType = 'array'; 60 | } 61 | } else { 62 | defaultValueType = typeof configItem.defaultValue; 63 | } 64 | } 65 | 66 | if ('allowedTypes' in configItem) { 67 | jsonSchemaProperty.properties[configItem.name].type = 68 | configItem.allowedTypes.length > 1 69 | ? configItem.allowedTypes.map((type) => mapTypeToJsonSchema(type, defaultValueType)) 70 | : mapTypeToJsonSchema(configItem.allowedTypes[0], defaultValueType); 71 | } 72 | 73 | if ('allowedValues' in configItem) { 74 | jsonSchemaProperty.properties[configItem.name].oneOf = [ 75 | { 76 | enum: configItem.allowedValues 77 | } 78 | ]; 79 | } 80 | }); 81 | } 82 | 83 | if ('allowedTypes' in rule.configuration) { 84 | jsonSchemaProperty.type = rule.configuration.allowedTypes; 85 | } 86 | 87 | if ('allowedValues' in rule.configuration) { 88 | if (!jsonSchemaProperty?.type) { 89 | jsonSchemaProperty.type = 'array'; 90 | } 91 | 92 | jsonSchemaProperty.oneOf = rule.configuration.allowedValues; 93 | } 94 | 95 | return jsonSchemaProperty; 96 | } 97 | 98 | Object.entries(JSON.parse(body).fixers).forEach(rule => { 99 | rulesProperties[rule[0]] = ruleIntoJsonSchemaProperty(rule[1]); 100 | }); 101 | 102 | const schemaContentPath = relativePath('../pint-schema.json'); 103 | let schemaContent = readFileSync(schemaContentPath, 'utf-8'); 104 | 105 | schemaContent = JSON.parse(schemaContent.toString()); 106 | 107 | schemaContent.properties.rules.properties = rulesProperties; 108 | 109 | writeFileSync( 110 | schemaContentPath, 111 | JSON.stringify(schemaContent, null, 2), 112 | { encoding: 'utf-8' } 113 | ); -------------------------------------------------------------------------------- /src/CommandResolver.ts: -------------------------------------------------------------------------------- 1 | import commandExists = require("command-exists"); 2 | import path = require("path"); 3 | import { workspace, WorkspaceFolder } from "vscode"; 4 | import { CONFIG_FILE_NAME, DEFAULT_EXEC_PATH, DEFAULT_LARAVEL_SAIL_EXEC_PATH } from "./constants"; 5 | import { LoggingService } from "./LoggingService"; 6 | import { CONFIG_PATHS_FOUND_FOR_WORKSPACE, NO_CONFIG_FOUND_FOR_WORKSPACE, PINT_CANNOT_BE_EXECUTED, SAIL_CANNOT_BE_EXECUTED, UNTRUSTED_WORKSPACE_ERROR, UNTRUSTED_WORKSPACE_USING_GLOBAL_PINT } from "./message"; 7 | import PhpCommand from "./PhpCommand"; 8 | import { canExecuteFile, getWorkspaceConfig, resolvePathFromWorkspaces } from "./util"; 9 | 10 | export class CommandResolver { 11 | constructor(private loggingService: LoggingService) { } 12 | 13 | public async getGlobalPintCommand(args: Array): Promise { 14 | const globalPintPath = await commandExists('pint'); 15 | 16 | return new PhpCommand(globalPintPath, args); 17 | } 18 | 19 | public async getPintCommand( 20 | workspaceFolder: WorkspaceFolder, 21 | input?: string, 22 | isFormatWorkspace = false 23 | ): Promise { 24 | if (!workspace.isTrusted) { 25 | this.loggingService.logDebug(UNTRUSTED_WORKSPACE_USING_GLOBAL_PINT); 26 | 27 | // This doesn't respect fallbackToGlobal config 28 | return this.getGlobalPintCommand( 29 | await this.getPintConfigAsArgs(workspaceFolder, input, isFormatWorkspace) 30 | ); 31 | } 32 | 33 | const executableArr = await resolvePathFromWorkspaces( 34 | '**/' + getWorkspaceConfig('executablePath', path.posix.join(...DEFAULT_EXEC_PATH)), 35 | workspaceFolder 36 | ); 37 | 38 | const executable = executableArr[0]; 39 | 40 | const isExecutable = executable && canExecuteFile(executable); 41 | 42 | const fallbackToGlobal = getWorkspaceConfig('fallbackToGlobalBin') && commandExists.sync('pint'); 43 | 44 | if (!isExecutable && fallbackToGlobal) { 45 | return this.getGlobalPintCommand( 46 | await this.getPintConfigAsArgs(workspaceFolder, input, isFormatWorkspace) 47 | ); 48 | } 49 | 50 | if (!isExecutable && !fallbackToGlobal) { 51 | this.loggingService.logError(PINT_CANNOT_BE_EXECUTED); 52 | 53 | return; 54 | } 55 | 56 | const cmd = getWorkspaceConfig('executablePath', path.posix.join(...DEFAULT_EXEC_PATH)); 57 | 58 | const cwd = path.normalize(executable).replace(path.normalize(cmd), ''); 59 | 60 | return new PhpCommand( 61 | cmd, 62 | await this.getPintConfigAsArgs(workspaceFolder, input, isFormatWorkspace), 63 | cwd 64 | ); 65 | } 66 | 67 | public async getPintCommandWithinSail(workspaceFolder: WorkspaceFolder, input?: string): Promise { 68 | if (!workspace.isTrusted) { 69 | this.loggingService.logDebug(UNTRUSTED_WORKSPACE_ERROR); 70 | 71 | return; 72 | } 73 | 74 | const executableArr = await resolvePathFromWorkspaces( 75 | '**/' + getWorkspaceConfig('sailExecutablePath', path.posix.join(...DEFAULT_LARAVEL_SAIL_EXEC_PATH)), 76 | workspaceFolder 77 | ); 78 | 79 | if (executableArr.length === 0) { 80 | this.loggingService.logError(SAIL_CANNOT_BE_EXECUTED); 81 | 82 | return; 83 | } 84 | 85 | const executable = executableArr[0]; 86 | 87 | if (!canExecuteFile(executable)) { 88 | this.loggingService.logError(SAIL_CANNOT_BE_EXECUTED); 89 | 90 | return; 91 | } 92 | 93 | return new PhpCommand(executable, ['bin', 'pint', ...await this.getPintConfigAsArgs(workspaceFolder, input)]); 94 | } 95 | 96 | private async getPintConfigAsArgs( 97 | workspaceFolder: WorkspaceFolder, 98 | input?: string, 99 | isFormatWorkspace = false 100 | ) { 101 | const executableArgs: Record = {}; 102 | const configPath = getWorkspaceConfig('configPath', CONFIG_FILE_NAME); 103 | 104 | const matchedPaths = await resolvePathFromWorkspaces(configPath, workspaceFolder); 105 | 106 | if (matchedPaths.length !== 0) { 107 | this.loggingService.logDebug(CONFIG_PATHS_FOUND_FOR_WORKSPACE, { workspace: workspaceFolder.uri.fsPath, found: matchedPaths }); 108 | 109 | executableArgs['--config'] = matchedPaths[0]; 110 | } else { 111 | this.loggingService.logDebug(NO_CONFIG_FOUND_FOR_WORKSPACE, workspaceFolder.uri.fsPath); 112 | } 113 | 114 | const preset = getWorkspaceConfig('preset', 'auto'); 115 | 116 | if (preset && preset !== 'auto') { 117 | executableArgs['--preset'] = preset; 118 | } 119 | 120 | const executableArgsAsArray = Object.entries(executableArgs).filter(arg => !!arg[1]).flat(); 121 | 122 | executableArgsAsArray.push(input || workspaceFolder.uri.fsPath); 123 | 124 | if (isFormatWorkspace) { 125 | const dirtyOnly = getWorkspaceConfig("dirtyOnly", false); 126 | if (dirtyOnly) { 127 | executableArgsAsArray.push("--dirty"); 128 | } 129 | } 130 | 131 | return executableArgsAsArray; 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /src/LoggingService.ts: -------------------------------------------------------------------------------- 1 | import { window } from "vscode"; 2 | 3 | type LogLevel = "DEBUG" | "INFO" | "WARN" | "ERROR" | "NONE"; 4 | 5 | export class LoggingService { 6 | private outputChannel = window.createOutputChannel("Laravel Pint"); 7 | 8 | private logLevel: LogLevel = "INFO"; 9 | 10 | public setOutputLevel(logLevel: LogLevel) { 11 | this.logLevel = logLevel; 12 | } 13 | 14 | /** 15 | * Append messages to the output channel and format it with a title 16 | * 17 | * @param message The message to append to the output channel 18 | */ 19 | public logDebug(message: string, data?: unknown): void { 20 | if (this.logLevel !== "DEBUG") { 21 | return; 22 | } 23 | 24 | this.logMessage(message, "DEBUG"); 25 | 26 | if (data) { 27 | this.logObject(data); 28 | } 29 | } 30 | 31 | /** 32 | * Append messages to the output channel and format it with a title 33 | * 34 | * @param message The message to append to the output channel 35 | */ 36 | public logInfo(message: string, data?: unknown): void { 37 | if ( 38 | this.logLevel === "NONE" || 39 | this.logLevel === "WARN" || 40 | this.logLevel === "ERROR" 41 | ) { 42 | return; 43 | } 44 | this.logMessage(message, "INFO"); 45 | if (data) { 46 | this.logObject(data); 47 | } 48 | } 49 | 50 | /** 51 | * Append messages to the output channel and format it with a title 52 | * 53 | * @param message The message to append to the output channel 54 | */ 55 | public logWarning(message: string, data?: unknown): void { 56 | if (this.logLevel === "NONE" || this.logLevel === "ERROR") { 57 | return; 58 | } 59 | this.logMessage(message, "WARN"); 60 | if (data) { 61 | this.logObject(data); 62 | } 63 | } 64 | 65 | public logError(message: string, error?: unknown) { 66 | if (this.logLevel === "NONE") { 67 | return; 68 | } 69 | this.logMessage(message, "ERROR"); 70 | if (typeof error === "string") { 71 | // Errors as a string usually only happen with 72 | // plugins that don't return the expected error. 73 | this.outputChannel.appendLine(error); 74 | } else if (error instanceof Error) { 75 | if (error?.message) { 76 | this.logMessage(error.message, "ERROR"); 77 | } 78 | if (error?.stack) { 79 | this.outputChannel.appendLine(error.stack); 80 | } 81 | } else if (error) { 82 | this.logObject(error); 83 | } 84 | } 85 | 86 | public show() { 87 | this.outputChannel.show(); 88 | } 89 | 90 | private logObject(data: unknown): void { 91 | const message = JSON.stringify(data, null, 2); 92 | 93 | this.outputChannel.appendLine(message); 94 | } 95 | 96 | /** 97 | * Append messages to the output channel and format it with a title 98 | * 99 | * @param message The message to append to the output channel 100 | */ 101 | private logMessage(message: string, logLevel: LogLevel): void { 102 | const title = new Date().toLocaleTimeString(); 103 | this.outputChannel.appendLine(`["${logLevel}" - ${title}] ${message}`); 104 | } 105 | } -------------------------------------------------------------------------------- /src/PhpCommand.ts: -------------------------------------------------------------------------------- 1 | import { spawn } from "node:child_process"; 2 | import { platform } from "node:os"; 3 | import { workspace } from "vscode"; 4 | 5 | export default class PhpCommand { 6 | constructor(private cmd: string, private args: Array, private cwd?: string) { } 7 | 8 | run(cwd?: string) { 9 | if (platform() === "win32") { 10 | this.args = [this.cmd].concat(this.args); 11 | 12 | // TODO: Fail when no PHP command, check with command-exists package 13 | this.cmd = workspace.getConfiguration('php.validate').get('executablePath', 'php'); 14 | } 15 | 16 | const exec = spawn(this.cmd, this.args, { 17 | cwd: cwd || this.cwd, 18 | shell: platform() === "win32" ? true : undefined 19 | }); 20 | } 21 | 22 | toString() { 23 | let stringifiedArgs = this.args.filter(Boolean).join(' '); 24 | 25 | if (stringifiedArgs !== '') { 26 | stringifiedArgs = ` ${stringifiedArgs}`; 27 | } 28 | 29 | return `${this.cmd}${stringifiedArgs}`; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/PintEditProvider.ts: -------------------------------------------------------------------------------- 1 | import { 2 | CancellationToken, 3 | DocumentFormattingEditProvider, 4 | FormattingOptions, 5 | TextDocument, 6 | TextEdit, 7 | } from "vscode"; 8 | import { ExtensionFormattingOptions } from "./types"; 9 | 10 | export class PintEditProvider implements DocumentFormattingEditProvider 11 | { 12 | constructor( 13 | private provideEdits: ( 14 | document: TextDocument, 15 | options: ExtensionFormattingOptions 16 | ) => Promise 17 | ) {} 18 | 19 | public async provideDocumentFormattingEdits( 20 | document: TextDocument, 21 | // eslint-disable-next-line @typescript-eslint/no-unused-vars 22 | options: FormattingOptions, 23 | // eslint-disable-next-line @typescript-eslint/no-unused-vars 24 | token: CancellationToken 25 | ): Promise { 26 | return this.provideEdits(document, { 27 | force: false, 28 | }); 29 | } 30 | } -------------------------------------------------------------------------------- /src/PintEditService.ts: -------------------------------------------------------------------------------- 1 | import { readFile } from "fs-extra"; 2 | import path = require("node:path"); 3 | import fs = require("node:fs/promises"); 4 | import { Disposable, TextEditor, Uri, workspace, languages, RelativePattern, TextDocument, TextEdit, WorkspaceFolder, window, FileSystemWatcher } from "vscode"; 5 | import { CONFIG_FILE_NAME } from "./constants"; 6 | import { LoggingService } from "./LoggingService"; 7 | import { ENABLING_PINT_FOR_WORKSPACE, FORMAT_WORKSPACE_NON_ACTIVE_DOCUMENT, RUNNING_PINT_ON_PATH, SOMETHING_WENT_WRONG_FINDING_EXECUTABLE, UPDATING_EXTENSION_EXCLUDE_PATTERNS } from "./message"; 8 | import { CommandResolver } from "./CommandResolver"; 9 | import { PintEditProvider } from "./PintEditProvider"; 10 | import { FormatterStatus, StatusBar } from "./StatusBar"; 11 | import { getWorkspaceConfig, onConfigChange } from "./util"; 12 | const pkg = require('../package.json'); 13 | 14 | export default class PintEditService implements Disposable { 15 | private formatterHandler: undefined | Disposable; 16 | // TODO: Don't know if this can be done with Laravel Pint... 17 | private rangeFormatterHandler: undefined | Disposable; 18 | private registeredWorkspaces = new Set(); 19 | private pintConfigWatcher: undefined | FileSystemWatcher; 20 | private excludedPaths: Array = [ 21 | // Extracted from the preset of excludes of Laravel Pint 22 | '_ide_helper_actions.php', 23 | '_ide_helper_models.php', 24 | '_ide_helper.php', 25 | '.phpstorm.meta.php', 26 | '*.blade.php', 27 | 'storage', 28 | 'bootstrap/cache', 29 | 'node_modules', 30 | // Extracted from the ignoreVCS part of Symfony's Finder 31 | '.svn', 32 | '_svn', 33 | 'CVS', 34 | '_darcs', 35 | '.arch-params', 36 | '.monotone', 37 | '.bzr', 38 | '.git', 39 | '.hg' 40 | ]; 41 | 42 | constructor( 43 | private commandResolver: CommandResolver, 44 | private loggingService: LoggingService, 45 | private statusBar: StatusBar 46 | ) { } 47 | 48 | public registerDisposables(): Disposable[] { 49 | const configurationWatcher = onConfigChange(this.loggingService); 50 | 51 | const textEditorChange = window.onDidChangeActiveTextEditor( 52 | this.handleActiveTextEditorChanged 53 | ); 54 | 55 | this.handleActiveTextEditorChanged(window.activeTextEditor); 56 | 57 | return [configurationWatcher, textEditorChange]; 58 | } 59 | 60 | public dispose = () => { 61 | this.formatterHandler?.dispose(); 62 | this.rangeFormatterHandler?.dispose(); 63 | this.pintConfigWatcher?.dispose(); 64 | this.formatterHandler = undefined; 65 | this.rangeFormatterHandler = undefined; 66 | this.pintConfigWatcher = undefined; 67 | }; 68 | 69 | private async registerDocumentFormatEditorProviders(workspaceFolder: WorkspaceFolder) { 70 | this.dispose(); 71 | 72 | const editProvider = new PintEditProvider(this.provideEdits); 73 | 74 | this.formatterHandler = languages.registerDocumentFormattingEditProvider( 75 | { language: "php", pattern: new RelativePattern(workspaceFolder, '**/*.php') }, 76 | editProvider 77 | ); 78 | 79 | const pintConfigWorkspaceRelativePattern = new RelativePattern(workspaceFolder, getWorkspaceConfig('configPath', CONFIG_FILE_NAME)); 80 | this.pintConfigWatcher = workspace.createFileSystemWatcher(pintConfigWorkspaceRelativePattern); 81 | 82 | // We need to watch & run this function after watcher added 83 | let pintConfigChanged; 84 | 85 | this.pintConfigWatcher.onDidChange(pintConfigChanged = async (e: Uri) => { 86 | const pintJson = JSON.parse(await readFile(e.fsPath, 'utf8')); 87 | 88 | if ('exclude' in pintJson && typeof pintJson.exclude === "object") { 89 | this.excludedPaths = this.excludedPaths.concat(pintJson.exclude); 90 | 91 | this.loggingService.logDebug(UPDATING_EXTENSION_EXCLUDE_PATTERNS, this.excludedPaths); 92 | } 93 | }); 94 | 95 | const workspacePintConfigFilesFound = await workspace.findFiles(pintConfigWorkspaceRelativePattern); 96 | 97 | if (workspacePintConfigFilesFound.length > 0) { 98 | pintConfigChanged(workspacePintConfigFilesFound[0]); 99 | } 100 | } 101 | 102 | private handleActiveTextEditorChanged = async ( 103 | textEditor: TextEditor | undefined 104 | ) => { 105 | if (!textEditor) { 106 | this.statusBar.hide(); 107 | return; 108 | } 109 | const { document } = textEditor; 110 | 111 | const workspaceFolder = workspace.getWorkspaceFolder(document.uri); 112 | 113 | if (!workspaceFolder) { 114 | // Do nothing, this is only for registering formatters in workspace folder. 115 | return; 116 | } 117 | 118 | const isRegistered = this.registeredWorkspaces.has( 119 | workspaceFolder.uri.fsPath 120 | ); 121 | 122 | if (isRegistered) { 123 | return; 124 | } 125 | 126 | const pintCommand = getWorkspaceConfig('runInLaravelSail', false) 127 | ? await this.commandResolver.getPintCommandWithinSail(workspaceFolder) 128 | : await this.commandResolver.getPintCommand(workspaceFolder); 129 | 130 | // If there isn't an instance here, it is because the module 131 | // could not be loaded either locally or globally when specified 132 | if (!pintCommand) { 133 | this.statusBar.update(FormatterStatus.Error); 134 | return; 135 | } 136 | 137 | if (!isRegistered) { 138 | await this.registerDocumentFormatEditorProviders(workspaceFolder); 139 | 140 | this.registeredWorkspaces.add(workspaceFolder.uri.fsPath); 141 | 142 | this.loggingService.logDebug(ENABLING_PINT_FOR_WORKSPACE, { workspace: workspaceFolder.uri.fsPath }); 143 | } 144 | 145 | const matchedDocumentLanguage = languages.match({ language: "php" }, document); 146 | const documentExcluded = this.isDocumentExcluded(document); 147 | 148 | if (matchedDocumentLanguage > 0 && !documentExcluded) { 149 | this.statusBar.update(FormatterStatus.Ready); 150 | } else { 151 | documentExcluded ? this.statusBar.update(FormatterStatus.Disabled) : this.statusBar.hide(); 152 | } 153 | }; 154 | 155 | private isDocumentExcluded(documentOrUri: TextDocument | Uri) { 156 | const documentPath = 'uri' in documentOrUri ? documentOrUri.uri.fsPath : documentOrUri.fsPath; 157 | 158 | return this.excludedPaths.filter(excludedPath => 159 | documentPath.endsWith(excludedPath) || documentPath.split('/').slice(0, -1).join('/').includes(excludedPath) 160 | ).length > 0; 161 | } 162 | 163 | public async formatWorkspace() { 164 | const activeDocument = window.activeTextEditor?.document; 165 | 166 | if (!activeDocument) { 167 | this.loggingService.logError(FORMAT_WORKSPACE_NON_ACTIVE_DOCUMENT); 168 | 169 | return; 170 | } 171 | 172 | const workspaceFolder = workspace.getWorkspaceFolder(activeDocument.uri); 173 | 174 | if (!workspaceFolder) { 175 | this.loggingService.logError(FORMAT_WORKSPACE_NON_ACTIVE_DOCUMENT); 176 | 177 | return; 178 | } 179 | 180 | await this.formatFile(workspaceFolder.uri, true); 181 | } 182 | 183 | public async formatFile(file: Uri, isFormatWorkspace = false) { 184 | let filePath = await fs.realpath(file.fsPath); 185 | 186 | if (this.isDocumentExcluded(file)) { 187 | this.loggingService.logWarning(`The file "${filePath}" is excluded either by you or by Laravel Pint`); 188 | 189 | return false; 190 | } 191 | 192 | const workspaceFolder = workspace.getWorkspaceFolder(file); 193 | 194 | let command = workspaceFolder 195 | ? await this.commandResolver.getPintCommand(workspaceFolder, filePath, isFormatWorkspace) 196 | : await this.commandResolver.getGlobalPintCommand([filePath]); 197 | 198 | if (!command) { 199 | this.statusBar.update(FormatterStatus.Error); 200 | 201 | this.loggingService.logError(SOMETHING_WENT_WRONG_FINDING_EXECUTABLE + ' ' + pkg.bugs.url); 202 | 203 | return false; 204 | } 205 | 206 | command.run(); 207 | 208 | this.loggingService.logDebug(RUNNING_PINT_ON_PATH, { command: command.toString() }); 209 | 210 | this.statusBar.update(FormatterStatus.Success); 211 | 212 | return true; 213 | } 214 | 215 | private provideEdits = async (document: TextDocument): Promise => { 216 | const startTime = new Date().getTime(); 217 | 218 | const result = await this.formatFile(document.uri); 219 | 220 | if (!result) { 221 | return []; 222 | } 223 | 224 | const duration = new Date().getTime() - startTime; 225 | 226 | this.loggingService.logInfo(`Formatting completed in ${duration}ms.`); 227 | 228 | return []; 229 | }; 230 | } 231 | -------------------------------------------------------------------------------- /src/StatusBar.ts: -------------------------------------------------------------------------------- 1 | import { StatusBarAlignment, StatusBarItem, ThemeColor, window } from "vscode"; 2 | 3 | /* eslint-disable @typescript-eslint/naming-convention */ 4 | export enum FormatterStatus { 5 | Ready = "plug", 6 | Success = "check", 7 | Ignore = "x", 8 | Warn = "warning", 9 | Error = "alert", 10 | Disabled = "circle-slash", 11 | } 12 | 13 | // TODO: Not there yet... 14 | interface StatusBarResultMeta { 15 | fixes: number 16 | fixTypes: Array 17 | } 18 | 19 | export class StatusBar { 20 | private statusBarItem: StatusBarItem; 21 | 22 | constructor() { 23 | // Setup the statusBarItem 24 | this.statusBarItem = window.createStatusBarItem( 25 | "laravel-pint.status", 26 | StatusBarAlignment.Right, 27 | -1 28 | ); 29 | this.statusBarItem.name = "Laravel Pint"; 30 | this.statusBarItem.text = "Laravel Pint"; 31 | this.statusBarItem.command = "laravel-pint.openOutput"; 32 | this.update(FormatterStatus.Ready); 33 | this.statusBarItem.show(); 34 | } 35 | 36 | public update(result: FormatterStatus, meta?: StatusBarResultMeta): void { 37 | this.statusBarItem.text = `$(${result.toString()}) Laravel Pint`; 38 | 39 | if (result === FormatterStatus.Disabled) { 40 | this.statusBarItem.backgroundColor = new ThemeColor( 41 | "disabledForeground" 42 | ); 43 | 44 | this.statusBarItem.tooltip = "Laravel Pint is disabled on this file"; 45 | } 46 | 47 | if (result === FormatterStatus.Error) { 48 | this.statusBarItem.backgroundColor = new ThemeColor( 49 | "statusBarItem.errorBackground" 50 | ); 51 | 52 | this.statusBarItem.tooltip = "Laravel Pint exited with an error (click here for more info)"; 53 | } 54 | 55 | if (result === FormatterStatus.Warn) { 56 | this.statusBarItem.backgroundColor = new ThemeColor( 57 | "statusBarItem.warningBackground" 58 | ); 59 | 60 | this.statusBarItem.tooltip = "Laravel Pint exited with an error (click here for more info)"; 61 | } 62 | 63 | if (result === FormatterStatus.Ready) { 64 | this.statusBarItem.backgroundColor = new ThemeColor( 65 | "statusBarItem.background" 66 | ); 67 | 68 | this.statusBarItem.tooltip = "Laravel Pint is ready to run on this file"; 69 | } 70 | 71 | if (result === FormatterStatus.Success) { 72 | this.statusBarItem.backgroundColor = new ThemeColor( 73 | "statusBarItem.activeBackground" 74 | ); 75 | 76 | this.statusBarItem.tooltip = "Laravel Pint ran successfully fixing this file"; 77 | } 78 | 79 | this.statusBarItem.show(); 80 | } 81 | 82 | public hide() { 83 | this.statusBarItem.hide(); 84 | } 85 | } -------------------------------------------------------------------------------- /src/commands.ts: -------------------------------------------------------------------------------- 1 | import { window } from "vscode"; 2 | import PintEditService from "./PintEditService"; 3 | 4 | export function formatCommand(pintEditService: PintEditService) { 5 | const activeTextEditorDocumentUri = window.activeTextEditor?.document.uri; 6 | 7 | if (!activeTextEditorDocumentUri) { 8 | return; 9 | } 10 | 11 | pintEditService.formatFile(activeTextEditorDocumentUri); 12 | } 13 | -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- 1 | export const CONFIG_FILE_NAME = 'pint.json'; 2 | export const DEFAULT_EXEC_PATH = ['vendor', 'bin', 'pint']; 3 | export const DEFAULT_LARAVEL_SAIL_EXEC_PATH = ['vendor', 'bin', 'sail']; -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | import { commands, ExtensionContext, workspace, ConfigurationTarget } from 'vscode'; 2 | import { formatCommand } from './commands'; 3 | import { LoggingService } from './LoggingService'; 4 | import { CommandResolver } from './CommandResolver'; 5 | import PintEditService from './PintEditService'; 6 | import { StatusBar } from './StatusBar'; 7 | import { getWorkspaceConfig, onConfigChange } from './util'; 8 | 9 | export async function activate(context: ExtensionContext) { 10 | const loggingService = new LoggingService(); 11 | 12 | loggingService.logInfo(`Extension Name: ${context.extension.packageJSON.publisher}.${context.extension.packageJSON.name}.`); 13 | loggingService.logInfo(`Extension Version: ${context.extension.packageJSON.version}.`); 14 | 15 | if (!context.globalState.get('laravel-pint.extensionFirstInstall')) { 16 | workspace.getConfiguration('laravel-pint', { languageId: "php" }).update('enable', true, ConfigurationTarget.Global); 17 | workspace.getConfiguration('editor', { languageId: "php" }).update('formatOnSave', true, ConfigurationTarget.Global); 18 | 19 | context.globalState.update('laravel-pint.extensionFirstInstall', true); 20 | } 21 | 22 | if (getWorkspaceConfig('enableDebugLogs')) { 23 | loggingService.setOutputLevel("DEBUG"); 24 | } 25 | 26 | if (!getWorkspaceConfig('enable')) { 27 | context.subscriptions.push(onConfigChange(loggingService)); 28 | 29 | return; 30 | } 31 | 32 | const commandResolver = new CommandResolver(loggingService); 33 | const statusBar = new StatusBar(); 34 | 35 | const editService = new PintEditService( 36 | commandResolver, 37 | loggingService, 38 | statusBar 39 | ); 40 | 41 | // Extension commands 42 | const openOutputCommand = commands.registerCommand( 43 | "laravel-pint.openOutput", 44 | () => { 45 | loggingService.show(); 46 | } 47 | ); 48 | 49 | const formatFileCommand = commands.registerCommand('laravel-pint.format', () => formatCommand(editService)); 50 | const formatProjectCommand = commands.registerCommand('laravel-pint.formatProject', () => editService.formatWorkspace()); 51 | 52 | context.subscriptions.push( 53 | editService, 54 | openOutputCommand, 55 | formatFileCommand, 56 | formatProjectCommand, 57 | ...editService.registerDisposables() 58 | ); 59 | } 60 | 61 | export function deactivate() { } 62 | -------------------------------------------------------------------------------- /src/message.ts: -------------------------------------------------------------------------------- 1 | export const UNTRUSTED_WORKSPACE_USING_GLOBAL_PINT = 'This workspace is not trusted. Fallback to global Pint.'; 2 | export const UNTRUSTED_WORKSPACE_ERROR = 'This workspace must be trusted.'; 3 | export const SAIL_CANNOT_BE_EXECUTED = 'Executable not readable or lacks permissions for Laravel Sail.'; 4 | export const PINT_CANNOT_BE_EXECUTED = 'Executable not readable or lacks permissions for Laravel Pint.'; 5 | export const SOMETHING_WENT_WRONG_FORMATTING = 'Something went wrong! Active document does not support formatting. Please check before create an issue on'; 6 | export const SOMETHING_WENT_WRONG_FINDING_EXECUTABLE = 'Something went wrong! Executable does not exists or lacks permissions. Please check before create an issue on'; 7 | export const RESTART_TO_ENABLE = 'Restart or reload this VSCode project window to enable/disable Laravel Pint extension.'; 8 | export const FORMAT_WORKSPACE_NON_ACTIVE_DOCUMENT = 'There is active workspace. Please open a document and run this command leaving this document open.'; 9 | 10 | /** Debug messages */ 11 | export const UPDATING_EXTENSION_EXCLUDE_PATTERNS = 'Found changes to a pint.json config file, updating the extension excludes...'; 12 | export const CONFIG_PATHS_FOUND_FOR_WORKSPACE = 'Config files found on workspace'; 13 | export const NO_CONFIG_FOUND_FOR_WORKSPACE = 'No config matches for workspace'; 14 | export const ENABLING_PINT_FOR_WORKSPACE = 'Enabling Laravel Pint for workspace'; 15 | export const RUNNING_PINT_ON_PATH = 'Formatting file(s) using Pint'; -------------------------------------------------------------------------------- /src/test/runTest.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path'; 2 | 3 | import { runTests } from '@vscode/test-electron'; 4 | 5 | async function main() { 6 | try { 7 | // The folder containing the Extension Manifest package.json 8 | // Passed to `--extensionDevelopmentPath` 9 | const extensionDevelopmentPath = path.resolve(__dirname, '../../'); 10 | 11 | // The path to test runner 12 | // Passed to --extensionTestsPath 13 | const extensionTestsPath = path.resolve(__dirname, './suite/index'); 14 | 15 | // Download VS Code, unzip it and run the integration test 16 | await runTests({ 17 | extensionDevelopmentPath, 18 | extensionTestsPath, 19 | /** 20 | * A list of launch arguments passed to VS Code executable, in addition to `--extensionDevelopmentPath` 21 | * and `--extensionTestsPath` which are provided by `extensionDevelopmentPath` and `extensionTestsPath` 22 | * options. 23 | * 24 | * If the first argument is a path to a file/folder/workspace, the launched VS Code instance 25 | * will open it. 26 | * 27 | * See `code --help` for possible arguments. 28 | */ 29 | launchArgs: [path.resolve(__dirname, '../../playground'), '--disable-extensions'] 30 | }); 31 | 32 | 33 | } catch (err) { 34 | console.error('Failed to run tests'); 35 | process.exit(1); 36 | } 37 | } 38 | 39 | main(); 40 | -------------------------------------------------------------------------------- /src/test/suite/extension.test.ts: -------------------------------------------------------------------------------- 1 | import * as assert from 'assert'; 2 | 3 | // You can import and use all API from the 'vscode' module 4 | // as well as import your extension to test it 5 | import * as fs from 'fs'; 6 | import { beforeEach } from 'mocha'; 7 | import path = require('path'); 8 | import * as vscode from 'vscode'; 9 | import * as myExtension from '../../extension'; 10 | import { PresetOptions } from '../../types'; 11 | import { asAbsolutePathFromWorkspaceFolder, buildCommandFromConfig } from '../../util'; 12 | 13 | suite('Extension Test Suite', () => { 14 | vscode.window.showInformationMessage('Start all tests.'); 15 | 16 | // TODO: Not there yet... 17 | // myExtension.activate(); 18 | 19 | beforeEach(() => { 20 | const workspaceConfigFile = path.resolve(__dirname, '../../../plaground/.vscode/settings.json'); 21 | 22 | if (fs.existsSync(workspaceConfigFile)) { 23 | fs.rmSync(workspaceConfigFile); 24 | } 25 | }); 26 | 27 | test('Default config settings', () => { 28 | const config = vscode.workspace.getConfiguration('laravel-pint'); 29 | 30 | assert.strictEqual(config.get('configPath'), ''); 31 | assert.strictEqual(config.get('executablePath'), ''); 32 | assert.strictEqual(config.get('formatOnSave'), true); 33 | assert.strictEqual(config.get('preset'), 'auto'); 34 | assert.strictEqual(config.get('runInLaravelSail'), false); 35 | assert.strictEqual(config.get('sailExecutablePath'), ''); 36 | assert.strictEqual(config.get('dirtyOnly'), false); 37 | }); 38 | 39 | test('Build command with config args', async () => { 40 | const config = vscode.workspace.getConfiguration('laravel-pint'); 41 | 42 | await config.update('executablePath', 'pint'); 43 | await config.update('configPath', 'mypintconfig.json'); 44 | 45 | const cmd = await buildCommandFromConfig('index.php', config); 46 | 47 | console.log(cmd); 48 | 49 | assert.ok(cmd); 50 | assert.ok(cmd.filter(value => ['vendor/bin/pint', 'index.php', '--config', 'mypintconfig.json'].includes(value)).length > 1); 51 | }); 52 | }); -------------------------------------------------------------------------------- /src/test/suite/index.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path'; 2 | import * as Mocha from 'mocha'; 3 | import * as glob from 'glob'; 4 | 5 | export function run(): Promise { 6 | // Create the mocha test 7 | const mocha = new Mocha({ 8 | ui: 'tdd', 9 | color: true 10 | }); 11 | 12 | const testsRoot = path.resolve(__dirname, '..'); 13 | 14 | return new Promise((c, e) => { 15 | glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { 16 | if (err) { 17 | return e(err); 18 | } 19 | 20 | // Add files to the test suite 21 | files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); 22 | 23 | try { 24 | // Run the mocha test 25 | mocha.run(failures => { 26 | if (failures > 0) { 27 | e(new Error(`${failures} tests failed.`)); 28 | } else { 29 | c(); 30 | } 31 | }); 32 | } catch (err) { 33 | console.error(err); 34 | e(err); 35 | } 36 | }); 37 | }); 38 | } 39 | -------------------------------------------------------------------------------- /src/types.d.ts: -------------------------------------------------------------------------------- 1 | export type PresetOptions = 'auto' | 'laravel' | 'psr12' | 'symfony'; 2 | 3 | export interface ExtensionConfig { 4 | enable: boolean 5 | enableDebugLogs: boolean 6 | preset: PresetOptions 7 | configPath: string 8 | executablePath: string 9 | fallbackToGlobalBin: boolean 10 | runInLaravelSail: boolean 11 | sailExecutablePath: string 12 | dirtyOnly: boolean 13 | } 14 | 15 | export interface ExtensionFormattingOptions { 16 | force: boolean; 17 | } -------------------------------------------------------------------------------- /src/util.ts: -------------------------------------------------------------------------------- 1 | import { accessSync, constants } from "fs"; 2 | import path = require("path"); 3 | import { glob } from "glob"; 4 | import { commands, MessageItem, window, workspace, WorkspaceFolder } from "vscode"; 5 | import { LoggingService } from "./LoggingService"; 6 | import { RESTART_TO_ENABLE } from "./message"; 7 | import { ExtensionConfig } from "./types"; 8 | 9 | type GetFieldType = Path extends `${infer Left}.${string}` 10 | ? Left extends keyof Obj 11 | ? Obj[Left] 12 | : undefined 13 | : Path extends keyof Obj 14 | ? Obj[Path] 15 | : undefined; 16 | 17 | export function getWorkspaceConfig, R = GetFieldType>(key: keyof ExtensionConfig): T | undefined; 18 | export function getWorkspaceConfig, R = GetFieldType>(key: keyof ExtensionConfig, defaultValue: R): R; 19 | export function getWorkspaceConfig, R = GetFieldType>(key: K, defaultValue?: R) { 20 | const extensionConfig = workspace.getConfiguration('laravel-pint'); 21 | 22 | const configByKey = { 23 | ...extensionConfig.inspect(key), 24 | value: extensionConfig.get(key), 25 | hasBeenSet: extensionConfig.has(key) 26 | }; 27 | 28 | if (!configByKey.hasBeenSet || configByKey.defaultValue === configByKey.value) { 29 | return defaultValue || configByKey.defaultValue; 30 | } 31 | 32 | return configByKey.value; 33 | } 34 | 35 | export function canExecuteFile(file: string) { 36 | try { 37 | accessSync(file, constants.X_OK); 38 | 39 | return true; 40 | } catch (e) { 41 | return false; 42 | } 43 | } 44 | 45 | export function isRelativeTo(from: string, to: string) { 46 | const relative = path.relative(from, to); 47 | 48 | return relative && !relative.startsWith('..') && !path.isAbsolute(relative); 49 | } 50 | 51 | export async function resolvePathFromWorkspaces(pattern: string, relativeTo: WorkspaceFolder) { 52 | const matchedPaths = await glob(pattern, { 53 | cwd: relativeTo.uri.fsPath, 54 | absolute: true, 55 | }); 56 | 57 | return matchedPaths; 58 | } 59 | 60 | export function onConfigChange(loggingService: LoggingService) { 61 | return workspace.onDidChangeConfiguration(async (event) => { 62 | if (event.affectsConfiguration("laravel-pint.enable")) { 63 | loggingService.logWarning(RESTART_TO_ENABLE); 64 | 65 | const reload: MessageItem = { title: "Reload project" }; 66 | const cancel: MessageItem = { title: "Cancel", isCloseAffordance: true }; 67 | 68 | const prompt = await window.showInformationMessage(RESTART_TO_ENABLE, reload, cancel); 69 | 70 | if (prompt === reload) { 71 | commands.executeCommand('workbench.action.reloadWindow'); 72 | } 73 | } 74 | }); 75 | } 76 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "ES2020", 5 | "outDir": "out", 6 | "lib": [ 7 | "ES2020" 8 | ], 9 | "sourceMap": true, 10 | "rootDir": "src", 11 | "strict": true, 12 | "resolveJsonModule": true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # This file is generated by running "yarn install" inside your project. 2 | # Manual changes might be lost - proceed with caution! 3 | 4 | __metadata: 5 | version: 8 6 | cacheKey: 10 7 | 8 | "@esbuild/android-arm@npm:0.15.15": 9 | version: 0.15.15 10 | resolution: "@esbuild/android-arm@npm:0.15.15" 11 | conditions: os=android & cpu=arm 12 | languageName: node 13 | linkType: hard 14 | 15 | "@esbuild/linux-loong64@npm:0.15.15": 16 | version: 0.15.15 17 | resolution: "@esbuild/linux-loong64@npm:0.15.15" 18 | conditions: os=linux & cpu=loong64 19 | languageName: node 20 | linkType: hard 21 | 22 | "@eslint/eslintrc@npm:^1.3.3": 23 | version: 1.3.3 24 | resolution: "@eslint/eslintrc@npm:1.3.3" 25 | dependencies: 26 | ajv: "npm:^6.12.4" 27 | debug: "npm:^4.3.2" 28 | espree: "npm:^9.4.0" 29 | globals: "npm:^13.15.0" 30 | ignore: "npm:^5.2.0" 31 | import-fresh: "npm:^3.2.1" 32 | js-yaml: "npm:^4.1.0" 33 | minimatch: "npm:^3.1.2" 34 | strip-json-comments: "npm:^3.1.1" 35 | checksum: 10/835d3f39563fd420b06d9ec03cf491609ad00ad3b62b5606b27b367afd50888b772467b82525f79d5e4251c45f0a0321d545be38081aae69e377b611e98c88fe 36 | languageName: node 37 | linkType: hard 38 | 39 | "@gar/promisify@npm:^1.1.3": 40 | version: 1.1.3 41 | resolution: "@gar/promisify@npm:1.1.3" 42 | checksum: 10/052dd232140fa60e81588000cbe729a40146579b361f1070bce63e2a761388a22a16d00beeffc504bd3601cb8e055c57b21a185448b3ed550cf50716f4fd442e 43 | languageName: node 44 | linkType: hard 45 | 46 | "@humanwhocodes/config-array@npm:^0.11.6": 47 | version: 0.11.7 48 | resolution: "@humanwhocodes/config-array@npm:0.11.7" 49 | dependencies: 50 | "@humanwhocodes/object-schema": "npm:^1.2.1" 51 | debug: "npm:^4.1.1" 52 | minimatch: "npm:^3.0.5" 53 | checksum: 10/986330703b34e476473687dc7741603b11d2b7ac1ef8627c5bef060500492cba8d039dbe16a8fe0d4e917e246aaa20b6fc36fe836bc92b3a8425bd1d9deb72f4 54 | languageName: node 55 | linkType: hard 56 | 57 | "@humanwhocodes/module-importer@npm:^1.0.1": 58 | version: 1.0.1 59 | resolution: "@humanwhocodes/module-importer@npm:1.0.1" 60 | checksum: 10/e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3 61 | languageName: node 62 | linkType: hard 63 | 64 | "@humanwhocodes/object-schema@npm:^1.2.1": 65 | version: 1.2.1 66 | resolution: "@humanwhocodes/object-schema@npm:1.2.1" 67 | checksum: 10/b48a8f87fcd5fdc4ac60a31a8bf710d19cc64556050575e6a35a4a48a8543cf8cde1598a65640ff2cdfbfd165b38f9db4fa3782bea7848eb585cc3db824002e6 68 | languageName: node 69 | linkType: hard 70 | 71 | "@isaacs/cliui@npm:^8.0.2": 72 | version: 8.0.2 73 | resolution: "@isaacs/cliui@npm:8.0.2" 74 | dependencies: 75 | string-width: "npm:^5.1.2" 76 | string-width-cjs: "npm:string-width@^4.2.0" 77 | strip-ansi: "npm:^7.0.1" 78 | strip-ansi-cjs: "npm:strip-ansi@^6.0.1" 79 | wrap-ansi: "npm:^8.1.0" 80 | wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" 81 | checksum: 10/e9ed5fd27c3aec1095e3a16e0c0cf148d1fee55a38665c35f7b3f86a9b5d00d042ddaabc98e8a1cb7463b9378c15f22a94eb35e99469c201453eb8375191f243 82 | languageName: node 83 | linkType: hard 84 | 85 | "@nodelib/fs.scandir@npm:2.1.5": 86 | version: 2.1.5 87 | resolution: "@nodelib/fs.scandir@npm:2.1.5" 88 | dependencies: 89 | "@nodelib/fs.stat": "npm:2.0.5" 90 | run-parallel: "npm:^1.1.9" 91 | checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b 92 | languageName: node 93 | linkType: hard 94 | 95 | "@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": 96 | version: 2.0.5 97 | resolution: "@nodelib/fs.stat@npm:2.0.5" 98 | checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 99 | languageName: node 100 | linkType: hard 101 | 102 | "@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": 103 | version: 1.2.8 104 | resolution: "@nodelib/fs.walk@npm:1.2.8" 105 | dependencies: 106 | "@nodelib/fs.scandir": "npm:2.1.5" 107 | fastq: "npm:^1.6.0" 108 | checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 109 | languageName: node 110 | linkType: hard 111 | 112 | "@npmcli/fs@npm:^2.1.0": 113 | version: 2.1.1 114 | resolution: "@npmcli/fs@npm:2.1.1" 115 | dependencies: 116 | "@gar/promisify": "npm:^1.1.3" 117 | semver: "npm:^7.3.5" 118 | checksum: 10/ffa5114d9cbf76c9757ffc97f04fab41ad50ea8cb5bead37e76d6082b7926f4c56fb57e62b200a8012b8cec74d27238835e4738c637ac20ec6f1e8d3f3745479 119 | languageName: node 120 | linkType: hard 121 | 122 | "@npmcli/move-file@npm:^2.0.0": 123 | version: 2.0.0 124 | resolution: "@npmcli/move-file@npm:2.0.0" 125 | dependencies: 126 | mkdirp: "npm:^1.0.4" 127 | rimraf: "npm:^3.0.2" 128 | checksum: 10/1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 129 | languageName: node 130 | linkType: hard 131 | 132 | "@pkgjs/parseargs@npm:^0.11.0": 133 | version: 0.11.0 134 | resolution: "@pkgjs/parseargs@npm:0.11.0" 135 | checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff 136 | languageName: node 137 | linkType: hard 138 | 139 | "@tootallnate/once@npm:1": 140 | version: 1.1.2 141 | resolution: "@tootallnate/once@npm:1.1.2" 142 | checksum: 10/e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 143 | languageName: node 144 | linkType: hard 145 | 146 | "@tootallnate/once@npm:2": 147 | version: 2.0.0 148 | resolution: "@tootallnate/once@npm:2.0.0" 149 | checksum: 10/ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 150 | languageName: node 151 | linkType: hard 152 | 153 | "@types/command-exists@npm:^1.2.0": 154 | version: 1.2.0 155 | resolution: "@types/command-exists@npm:1.2.0" 156 | checksum: 10/23b3fc57828325d1a8cf99473905f1613c37ec4d076e923b97aec3590c0c43c5251745830bbb2e6fca803e817721550149668ef30410a16b8d760c91c18fd847 157 | languageName: node 158 | linkType: hard 159 | 160 | "@types/fs-extra@npm:^9.0.13": 161 | version: 9.0.13 162 | resolution: "@types/fs-extra@npm:9.0.13" 163 | dependencies: 164 | "@types/node": "npm:*" 165 | checksum: 10/ac545e377248039c596ef27d9f277b813507ebdd95d05f32fe7e9c67eb1ed567dafb4ba59f5fdcb6601dd7fd396ff9ba24f8c122e89cef096cdc17987c50a7fa 166 | languageName: node 167 | linkType: hard 168 | 169 | "@types/glob@npm:^8.0.0": 170 | version: 8.0.0 171 | resolution: "@types/glob@npm:8.0.0" 172 | dependencies: 173 | "@types/minimatch": "npm:*" 174 | "@types/node": "npm:*" 175 | checksum: 10/1817b05f5a8aed851d102a65b5e926d5c777bef927ea62b36d635860eef5364f2046bb5a692d135b6f2b28f34e4a9d44ade9396122c0845bcc7636d35f624747 176 | languageName: node 177 | linkType: hard 178 | 179 | "@types/json-schema@npm:^7.0.9": 180 | version: 7.0.11 181 | resolution: "@types/json-schema@npm:7.0.11" 182 | checksum: 10/e50864a93f4dcb9de64c0c605d836f5416341c824d7a8cde1aa15a5fc68bed44b33cdcb2e04e5098339e9121848378f2d0cc5b124dec41c89203c6f67d6f344a 183 | languageName: node 184 | linkType: hard 185 | 186 | "@types/minimatch@npm:*": 187 | version: 3.0.5 188 | resolution: "@types/minimatch@npm:3.0.5" 189 | checksum: 10/c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 190 | languageName: node 191 | linkType: hard 192 | 193 | "@types/mocha@npm:^9.1.1": 194 | version: 9.1.1 195 | resolution: "@types/mocha@npm:9.1.1" 196 | checksum: 10/cf8283e253f62b613d4cbac0d37fe4b88bc0aca72f3da4177cadeb86c989167613e2a23186ca1eba6bf17ce1e47b673875c4bd5a6fd0d3729a71d53f95e517f3 197 | languageName: node 198 | linkType: hard 199 | 200 | "@types/node@npm:*": 201 | version: 18.0.0 202 | resolution: "@types/node@npm:18.0.0" 203 | checksum: 10/211ea0884e5f9f618927f5873908f6ef12c711b5473f22e5567c39ada4ba7ce3b042b22c1f74d6f886c1ff3dc7b40751761278bddb00b92ff2629f7498626ecf 204 | languageName: node 205 | linkType: hard 206 | 207 | "@types/node@npm:18.x": 208 | version: 18.19.3 209 | resolution: "@types/node@npm:18.19.3" 210 | dependencies: 211 | undici-types: "npm:~5.26.4" 212 | checksum: 10/b95d0c0be342275e27d882bb6ca73c0b757d1672a121cae1fc3249eda4f86a8abeb5745e5c5c1150914bcfda323a3fc51526cd34e2097f8355bf7cbf12fa6bcb 213 | languageName: node 214 | linkType: hard 215 | 216 | "@types/vscode@npm:^1.82.0": 217 | version: 1.85.0 218 | resolution: "@types/vscode@npm:1.85.0" 219 | checksum: 10/100b4dc63629028212ad85d305db57f963ac2eb295c2a96044039f21bb4e68bb0374a9f35780d47c79de7e414b44c06a0d4dc8f3b3218814c4380cef5735818d 220 | languageName: node 221 | linkType: hard 222 | 223 | "@typescript-eslint/eslint-plugin@npm:^5.12.1": 224 | version: 5.29.0 225 | resolution: "@typescript-eslint/eslint-plugin@npm:5.29.0" 226 | dependencies: 227 | "@typescript-eslint/scope-manager": "npm:5.29.0" 228 | "@typescript-eslint/type-utils": "npm:5.29.0" 229 | "@typescript-eslint/utils": "npm:5.29.0" 230 | debug: "npm:^4.3.4" 231 | functional-red-black-tree: "npm:^1.0.1" 232 | ignore: "npm:^5.2.0" 233 | regexpp: "npm:^3.2.0" 234 | semver: "npm:^7.3.7" 235 | tsutils: "npm:^3.21.0" 236 | peerDependencies: 237 | "@typescript-eslint/parser": ^5.0.0 238 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 239 | peerDependenciesMeta: 240 | typescript: 241 | optional: true 242 | checksum: 10/fbe35da1a48897028c9316e35d314b5e7e482f7a7e1b968f8b75ac9ffb71d99910c2f37f6134fceff58a86060a99772026c20bc2ba4b0ea2a18a8948dc5de1ba 243 | languageName: node 244 | linkType: hard 245 | 246 | "@typescript-eslint/parser@npm:^5.12.1": 247 | version: 5.29.0 248 | resolution: "@typescript-eslint/parser@npm:5.29.0" 249 | dependencies: 250 | "@typescript-eslint/scope-manager": "npm:5.29.0" 251 | "@typescript-eslint/types": "npm:5.29.0" 252 | "@typescript-eslint/typescript-estree": "npm:5.29.0" 253 | debug: "npm:^4.3.4" 254 | peerDependencies: 255 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 256 | peerDependenciesMeta: 257 | typescript: 258 | optional: true 259 | checksum: 10/da8ab86ac279201ba703734aeabcc3e97eea13dc2af51d86516acc65aff2a7ee2c7a144d2fcdc4147c4fea8374c6c2e520748f711ad4864bc6e3a88c0c01ef6e 260 | languageName: node 261 | linkType: hard 262 | 263 | "@typescript-eslint/scope-manager@npm:5.29.0": 264 | version: 5.29.0 265 | resolution: "@typescript-eslint/scope-manager@npm:5.29.0" 266 | dependencies: 267 | "@typescript-eslint/types": "npm:5.29.0" 268 | "@typescript-eslint/visitor-keys": "npm:5.29.0" 269 | checksum: 10/b325f97cb26c1700bbca312047ace2967eb8e5f65924605020e7633a511982b68449a0b1fc506f4a4fd9d30f3e0de2eb84279f5b0688036f231ea527ba472a1e 270 | languageName: node 271 | linkType: hard 272 | 273 | "@typescript-eslint/type-utils@npm:5.29.0": 274 | version: 5.29.0 275 | resolution: "@typescript-eslint/type-utils@npm:5.29.0" 276 | dependencies: 277 | "@typescript-eslint/utils": "npm:5.29.0" 278 | debug: "npm:^4.3.4" 279 | tsutils: "npm:^3.21.0" 280 | peerDependencies: 281 | eslint: "*" 282 | peerDependenciesMeta: 283 | typescript: 284 | optional: true 285 | checksum: 10/ff1bfdead1900bcd0f236eab28e2e3ffd45397074aaec87f77f296bd563c78d87c84f1f6fd16c0288eda4aa1ae085c945afac22a08f75bdc9d29b4771393f178 286 | languageName: node 287 | linkType: hard 288 | 289 | "@typescript-eslint/types@npm:5.29.0": 290 | version: 5.29.0 291 | resolution: "@typescript-eslint/types@npm:5.29.0" 292 | checksum: 10/71133f47dbbeccebfbd417589f1f83312a2b40d814b62a7b8ee17db78bb4e9ce260e22486ebbd6a59db563f9289fc9ad8f07c635ef9caecad486c768a4c21641 293 | languageName: node 294 | linkType: hard 295 | 296 | "@typescript-eslint/typescript-estree@npm:5.29.0": 297 | version: 5.29.0 298 | resolution: "@typescript-eslint/typescript-estree@npm:5.29.0" 299 | dependencies: 300 | "@typescript-eslint/types": "npm:5.29.0" 301 | "@typescript-eslint/visitor-keys": "npm:5.29.0" 302 | debug: "npm:^4.3.4" 303 | globby: "npm:^11.1.0" 304 | is-glob: "npm:^4.0.3" 305 | semver: "npm:^7.3.7" 306 | tsutils: "npm:^3.21.0" 307 | peerDependenciesMeta: 308 | typescript: 309 | optional: true 310 | checksum: 10/29e7633660947816e784c2de36a647e75ebb229614579714dc09530b0cc8341af9e5230216090f626ec74a74485faa5f1764455fc6bf1b279d12b206161059c1 311 | languageName: node 312 | linkType: hard 313 | 314 | "@typescript-eslint/utils@npm:5.29.0": 315 | version: 5.29.0 316 | resolution: "@typescript-eslint/utils@npm:5.29.0" 317 | dependencies: 318 | "@types/json-schema": "npm:^7.0.9" 319 | "@typescript-eslint/scope-manager": "npm:5.29.0" 320 | "@typescript-eslint/types": "npm:5.29.0" 321 | "@typescript-eslint/typescript-estree": "npm:5.29.0" 322 | eslint-scope: "npm:^5.1.1" 323 | eslint-utils: "npm:^3.0.0" 324 | peerDependencies: 325 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 326 | checksum: 10/f7e6a7e98760879e6a3a32a53509789c073806979218e213e3e78f3e2bd88ac84981980856c64112a3e8df5da8afa837afe4ddf3dafab261b3de464f92207314 327 | languageName: node 328 | linkType: hard 329 | 330 | "@typescript-eslint/visitor-keys@npm:5.29.0": 331 | version: 5.29.0 332 | resolution: "@typescript-eslint/visitor-keys@npm:5.29.0" 333 | dependencies: 334 | "@typescript-eslint/types": "npm:5.29.0" 335 | eslint-visitor-keys: "npm:^3.3.0" 336 | checksum: 10/3c18cf767e29522a56467409753b506366001d63a86ea568d7874111cb8393cadb993e35accda012de0ea6f8f5962ba714268071363d1918c77d2510424a4723 337 | languageName: node 338 | linkType: hard 339 | 340 | "@ungap/promise-all-settled@npm:1.1.2": 341 | version: 1.1.2 342 | resolution: "@ungap/promise-all-settled@npm:1.1.2" 343 | checksum: 10/ee8fe811becd830f5e276ec63469ec66c22503eb140064580e712c9fccadfd54157c462188640ba6765d5c21f829e7120eb37afb5ead512684b9a1ab86d2db66 344 | languageName: node 345 | linkType: hard 346 | 347 | "@vscode/test-electron@npm:^2.1.2": 348 | version: 2.1.4 349 | resolution: "@vscode/test-electron@npm:2.1.4" 350 | dependencies: 351 | http-proxy-agent: "npm:^4.0.1" 352 | https-proxy-agent: "npm:^5.0.0" 353 | rimraf: "npm:^3.0.2" 354 | unzipper: "npm:^0.10.11" 355 | checksum: 10/600fcecb56f24958bb684a6a87bf463c57333190606e724f600269c060d8d0305858fbb613df44f6d280af1d049ccbf86e64d2234486cad74a06a6cc239b6a0e 356 | languageName: node 357 | linkType: hard 358 | 359 | "@vscode/vsce@npm:^2.19.0": 360 | version: 2.19.0 361 | resolution: "@vscode/vsce@npm:2.19.0" 362 | dependencies: 363 | azure-devops-node-api: "npm:^11.0.1" 364 | chalk: "npm:^2.4.2" 365 | cheerio: "npm:^1.0.0-rc.9" 366 | commander: "npm:^6.1.0" 367 | glob: "npm:^7.0.6" 368 | hosted-git-info: "npm:^4.0.2" 369 | jsonc-parser: "npm:^3.2.0" 370 | keytar: "npm:^7.7.0" 371 | leven: "npm:^3.1.0" 372 | markdown-it: "npm:^12.3.2" 373 | mime: "npm:^1.3.4" 374 | minimatch: "npm:^3.0.3" 375 | parse-semver: "npm:^1.1.1" 376 | read: "npm:^1.0.7" 377 | semver: "npm:^5.1.0" 378 | tmp: "npm:^0.2.1" 379 | typed-rest-client: "npm:^1.8.4" 380 | url-join: "npm:^4.0.1" 381 | xml2js: "npm:^0.5.0" 382 | yauzl: "npm:^2.3.1" 383 | yazl: "npm:^2.2.2" 384 | dependenciesMeta: 385 | keytar: 386 | optional: true 387 | bin: 388 | vsce: vsce 389 | checksum: 10/24cb1fbb666e5adbec99654d35e6e5133432746b38f4b2916b5f713630f34fc690c807af4770c2bfa1c5abc117b3c1015dc7fcae2b095bf05be1f3216b40da16 390 | languageName: node 391 | linkType: hard 392 | 393 | "abbrev@npm:1": 394 | version: 1.1.1 395 | resolution: "abbrev@npm:1.1.1" 396 | checksum: 10/2d882941183c66aa665118bafdab82b7a177e9add5eb2776c33e960a4f3c89cff88a1b38aba13a456de01d0dd9d66a8bea7c903268b21ea91dd1097e1e2e8243 397 | languageName: node 398 | linkType: hard 399 | 400 | "acorn-jsx@npm:^5.3.2": 401 | version: 5.3.2 402 | resolution: "acorn-jsx@npm:5.3.2" 403 | peerDependencies: 404 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 405 | checksum: 10/d4371eaef7995530b5b5ca4183ff6f062ca17901a6d3f673c9ac011b01ede37e7a1f7f61f8f5cfe709e88054757bb8f3277dc4061087cdf4f2a1f90ccbcdb977 406 | languageName: node 407 | linkType: hard 408 | 409 | "acorn@npm:^8.8.0": 410 | version: 8.8.1 411 | resolution: "acorn@npm:8.8.1" 412 | bin: 413 | acorn: bin/acorn 414 | checksum: 10/c77a64b3b695f9e5f0164794462ce7c1909acc1f7d39dcb3f9fce99e82163190e73dab689076ff9eea200505985cbd95f114c4ce1466055baf86a368d5e28bde 415 | languageName: node 416 | linkType: hard 417 | 418 | "agent-base@npm:6, agent-base@npm:^6.0.2": 419 | version: 6.0.2 420 | resolution: "agent-base@npm:6.0.2" 421 | dependencies: 422 | debug: "npm:4" 423 | checksum: 10/21fb903e0917e5cb16591b4d0ef6a028a54b83ac30cd1fca58dece3d4e0990512a8723f9f83130d88a41e2af8b1f7be1386fda3ea2d181bb1a62155e75e95e23 424 | languageName: node 425 | linkType: hard 426 | 427 | "agentkeepalive@npm:^4.2.1": 428 | version: 4.2.1 429 | resolution: "agentkeepalive@npm:4.2.1" 430 | dependencies: 431 | debug: "npm:^4.1.0" 432 | depd: "npm:^1.1.2" 433 | humanize-ms: "npm:^1.2.1" 434 | checksum: 10/63961cba1afa26d708da94159f3b9428d46fdc137b783fbc399b848e750c5e28c97d96839efa8cb3c2d11ecd12dd411298c00d164600212f660e8c55369c9e55 435 | languageName: node 436 | linkType: hard 437 | 438 | "aggregate-error@npm:^3.0.0": 439 | version: 3.1.0 440 | resolution: "aggregate-error@npm:3.1.0" 441 | dependencies: 442 | clean-stack: "npm:^2.0.0" 443 | indent-string: "npm:^4.0.0" 444 | checksum: 10/1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 445 | languageName: node 446 | linkType: hard 447 | 448 | "ajv@npm:^6.10.0, ajv@npm:^6.12.4": 449 | version: 6.12.6 450 | resolution: "ajv@npm:6.12.6" 451 | dependencies: 452 | fast-deep-equal: "npm:^3.1.1" 453 | fast-json-stable-stringify: "npm:^2.0.0" 454 | json-schema-traverse: "npm:^0.4.1" 455 | uri-js: "npm:^4.2.2" 456 | checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c 457 | languageName: node 458 | linkType: hard 459 | 460 | "ansi-colors@npm:4.1.1": 461 | version: 4.1.1 462 | resolution: "ansi-colors@npm:4.1.1" 463 | checksum: 10/e862fddd0a9ca88f1e7c9312ea70674cec3af360c994762309f6323730525e92c77d2715ee5f08aa8f438b7ca18efe378af647f501fc92b15b8e4b3b52d09db4 464 | languageName: node 465 | linkType: hard 466 | 467 | "ansi-regex@npm:^5.0.1": 468 | version: 5.0.1 469 | resolution: "ansi-regex@npm:5.0.1" 470 | checksum: 10/2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b 471 | languageName: node 472 | linkType: hard 473 | 474 | "ansi-regex@npm:^6.0.1": 475 | version: 6.0.1 476 | resolution: "ansi-regex@npm:6.0.1" 477 | checksum: 10/1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 478 | languageName: node 479 | linkType: hard 480 | 481 | "ansi-styles@npm:^3.2.1": 482 | version: 3.2.1 483 | resolution: "ansi-styles@npm:3.2.1" 484 | dependencies: 485 | color-convert: "npm:^1.9.0" 486 | checksum: 10/d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 487 | languageName: node 488 | linkType: hard 489 | 490 | "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": 491 | version: 4.3.0 492 | resolution: "ansi-styles@npm:4.3.0" 493 | dependencies: 494 | color-convert: "npm:^2.0.1" 495 | checksum: 10/b4494dfbfc7e4591b4711a396bd27e540f8153914123dccb4cdbbcb514015ada63a3809f362b9d8d4f6b17a706f1d7bea3c6f974b15fa5ae76b5b502070889ff 496 | languageName: node 497 | linkType: hard 498 | 499 | "ansi-styles@npm:^6.1.0": 500 | version: 6.2.1 501 | resolution: "ansi-styles@npm:6.2.1" 502 | checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32 503 | languageName: node 504 | linkType: hard 505 | 506 | "anymatch@npm:~3.1.2": 507 | version: 3.1.2 508 | resolution: "anymatch@npm:3.1.2" 509 | dependencies: 510 | normalize-path: "npm:^3.0.0" 511 | picomatch: "npm:^2.0.4" 512 | checksum: 10/985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 513 | languageName: node 514 | linkType: hard 515 | 516 | "aproba@npm:^1.0.3 || ^2.0.0": 517 | version: 2.0.0 518 | resolution: "aproba@npm:2.0.0" 519 | checksum: 10/c2b9a631298e8d6f3797547e866db642f68493808f5b37cd61da778d5f6ada890d16f668285f7d60bd4fc3b03889bd590ffe62cf81b700e9bb353431238a0a7b 520 | languageName: node 521 | linkType: hard 522 | 523 | "are-we-there-yet@npm:^3.0.0": 524 | version: 3.0.1 525 | resolution: "are-we-there-yet@npm:3.0.1" 526 | dependencies: 527 | delegates: "npm:^1.0.0" 528 | readable-stream: "npm:^3.6.0" 529 | checksum: 10/390731720e1bf9ed5d0efc635ea7df8cbc4c90308b0645a932f06e8495a0bf1ecc7987d3b97e805f62a17d6c4b634074b25200aa4d149be2a7b17250b9744bc4 530 | languageName: node 531 | linkType: hard 532 | 533 | "argparse@npm:^2.0.1": 534 | version: 2.0.1 535 | resolution: "argparse@npm:2.0.1" 536 | checksum: 10/18640244e641a417ec75a9bd38b0b2b6b95af5199aa241b131d4b2fb206f334d7ecc600bd194861610a5579084978bfcbb02baa399dbe442d56d0ae5e60dbaef 537 | languageName: node 538 | linkType: hard 539 | 540 | "array-union@npm:^2.1.0": 541 | version: 2.1.0 542 | resolution: "array-union@npm:2.1.0" 543 | checksum: 10/5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d 544 | languageName: node 545 | linkType: hard 546 | 547 | "azure-devops-node-api@npm:^11.0.1": 548 | version: 11.1.1 549 | resolution: "azure-devops-node-api@npm:11.1.1" 550 | dependencies: 551 | tunnel: "npm:0.0.6" 552 | typed-rest-client: "npm:^1.8.4" 553 | checksum: 10/5103595634c82869a01918cb67cbd599f0fe2fa48c2323a505831066b758b090770b71d20eaab08215cb11e9e057bd98e878c7e41572b5edcfcf9fc7d74a046b 554 | languageName: node 555 | linkType: hard 556 | 557 | "balanced-match@npm:^1.0.0": 558 | version: 1.0.2 559 | resolution: "balanced-match@npm:1.0.2" 560 | checksum: 10/9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 561 | languageName: node 562 | linkType: hard 563 | 564 | "base64-js@npm:^1.3.1": 565 | version: 1.5.1 566 | resolution: "base64-js@npm:1.5.1" 567 | checksum: 10/669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 568 | languageName: node 569 | linkType: hard 570 | 571 | "big-integer@npm:^1.6.17": 572 | version: 1.6.51 573 | resolution: "big-integer@npm:1.6.51" 574 | checksum: 10/c7a12640901906d6f6b6bdb42a4eaba9578397b6d9a0dd090cf001ec813ff2bfcd441e364068ea0416db6175d2615f8ed19cff7d1a795115bf7c92d44993f991 575 | languageName: node 576 | linkType: hard 577 | 578 | "binary-extensions@npm:^2.0.0": 579 | version: 2.2.0 580 | resolution: "binary-extensions@npm:2.2.0" 581 | checksum: 10/ccd267956c58d2315f5d3ea6757cf09863c5fc703e50fbeb13a7dc849b812ef76e3cf9ca8f35a0c48498776a7478d7b4a0418e1e2b8cb9cb9731f2922aaad7f8 582 | languageName: node 583 | linkType: hard 584 | 585 | "binary@npm:~0.3.0": 586 | version: 0.3.0 587 | resolution: "binary@npm:0.3.0" 588 | dependencies: 589 | buffers: "npm:~0.1.1" 590 | chainsaw: "npm:~0.1.0" 591 | checksum: 10/127591ebb7bfca242ec11be9ef874bcde17c520f249d764810045971b6617b659e8af4452f8a1586db7fd47e1b481a75d22c8f207fc1466c0f099b9435e51679 592 | languageName: node 593 | linkType: hard 594 | 595 | "bl@npm:^4.0.3": 596 | version: 4.1.0 597 | resolution: "bl@npm:4.1.0" 598 | dependencies: 599 | buffer: "npm:^5.5.0" 600 | inherits: "npm:^2.0.4" 601 | readable-stream: "npm:^3.4.0" 602 | checksum: 10/b7904e66ed0bdfc813c06ea6c3e35eafecb104369dbf5356d0f416af90c1546de3b74e5b63506f0629acf5e16a6f87c3798f16233dcff086e9129383aa02ab55 603 | languageName: node 604 | linkType: hard 605 | 606 | "bluebird@npm:~3.4.1": 607 | version: 3.4.7 608 | resolution: "bluebird@npm:3.4.7" 609 | checksum: 10/340e4d11d4b6a26d90371180effb4e500197c2943e5426472d6b6bffca0032a534226ad10255fc0e39c025bea197341c6b2a4258f8c0f18217c7b3a254c76c14 610 | languageName: node 611 | linkType: hard 612 | 613 | "boolbase@npm:^1.0.0": 614 | version: 1.0.0 615 | resolution: "boolbase@npm:1.0.0" 616 | checksum: 10/3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 617 | languageName: node 618 | linkType: hard 619 | 620 | "brace-expansion@npm:^1.1.7": 621 | version: 1.1.11 622 | resolution: "brace-expansion@npm:1.1.11" 623 | dependencies: 624 | balanced-match: "npm:^1.0.0" 625 | concat-map: "npm:0.0.1" 626 | checksum: 10/faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 627 | languageName: node 628 | linkType: hard 629 | 630 | "brace-expansion@npm:^2.0.1": 631 | version: 2.0.1 632 | resolution: "brace-expansion@npm:2.0.1" 633 | dependencies: 634 | balanced-match: "npm:^1.0.0" 635 | checksum: 10/a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 636 | languageName: node 637 | linkType: hard 638 | 639 | "braces@npm:^3.0.2, braces@npm:~3.0.2": 640 | version: 3.0.2 641 | resolution: "braces@npm:3.0.2" 642 | dependencies: 643 | fill-range: "npm:^7.0.1" 644 | checksum: 10/966b1fb48d193b9d155f810e5efd1790962f2c4e0829f8440b8ad236ba009222c501f70185ef732fef17a4c490bb33a03b90dab0631feafbdf447da91e8165b1 645 | languageName: node 646 | linkType: hard 647 | 648 | "browser-stdout@npm:1.3.1": 649 | version: 1.3.1 650 | resolution: "browser-stdout@npm:1.3.1" 651 | checksum: 10/ac70a84e346bb7afc5045ec6f22f6a681b15a4057447d4cc1c48a25c6dedb302a49a46dd4ddfb5cdd9c96e0c905a8539be1b98ae7bc440512152967009ec7015 652 | languageName: node 653 | linkType: hard 654 | 655 | "buffer-crc32@npm:~0.2.3": 656 | version: 0.2.13 657 | resolution: "buffer-crc32@npm:0.2.13" 658 | checksum: 10/06252347ae6daca3453b94e4b2f1d3754a3b146a111d81c68924c22d91889a40623264e95e67955b1cb4a68cbedf317abeabb5140a9766ed248973096db5ce1c 659 | languageName: node 660 | linkType: hard 661 | 662 | "buffer-indexof-polyfill@npm:~1.0.0": 663 | version: 1.0.2 664 | resolution: "buffer-indexof-polyfill@npm:1.0.2" 665 | checksum: 10/808c58a3f06cc6ee2231060959eaa31c490248465f2847e8cfebd3e62563521e67346391caad03ce7616fd765374eb53e941bdd22edb2336431171f46fddcd89 666 | languageName: node 667 | linkType: hard 668 | 669 | "buffer@npm:^5.5.0": 670 | version: 5.7.1 671 | resolution: "buffer@npm:5.7.1" 672 | dependencies: 673 | base64-js: "npm:^1.3.1" 674 | ieee754: "npm:^1.1.13" 675 | checksum: 10/997434d3c6e3b39e0be479a80288875f71cd1c07d75a3855e6f08ef848a3c966023f79534e22e415ff3a5112708ce06127277ab20e527146d55c84566405c7c6 676 | languageName: node 677 | linkType: hard 678 | 679 | "buffers@npm:~0.1.1": 680 | version: 0.1.1 681 | resolution: "buffers@npm:0.1.1" 682 | checksum: 10/9f0b64bbb8ac4783b1740219ab3532b03ef978fa38e70a0ba8c0695a2f6bc7e2af0ce42f0756b0c1a127070493055adbaf490fb68d95bebd7ccc310c6a483860 683 | languageName: node 684 | linkType: hard 685 | 686 | "cacache@npm:^16.1.0": 687 | version: 16.1.1 688 | resolution: "cacache@npm:16.1.1" 689 | dependencies: 690 | "@npmcli/fs": "npm:^2.1.0" 691 | "@npmcli/move-file": "npm:^2.0.0" 692 | chownr: "npm:^2.0.0" 693 | fs-minipass: "npm:^2.1.0" 694 | glob: "npm:^8.0.1" 695 | infer-owner: "npm:^1.0.4" 696 | lru-cache: "npm:^7.7.1" 697 | minipass: "npm:^3.1.6" 698 | minipass-collect: "npm:^1.0.2" 699 | minipass-flush: "npm:^1.0.5" 700 | minipass-pipeline: "npm:^1.2.4" 701 | mkdirp: "npm:^1.0.4" 702 | p-map: "npm:^4.0.0" 703 | promise-inflight: "npm:^1.0.1" 704 | rimraf: "npm:^3.0.2" 705 | ssri: "npm:^9.0.0" 706 | tar: "npm:^6.1.11" 707 | unique-filename: "npm:^1.1.1" 708 | checksum: 10/8356f969767ff11ed5e9dc6fcb3fc47d227431c6e68086a34ae08b2f3744909e6e22ae1868dc5ab094132a3d8dfc174f08bd7f3122abf50cf56fd789553d3d1f 709 | languageName: node 710 | linkType: hard 711 | 712 | "call-bind@npm:^1.0.0": 713 | version: 1.0.2 714 | resolution: "call-bind@npm:1.0.2" 715 | dependencies: 716 | function-bind: "npm:^1.1.1" 717 | get-intrinsic: "npm:^1.0.2" 718 | checksum: 10/ca787179c1cbe09e1697b56ad499fd05dc0ae6febe5081d728176ade699ea6b1589240cb1ff1fe11fcf9f61538c1af60ad37e8eb2ceb4ef21cd6085dfd3ccedd 719 | languageName: node 720 | linkType: hard 721 | 722 | "callsites@npm:^3.0.0": 723 | version: 3.1.0 724 | resolution: "callsites@npm:3.1.0" 725 | checksum: 10/072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 726 | languageName: node 727 | linkType: hard 728 | 729 | "camelcase@npm:^6.0.0": 730 | version: 6.3.0 731 | resolution: "camelcase@npm:6.3.0" 732 | checksum: 10/8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d 733 | languageName: node 734 | linkType: hard 735 | 736 | "chainsaw@npm:~0.1.0": 737 | version: 0.1.0 738 | resolution: "chainsaw@npm:0.1.0" 739 | dependencies: 740 | traverse: "npm:>=0.3.0 <0.4" 741 | checksum: 10/d85627cd3440eb908b9cd72a1ddce4a36bb1ebc9d431a4a2f44b4435cbefdd83625c05114d870381ba765849c34ad05f236c3f590b1581ea03c22897fe6883d0 742 | languageName: node 743 | linkType: hard 744 | 745 | "chalk@npm:^2.4.2": 746 | version: 2.4.2 747 | resolution: "chalk@npm:2.4.2" 748 | dependencies: 749 | ansi-styles: "npm:^3.2.1" 750 | escape-string-regexp: "npm:^1.0.5" 751 | supports-color: "npm:^5.3.0" 752 | checksum: 10/3d1d103433166f6bfe82ac75724951b33769675252d8417317363ef9d54699b7c3b2d46671b772b893a8e50c3ece70c4b933c73c01e81bc60ea4df9b55afa303 753 | languageName: node 754 | linkType: hard 755 | 756 | "chalk@npm:^4.0.0, chalk@npm:^4.1.0": 757 | version: 4.1.2 758 | resolution: "chalk@npm:4.1.2" 759 | dependencies: 760 | ansi-styles: "npm:^4.1.0" 761 | supports-color: "npm:^7.1.0" 762 | checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 763 | languageName: node 764 | linkType: hard 765 | 766 | "cheerio-select@npm:^2.1.0": 767 | version: 2.1.0 768 | resolution: "cheerio-select@npm:2.1.0" 769 | dependencies: 770 | boolbase: "npm:^1.0.0" 771 | css-select: "npm:^5.1.0" 772 | css-what: "npm:^6.1.0" 773 | domelementtype: "npm:^2.3.0" 774 | domhandler: "npm:^5.0.3" 775 | domutils: "npm:^3.0.1" 776 | checksum: 10/b5d89208c23468c3a32d1e04f88b9e8c6e332e3649650c5cd29255e2cebc215071ae18563f58c3dc3f6ef4c234488fc486035490fceb78755572288245e2931a 777 | languageName: node 778 | linkType: hard 779 | 780 | "cheerio@npm:^1.0.0-rc.9": 781 | version: 1.0.0-rc.11 782 | resolution: "cheerio@npm:1.0.0-rc.11" 783 | dependencies: 784 | cheerio-select: "npm:^2.1.0" 785 | dom-serializer: "npm:^2.0.0" 786 | domhandler: "npm:^5.0.3" 787 | domutils: "npm:^3.0.1" 788 | htmlparser2: "npm:^8.0.1" 789 | parse5: "npm:^7.0.0" 790 | parse5-htmlparser2-tree-adapter: "npm:^7.0.0" 791 | tslib: "npm:^2.4.0" 792 | checksum: 10/097a13fcc4106c940039d0ccbdbd36ee1cc1ede7bb67edd01c229342b436169a8f767f04ecc8655bb55f6098066acbd6439fe266b6ad57c17bd08344afbe52a7 793 | languageName: node 794 | linkType: hard 795 | 796 | "chokidar@npm:3.5.3": 797 | version: 3.5.3 798 | resolution: "chokidar@npm:3.5.3" 799 | dependencies: 800 | anymatch: "npm:~3.1.2" 801 | braces: "npm:~3.0.2" 802 | fsevents: "npm:~2.3.2" 803 | glob-parent: "npm:~5.1.2" 804 | is-binary-path: "npm:~2.1.0" 805 | is-glob: "npm:~4.0.1" 806 | normalize-path: "npm:~3.0.0" 807 | readdirp: "npm:~3.6.0" 808 | dependenciesMeta: 809 | fsevents: 810 | optional: true 811 | checksum: 10/863e3ff78ee7a4a24513d2a416856e84c8e4f5e60efbe03e8ab791af1a183f569b62fc6f6b8044e2804966cb81277ddbbc1dc374fba3265bd609ea8efd62f5b3 812 | languageName: node 813 | linkType: hard 814 | 815 | "chownr@npm:^1.1.1": 816 | version: 1.1.4 817 | resolution: "chownr@npm:1.1.4" 818 | checksum: 10/115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d 819 | languageName: node 820 | linkType: hard 821 | 822 | "chownr@npm:^2.0.0": 823 | version: 2.0.0 824 | resolution: "chownr@npm:2.0.0" 825 | checksum: 10/c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f 826 | languageName: node 827 | linkType: hard 828 | 829 | "ci-info@npm:^2.0.0": 830 | version: 2.0.0 831 | resolution: "ci-info@npm:2.0.0" 832 | checksum: 10/3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 833 | languageName: node 834 | linkType: hard 835 | 836 | "clean-stack@npm:^2.0.0": 837 | version: 2.2.0 838 | resolution: "clean-stack@npm:2.2.0" 839 | checksum: 10/2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 840 | languageName: node 841 | linkType: hard 842 | 843 | "cliui@npm:^7.0.2": 844 | version: 7.0.4 845 | resolution: "cliui@npm:7.0.4" 846 | dependencies: 847 | string-width: "npm:^4.2.0" 848 | strip-ansi: "npm:^6.0.0" 849 | wrap-ansi: "npm:^7.0.0" 850 | checksum: 10/db858c49af9d59a32d603987e6fddaca2ce716cd4602ba5a2bb3a5af1351eebe82aba8dff3ef3e1b331f7fa9d40ca66e67bdf8e7c327ce0ea959747ead65c0ef 851 | languageName: node 852 | linkType: hard 853 | 854 | "color-convert@npm:^1.9.0": 855 | version: 1.9.3 856 | resolution: "color-convert@npm:1.9.3" 857 | dependencies: 858 | color-name: "npm:1.1.3" 859 | checksum: 10/ffa319025045f2973919d155f25e7c00d08836b6b33ea2d205418c59bd63a665d713c52d9737a9e0fe467fb194b40fbef1d849bae80d674568ee220a31ef3d10 860 | languageName: node 861 | linkType: hard 862 | 863 | "color-convert@npm:^2.0.1": 864 | version: 2.0.1 865 | resolution: "color-convert@npm:2.0.1" 866 | dependencies: 867 | color-name: "npm:~1.1.4" 868 | checksum: 10/fa00c91b4332b294de06b443923246bccebe9fab1b253f7fe1772d37b06a2269b4039a85e309abe1fe11b267b11c08d1d0473fda3badd6167f57313af2887a64 869 | languageName: node 870 | linkType: hard 871 | 872 | "color-name@npm:1.1.3": 873 | version: 1.1.3 874 | resolution: "color-name@npm:1.1.3" 875 | checksum: 10/09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d 876 | languageName: node 877 | linkType: hard 878 | 879 | "color-name@npm:~1.1.4": 880 | version: 1.1.4 881 | resolution: "color-name@npm:1.1.4" 882 | checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 883 | languageName: node 884 | linkType: hard 885 | 886 | "color-support@npm:^1.1.3": 887 | version: 1.1.3 888 | resolution: "color-support@npm:1.1.3" 889 | bin: 890 | color-support: bin.js 891 | checksum: 10/4bcfe30eea1498fe1cabc852bbda6c9770f230ea0e4faf4611c5858b1b9e4dde3730ac485e65f54ca182f4c50b626c1bea7c8441ceda47367a54a818c248aa7a 892 | languageName: node 893 | linkType: hard 894 | 895 | "command-exists@npm:^1.2.9": 896 | version: 1.2.9 897 | resolution: "command-exists@npm:1.2.9" 898 | checksum: 10/46fb3c4d626ca5a9d274f8fe241230817496abc34d12911505370b7411999e183c11adff7078dd8a03ec4cf1391290facda40c6a4faac8203ae38c985eaedd63 899 | languageName: node 900 | linkType: hard 901 | 902 | "commander@npm:^6.1.0": 903 | version: 6.2.1 904 | resolution: "commander@npm:6.2.1" 905 | checksum: 10/25b88c2efd0380c84f7844b39cf18510da7bfc5013692d68cdc65f764a1c34e6c8a36ea6d72b6620e3710a930cf8fab2695bdec2bf7107a0f4fa30a3ef3b7d0e 906 | languageName: node 907 | linkType: hard 908 | 909 | "concat-map@npm:0.0.1": 910 | version: 0.0.1 911 | resolution: "concat-map@npm:0.0.1" 912 | checksum: 10/9680699c8e2b3af0ae22592cb764acaf973f292a7b71b8a06720233011853a58e256c89216a10cbe889727532fd77f8bcd49a760cedfde271b8e006c20e079f2 913 | languageName: node 914 | linkType: hard 915 | 916 | "console-control-strings@npm:^1.1.0": 917 | version: 1.1.0 918 | resolution: "console-control-strings@npm:1.1.0" 919 | checksum: 10/27b5fa302bc8e9ae9e98c03c66d76ca289ad0c61ce2fe20ab288d288bee875d217512d2edb2363fc83165e88f1c405180cf3f5413a46e51b4fe1a004840c6cdb 920 | languageName: node 921 | linkType: hard 922 | 923 | "core-util-is@npm:~1.0.0": 924 | version: 1.0.3 925 | resolution: "core-util-is@npm:1.0.3" 926 | checksum: 10/9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 927 | languageName: node 928 | linkType: hard 929 | 930 | "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": 931 | version: 7.0.3 932 | resolution: "cross-spawn@npm:7.0.3" 933 | dependencies: 934 | path-key: "npm:^3.1.0" 935 | shebang-command: "npm:^2.0.0" 936 | which: "npm:^2.0.1" 937 | checksum: 10/e1a13869d2f57d974de0d9ef7acbf69dc6937db20b918525a01dacb5032129bd552d290d886d981e99f1b624cb03657084cc87bd40f115c07ecf376821c729ce 938 | languageName: node 939 | linkType: hard 940 | 941 | "css-select@npm:^5.1.0": 942 | version: 5.1.0 943 | resolution: "css-select@npm:5.1.0" 944 | dependencies: 945 | boolbase: "npm:^1.0.0" 946 | css-what: "npm:^6.1.0" 947 | domhandler: "npm:^5.0.2" 948 | domutils: "npm:^3.0.1" 949 | nth-check: "npm:^2.0.1" 950 | checksum: 10/d486b1e7eb140468218a5ab5af53257e01f937d2173ac46981f6b7de9c5283d55427a36715dc8decfc0c079cf89259ac5b41ef58f6e1a422eee44ab8bfdc78da 951 | languageName: node 952 | linkType: hard 953 | 954 | "css-what@npm:^6.1.0": 955 | version: 6.1.0 956 | resolution: "css-what@npm:6.1.0" 957 | checksum: 10/c67a3a2d0d81843af87f8bf0a4d0845b0f952377714abbb2884e48942409d57a2110eabee003609d02ee487b054614bdfcfc59ee265728ff105bd5aa221c1d0e 958 | languageName: node 959 | linkType: hard 960 | 961 | "data-uri-to-buffer@npm:^4.0.0": 962 | version: 4.0.0 963 | resolution: "data-uri-to-buffer@npm:4.0.0" 964 | checksum: 10/251b085188b9343416d46dd8dce8279984a6bb7183196e226da68e293c76f1a97e8db2d4a9cb7b24671c8fb4bff7d4b866e851033cff681fff770abdcf83fbed 965 | languageName: node 966 | linkType: hard 967 | 968 | "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": 969 | version: 4.3.4 970 | resolution: "debug@npm:4.3.4" 971 | dependencies: 972 | ms: "npm:2.1.2" 973 | peerDependenciesMeta: 974 | supports-color: 975 | optional: true 976 | checksum: 10/0073c3bcbd9cb7d71dd5f6b55be8701af42df3e56e911186dfa46fac3a5b9eb7ce7f377dd1d3be6db8977221f8eb333d945216f645cf56f6b688cd484837d255 977 | languageName: node 978 | linkType: hard 979 | 980 | "debug@npm:4.3.3": 981 | version: 4.3.3 982 | resolution: "debug@npm:4.3.3" 983 | dependencies: 984 | ms: "npm:2.1.2" 985 | peerDependenciesMeta: 986 | supports-color: 987 | optional: true 988 | checksum: 10/723a9570dcd15d146ea4992f0dca12467d1b00f534abb42473df166d36826fcae8bab045aef59ac2f407b47a23266110bc0e646df8ac82f7800c11384f82050e 989 | languageName: node 990 | linkType: hard 991 | 992 | "decamelize@npm:^4.0.0": 993 | version: 4.0.0 994 | resolution: "decamelize@npm:4.0.0" 995 | checksum: 10/b7d09b82652c39eead4d6678bb578e3bebd848add894b76d0f6b395bc45b2d692fb88d977e7cfb93c4ed6c119b05a1347cef261174916c2e75c0a8ca57da1809 996 | languageName: node 997 | linkType: hard 998 | 999 | "decompress-response@npm:^6.0.0": 1000 | version: 6.0.0 1001 | resolution: "decompress-response@npm:6.0.0" 1002 | dependencies: 1003 | mimic-response: "npm:^3.1.0" 1004 | checksum: 10/d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 1005 | languageName: node 1006 | linkType: hard 1007 | 1008 | "deep-extend@npm:^0.6.0": 1009 | version: 0.6.0 1010 | resolution: "deep-extend@npm:0.6.0" 1011 | checksum: 10/7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 1012 | languageName: node 1013 | linkType: hard 1014 | 1015 | "deep-is@npm:^0.1.3": 1016 | version: 0.1.4 1017 | resolution: "deep-is@npm:0.1.4" 1018 | checksum: 10/ec12d074aef5ae5e81fa470b9317c313142c9e8e2afe3f8efa124db309720db96d1d222b82b84c834e5f87e7a614b44a4684b6683583118b87c833b3be40d4d8 1019 | languageName: node 1020 | linkType: hard 1021 | 1022 | "delegates@npm:^1.0.0": 1023 | version: 1.0.0 1024 | resolution: "delegates@npm:1.0.0" 1025 | checksum: 10/a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd 1026 | languageName: node 1027 | linkType: hard 1028 | 1029 | "depd@npm:^1.1.2": 1030 | version: 1.1.2 1031 | resolution: "depd@npm:1.1.2" 1032 | checksum: 10/2ed6966fc14463a9e85451db330ab8ba041efed0b9a1a472dbfc6fbf2f82bab66491915f996b25d8517dddc36c8c74e24c30879b34877f3c4410733444a51d1d 1033 | languageName: node 1034 | linkType: hard 1035 | 1036 | "detect-libc@npm:^2.0.0": 1037 | version: 2.0.1 1038 | resolution: "detect-libc@npm:2.0.1" 1039 | checksum: 10/f41b3d8c726127cc010c78bf4cdb6fda20a1a0731ae9fc34698e3b9887d82e19f249f4dc997b423f930d5be0c3ee05dc7fe6c2473dd058856c6b0700eb3e0dc6 1040 | languageName: node 1041 | linkType: hard 1042 | 1043 | "diff@npm:5.0.0": 1044 | version: 5.0.0 1045 | resolution: "diff@npm:5.0.0" 1046 | checksum: 10/4a179a75b17cbb420eb9145be913f9ddb34b47cb2ba4301e80ae745122826a468f02ca8f5e56945958de26ace594899c8381acb6659c88e7803ef078b53d690c 1047 | languageName: node 1048 | linkType: hard 1049 | 1050 | "dir-glob@npm:^3.0.1": 1051 | version: 3.0.1 1052 | resolution: "dir-glob@npm:3.0.1" 1053 | dependencies: 1054 | path-type: "npm:^4.0.0" 1055 | checksum: 10/fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 1056 | languageName: node 1057 | linkType: hard 1058 | 1059 | "doctrine@npm:^3.0.0": 1060 | version: 3.0.0 1061 | resolution: "doctrine@npm:3.0.0" 1062 | dependencies: 1063 | esutils: "npm:^2.0.2" 1064 | checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 1065 | languageName: node 1066 | linkType: hard 1067 | 1068 | "dom-serializer@npm:^2.0.0": 1069 | version: 2.0.0 1070 | resolution: "dom-serializer@npm:2.0.0" 1071 | dependencies: 1072 | domelementtype: "npm:^2.3.0" 1073 | domhandler: "npm:^5.0.2" 1074 | entities: "npm:^4.2.0" 1075 | checksum: 10/e3bf9027a64450bca0a72297ecdc1e3abb7a2912268a9f3f5d33a2e29c1e2c3502c6e9f860fc6625940bfe0cfb57a44953262b9e94df76872fdfb8151097eeb3 1076 | languageName: node 1077 | linkType: hard 1078 | 1079 | "domelementtype@npm:^2.3.0": 1080 | version: 2.3.0 1081 | resolution: "domelementtype@npm:2.3.0" 1082 | checksum: 10/ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 1083 | languageName: node 1084 | linkType: hard 1085 | 1086 | "domhandler@npm:^5.0.1, domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": 1087 | version: 5.0.3 1088 | resolution: "domhandler@npm:5.0.3" 1089 | dependencies: 1090 | domelementtype: "npm:^2.3.0" 1091 | checksum: 10/809b805a50a9c6884a29f38aec0a4e1b4537f40e1c861950ed47d10b049febe6b79ab72adaeeebb3cc8fc1cd33f34e97048a72a9265103426d93efafa78d3e96 1092 | languageName: node 1093 | linkType: hard 1094 | 1095 | "domutils@npm:^3.0.1": 1096 | version: 3.0.1 1097 | resolution: "domutils@npm:3.0.1" 1098 | dependencies: 1099 | dom-serializer: "npm:^2.0.0" 1100 | domelementtype: "npm:^2.3.0" 1101 | domhandler: "npm:^5.0.1" 1102 | checksum: 10/c0031e4bf89bf701c552c6aa7937262351ae863d5bb0395ebae9cdb23eb3de0077343ca0ddfa63861d98c31c02bbabe4c6e0e11be87b04a090a4d5dbb75197dc 1103 | languageName: node 1104 | linkType: hard 1105 | 1106 | "duplexer2@npm:~0.1.4": 1107 | version: 0.1.4 1108 | resolution: "duplexer2@npm:0.1.4" 1109 | dependencies: 1110 | readable-stream: "npm:^2.0.2" 1111 | checksum: 10/f60ff8b8955f992fd9524516e82faa5662d7aca5b99ee71c50bbbe1a3c970fafacb35d526d8b05cef8c08be56eed3663c096c50626c3c3651a52af36c408bf4d 1112 | languageName: node 1113 | linkType: hard 1114 | 1115 | "eastasianwidth@npm:^0.2.0": 1116 | version: 0.2.0 1117 | resolution: "eastasianwidth@npm:0.2.0" 1118 | checksum: 10/9b1d3e1baefeaf7d70799db8774149cef33b97183a6addceeba0cf6b85ba23ee2686f302f14482006df32df75d32b17c509c143a3689627929e4a8efaf483952 1119 | languageName: node 1120 | linkType: hard 1121 | 1122 | "emoji-regex@npm:^8.0.0": 1123 | version: 8.0.0 1124 | resolution: "emoji-regex@npm:8.0.0" 1125 | checksum: 10/c72d67a6821be15ec11997877c437491c313d924306b8da5d87d2a2bcc2cec9903cb5b04ee1a088460501d8e5b44f10df82fdc93c444101a7610b80c8b6938e1 1126 | languageName: node 1127 | linkType: hard 1128 | 1129 | "emoji-regex@npm:^9.2.2": 1130 | version: 9.2.2 1131 | resolution: "emoji-regex@npm:9.2.2" 1132 | checksum: 10/915acf859cea7131dac1b2b5c9c8e35c4849e325a1d114c30adb8cd615970f6dca0e27f64f3a4949d7d6ed86ecd79a1c5c63f02e697513cddd7b5835c90948b8 1133 | languageName: node 1134 | linkType: hard 1135 | 1136 | "encoding@npm:^0.1.13": 1137 | version: 0.1.13 1138 | resolution: "encoding@npm:0.1.13" 1139 | dependencies: 1140 | iconv-lite: "npm:^0.6.2" 1141 | checksum: 10/bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f 1142 | languageName: node 1143 | linkType: hard 1144 | 1145 | "end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": 1146 | version: 1.4.4 1147 | resolution: "end-of-stream@npm:1.4.4" 1148 | dependencies: 1149 | once: "npm:^1.4.0" 1150 | checksum: 10/530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b 1151 | languageName: node 1152 | linkType: hard 1153 | 1154 | "entities@npm:^4.2.0, entities@npm:^4.3.0": 1155 | version: 4.3.0 1156 | resolution: "entities@npm:4.3.0" 1157 | checksum: 10/813a126ba837aec1500259bef837ce1d2fc70b15147ee72450b0569eeefb478ce40e30637629242ba42937474dd8f7a579b922be87269562fce8df8642a59ca5 1158 | languageName: node 1159 | linkType: hard 1160 | 1161 | "entities@npm:~2.1.0": 1162 | version: 2.1.0 1163 | resolution: "entities@npm:2.1.0" 1164 | checksum: 10/fe71642e42e108540b0324dea03e00f3dbad93617c601bfcf292c3f852c236af3e58469219c4653f6f05df781a446f3b82105b8d26b936d0fa246b0103f2f951 1165 | languageName: node 1166 | linkType: hard 1167 | 1168 | "env-paths@npm:^2.2.0": 1169 | version: 2.2.1 1170 | resolution: "env-paths@npm:2.2.1" 1171 | checksum: 10/65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e 1172 | languageName: node 1173 | linkType: hard 1174 | 1175 | "err-code@npm:^2.0.2": 1176 | version: 2.0.3 1177 | resolution: "err-code@npm:2.0.3" 1178 | checksum: 10/1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd 1179 | languageName: node 1180 | linkType: hard 1181 | 1182 | "esbuild-android-64@npm:0.15.15": 1183 | version: 0.15.15 1184 | resolution: "esbuild-android-64@npm:0.15.15" 1185 | conditions: os=android & cpu=x64 1186 | languageName: node 1187 | linkType: hard 1188 | 1189 | "esbuild-android-arm64@npm:0.15.15": 1190 | version: 0.15.15 1191 | resolution: "esbuild-android-arm64@npm:0.15.15" 1192 | conditions: os=android & cpu=arm64 1193 | languageName: node 1194 | linkType: hard 1195 | 1196 | "esbuild-darwin-64@npm:0.15.15": 1197 | version: 0.15.15 1198 | resolution: "esbuild-darwin-64@npm:0.15.15" 1199 | conditions: os=darwin & cpu=x64 1200 | languageName: node 1201 | linkType: hard 1202 | 1203 | "esbuild-darwin-arm64@npm:0.15.15": 1204 | version: 0.15.15 1205 | resolution: "esbuild-darwin-arm64@npm:0.15.15" 1206 | conditions: os=darwin & cpu=arm64 1207 | languageName: node 1208 | linkType: hard 1209 | 1210 | "esbuild-freebsd-64@npm:0.15.15": 1211 | version: 0.15.15 1212 | resolution: "esbuild-freebsd-64@npm:0.15.15" 1213 | conditions: os=freebsd & cpu=x64 1214 | languageName: node 1215 | linkType: hard 1216 | 1217 | "esbuild-freebsd-arm64@npm:0.15.15": 1218 | version: 0.15.15 1219 | resolution: "esbuild-freebsd-arm64@npm:0.15.15" 1220 | conditions: os=freebsd & cpu=arm64 1221 | languageName: node 1222 | linkType: hard 1223 | 1224 | "esbuild-linux-32@npm:0.15.15": 1225 | version: 0.15.15 1226 | resolution: "esbuild-linux-32@npm:0.15.15" 1227 | conditions: os=linux & cpu=ia32 1228 | languageName: node 1229 | linkType: hard 1230 | 1231 | "esbuild-linux-64@npm:0.15.15": 1232 | version: 0.15.15 1233 | resolution: "esbuild-linux-64@npm:0.15.15" 1234 | conditions: os=linux & cpu=x64 1235 | languageName: node 1236 | linkType: hard 1237 | 1238 | "esbuild-linux-arm64@npm:0.15.15": 1239 | version: 0.15.15 1240 | resolution: "esbuild-linux-arm64@npm:0.15.15" 1241 | conditions: os=linux & cpu=arm64 1242 | languageName: node 1243 | linkType: hard 1244 | 1245 | "esbuild-linux-arm@npm:0.15.15": 1246 | version: 0.15.15 1247 | resolution: "esbuild-linux-arm@npm:0.15.15" 1248 | conditions: os=linux & cpu=arm 1249 | languageName: node 1250 | linkType: hard 1251 | 1252 | "esbuild-linux-mips64le@npm:0.15.15": 1253 | version: 0.15.15 1254 | resolution: "esbuild-linux-mips64le@npm:0.15.15" 1255 | conditions: os=linux & cpu=mips64el 1256 | languageName: node 1257 | linkType: hard 1258 | 1259 | "esbuild-linux-ppc64le@npm:0.15.15": 1260 | version: 0.15.15 1261 | resolution: "esbuild-linux-ppc64le@npm:0.15.15" 1262 | conditions: os=linux & cpu=ppc64 1263 | languageName: node 1264 | linkType: hard 1265 | 1266 | "esbuild-linux-riscv64@npm:0.15.15": 1267 | version: 0.15.15 1268 | resolution: "esbuild-linux-riscv64@npm:0.15.15" 1269 | conditions: os=linux & cpu=riscv64 1270 | languageName: node 1271 | linkType: hard 1272 | 1273 | "esbuild-linux-s390x@npm:0.15.15": 1274 | version: 0.15.15 1275 | resolution: "esbuild-linux-s390x@npm:0.15.15" 1276 | conditions: os=linux & cpu=s390x 1277 | languageName: node 1278 | linkType: hard 1279 | 1280 | "esbuild-netbsd-64@npm:0.15.15": 1281 | version: 0.15.15 1282 | resolution: "esbuild-netbsd-64@npm:0.15.15" 1283 | conditions: os=netbsd & cpu=x64 1284 | languageName: node 1285 | linkType: hard 1286 | 1287 | "esbuild-openbsd-64@npm:0.15.15": 1288 | version: 0.15.15 1289 | resolution: "esbuild-openbsd-64@npm:0.15.15" 1290 | conditions: os=openbsd & cpu=x64 1291 | languageName: node 1292 | linkType: hard 1293 | 1294 | "esbuild-sunos-64@npm:0.15.15": 1295 | version: 0.15.15 1296 | resolution: "esbuild-sunos-64@npm:0.15.15" 1297 | conditions: os=sunos & cpu=x64 1298 | languageName: node 1299 | linkType: hard 1300 | 1301 | "esbuild-windows-32@npm:0.15.15": 1302 | version: 0.15.15 1303 | resolution: "esbuild-windows-32@npm:0.15.15" 1304 | conditions: os=win32 & cpu=ia32 1305 | languageName: node 1306 | linkType: hard 1307 | 1308 | "esbuild-windows-64@npm:0.15.15": 1309 | version: 0.15.15 1310 | resolution: "esbuild-windows-64@npm:0.15.15" 1311 | conditions: os=win32 & cpu=x64 1312 | languageName: node 1313 | linkType: hard 1314 | 1315 | "esbuild-windows-arm64@npm:0.15.15": 1316 | version: 0.15.15 1317 | resolution: "esbuild-windows-arm64@npm:0.15.15" 1318 | conditions: os=win32 & cpu=arm64 1319 | languageName: node 1320 | linkType: hard 1321 | 1322 | "esbuild@npm:^0.15.15": 1323 | version: 0.15.15 1324 | resolution: "esbuild@npm:0.15.15" 1325 | dependencies: 1326 | "@esbuild/android-arm": "npm:0.15.15" 1327 | "@esbuild/linux-loong64": "npm:0.15.15" 1328 | esbuild-android-64: "npm:0.15.15" 1329 | esbuild-android-arm64: "npm:0.15.15" 1330 | esbuild-darwin-64: "npm:0.15.15" 1331 | esbuild-darwin-arm64: "npm:0.15.15" 1332 | esbuild-freebsd-64: "npm:0.15.15" 1333 | esbuild-freebsd-arm64: "npm:0.15.15" 1334 | esbuild-linux-32: "npm:0.15.15" 1335 | esbuild-linux-64: "npm:0.15.15" 1336 | esbuild-linux-arm: "npm:0.15.15" 1337 | esbuild-linux-arm64: "npm:0.15.15" 1338 | esbuild-linux-mips64le: "npm:0.15.15" 1339 | esbuild-linux-ppc64le: "npm:0.15.15" 1340 | esbuild-linux-riscv64: "npm:0.15.15" 1341 | esbuild-linux-s390x: "npm:0.15.15" 1342 | esbuild-netbsd-64: "npm:0.15.15" 1343 | esbuild-openbsd-64: "npm:0.15.15" 1344 | esbuild-sunos-64: "npm:0.15.15" 1345 | esbuild-windows-32: "npm:0.15.15" 1346 | esbuild-windows-64: "npm:0.15.15" 1347 | esbuild-windows-arm64: "npm:0.15.15" 1348 | dependenciesMeta: 1349 | "@esbuild/android-arm": 1350 | optional: true 1351 | "@esbuild/linux-loong64": 1352 | optional: true 1353 | esbuild-android-64: 1354 | optional: true 1355 | esbuild-android-arm64: 1356 | optional: true 1357 | esbuild-darwin-64: 1358 | optional: true 1359 | esbuild-darwin-arm64: 1360 | optional: true 1361 | esbuild-freebsd-64: 1362 | optional: true 1363 | esbuild-freebsd-arm64: 1364 | optional: true 1365 | esbuild-linux-32: 1366 | optional: true 1367 | esbuild-linux-64: 1368 | optional: true 1369 | esbuild-linux-arm: 1370 | optional: true 1371 | esbuild-linux-arm64: 1372 | optional: true 1373 | esbuild-linux-mips64le: 1374 | optional: true 1375 | esbuild-linux-ppc64le: 1376 | optional: true 1377 | esbuild-linux-riscv64: 1378 | optional: true 1379 | esbuild-linux-s390x: 1380 | optional: true 1381 | esbuild-netbsd-64: 1382 | optional: true 1383 | esbuild-openbsd-64: 1384 | optional: true 1385 | esbuild-sunos-64: 1386 | optional: true 1387 | esbuild-windows-32: 1388 | optional: true 1389 | esbuild-windows-64: 1390 | optional: true 1391 | esbuild-windows-arm64: 1392 | optional: true 1393 | bin: 1394 | esbuild: bin/esbuild 1395 | checksum: 10/851a1f936cd06778429167c889da42a81f4a8afe28a437a1e113afb9f59cc3a753414e558828ac2aba45f83b5fec8714f1564865bd77f8fbe1b1cf6aca17ca02 1396 | languageName: node 1397 | linkType: hard 1398 | 1399 | "escalade@npm:^3.1.1": 1400 | version: 3.1.1 1401 | resolution: "escalade@npm:3.1.1" 1402 | checksum: 10/afa618e73362576b63f6ca83c975456621095a1ed42ff068174e3f5cea48afc422814dda548c96e6ebb5333e7265140c7292abcc81bbd6ccb1757d50d3a4e182 1403 | languageName: node 1404 | linkType: hard 1405 | 1406 | "escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": 1407 | version: 4.0.0 1408 | resolution: "escape-string-regexp@npm:4.0.0" 1409 | checksum: 10/98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 1410 | languageName: node 1411 | linkType: hard 1412 | 1413 | "escape-string-regexp@npm:^1.0.5": 1414 | version: 1.0.5 1415 | resolution: "escape-string-regexp@npm:1.0.5" 1416 | checksum: 10/6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 1417 | languageName: node 1418 | linkType: hard 1419 | 1420 | "eslint-scope@npm:^5.1.1": 1421 | version: 5.1.1 1422 | resolution: "eslint-scope@npm:5.1.1" 1423 | dependencies: 1424 | esrecurse: "npm:^4.3.0" 1425 | estraverse: "npm:^4.1.1" 1426 | checksum: 10/c541ef384c92eb5c999b7d3443d80195fcafb3da335500946f6db76539b87d5826c8f2e1d23bf6afc3154ba8cd7c8e566f8dc00f1eea25fdf3afc8fb9c87b238 1427 | languageName: node 1428 | linkType: hard 1429 | 1430 | "eslint-scope@npm:^7.1.1": 1431 | version: 7.1.1 1432 | resolution: "eslint-scope@npm:7.1.1" 1433 | dependencies: 1434 | esrecurse: "npm:^4.3.0" 1435 | estraverse: "npm:^5.2.0" 1436 | checksum: 10/5bc6f6bdfd815202471077108e76af1c8c648a16e4f60d71d9f98db0dd2b2ba9596fa1d427974f6fc7a2cfea728870b9f2f06048cd426f0f2d3d2375f51f67a9 1437 | languageName: node 1438 | linkType: hard 1439 | 1440 | "eslint-utils@npm:^3.0.0": 1441 | version: 3.0.0 1442 | resolution: "eslint-utils@npm:3.0.0" 1443 | dependencies: 1444 | eslint-visitor-keys: "npm:^2.0.0" 1445 | peerDependencies: 1446 | eslint: ">=5" 1447 | checksum: 10/7675260a6b220c70f13e4cdbf077e93cad0dfb388429a27d6c0b584b2b20dca24594508e8bdb00a460a5764bd364a5018e20c2b8b1d70f82bcc3fdc30692a4d2 1448 | languageName: node 1449 | linkType: hard 1450 | 1451 | "eslint-visitor-keys@npm:^2.0.0": 1452 | version: 2.1.0 1453 | resolution: "eslint-visitor-keys@npm:2.1.0" 1454 | checksum: 10/db4547eef5039122d518fa307e938ceb8589da5f6e8f5222efaf14dd62f748ce82e2d2becd3ff9412a50350b726bda95dbea8515a471074547daefa58aee8735 1455 | languageName: node 1456 | linkType: hard 1457 | 1458 | "eslint-visitor-keys@npm:^3.3.0": 1459 | version: 3.3.0 1460 | resolution: "eslint-visitor-keys@npm:3.3.0" 1461 | checksum: 10/37a1a5912a0b1de0f6d26237d8903af8a3af402bbef6e4181aeda1ace12a67348a0356c677804cfc839f62e68c3845b3eb96bb8f334d30d5ce96348d482567ed 1462 | languageName: node 1463 | linkType: hard 1464 | 1465 | "eslint@npm:^8.28.0": 1466 | version: 8.28.0 1467 | resolution: "eslint@npm:8.28.0" 1468 | dependencies: 1469 | "@eslint/eslintrc": "npm:^1.3.3" 1470 | "@humanwhocodes/config-array": "npm:^0.11.6" 1471 | "@humanwhocodes/module-importer": "npm:^1.0.1" 1472 | "@nodelib/fs.walk": "npm:^1.2.8" 1473 | ajv: "npm:^6.10.0" 1474 | chalk: "npm:^4.0.0" 1475 | cross-spawn: "npm:^7.0.2" 1476 | debug: "npm:^4.3.2" 1477 | doctrine: "npm:^3.0.0" 1478 | escape-string-regexp: "npm:^4.0.0" 1479 | eslint-scope: "npm:^7.1.1" 1480 | eslint-utils: "npm:^3.0.0" 1481 | eslint-visitor-keys: "npm:^3.3.0" 1482 | espree: "npm:^9.4.0" 1483 | esquery: "npm:^1.4.0" 1484 | esutils: "npm:^2.0.2" 1485 | fast-deep-equal: "npm:^3.1.3" 1486 | file-entry-cache: "npm:^6.0.1" 1487 | find-up: "npm:^5.0.0" 1488 | glob-parent: "npm:^6.0.2" 1489 | globals: "npm:^13.15.0" 1490 | grapheme-splitter: "npm:^1.0.4" 1491 | ignore: "npm:^5.2.0" 1492 | import-fresh: "npm:^3.0.0" 1493 | imurmurhash: "npm:^0.1.4" 1494 | is-glob: "npm:^4.0.0" 1495 | is-path-inside: "npm:^3.0.3" 1496 | js-sdsl: "npm:^4.1.4" 1497 | js-yaml: "npm:^4.1.0" 1498 | json-stable-stringify-without-jsonify: "npm:^1.0.1" 1499 | levn: "npm:^0.4.1" 1500 | lodash.merge: "npm:^4.6.2" 1501 | minimatch: "npm:^3.1.2" 1502 | natural-compare: "npm:^1.4.0" 1503 | optionator: "npm:^0.9.1" 1504 | regexpp: "npm:^3.2.0" 1505 | strip-ansi: "npm:^6.0.1" 1506 | strip-json-comments: "npm:^3.1.0" 1507 | text-table: "npm:^0.2.0" 1508 | bin: 1509 | eslint: bin/eslint.js 1510 | checksum: 10/2bd368fe09e3206030e5c9b5bb4e131a900348fde94b576cb2519ea2607da1a1267d3346f72c7f4d19b3a2584fa3b260ca22d3849f932132816f3878351751de 1511 | languageName: node 1512 | linkType: hard 1513 | 1514 | "espree@npm:^9.4.0": 1515 | version: 9.4.1 1516 | resolution: "espree@npm:9.4.1" 1517 | dependencies: 1518 | acorn: "npm:^8.8.0" 1519 | acorn-jsx: "npm:^5.3.2" 1520 | eslint-visitor-keys: "npm:^3.3.0" 1521 | checksum: 10/94435066c4c9a76af0680199b5e29475f4ee44a5a1cf88ed9068988662a126541a913f053a78e95637aa825fb187407807c870e6964c78b677b71a2bbf3aa493 1522 | languageName: node 1523 | linkType: hard 1524 | 1525 | "esquery@npm:^1.4.0": 1526 | version: 1.4.0 1527 | resolution: "esquery@npm:1.4.0" 1528 | dependencies: 1529 | estraverse: "npm:^5.1.0" 1530 | checksum: 10/25b571ec54f186521819be48cd12643f9f5bdef6be9679161a48dec9cfd478764970a77ef563a516cf1f0f05e7e490e3ff2d514715b86cb8d03329cbb56ae4a8 1531 | languageName: node 1532 | linkType: hard 1533 | 1534 | "esrecurse@npm:^4.3.0": 1535 | version: 4.3.0 1536 | resolution: "esrecurse@npm:4.3.0" 1537 | dependencies: 1538 | estraverse: "npm:^5.2.0" 1539 | checksum: 10/44ffcd89e714ea6b30143e7f119b104fc4d75e77ee913f34d59076b40ef2d21967f84e019f84e1fd0465b42cdbf725db449f232b5e47f29df29ed76194db8e16 1540 | languageName: node 1541 | linkType: hard 1542 | 1543 | "estraverse@npm:^4.1.1": 1544 | version: 4.3.0 1545 | resolution: "estraverse@npm:4.3.0" 1546 | checksum: 10/3f67ad02b6dbfaddd9ea459cf2b6ef4ecff9a6082a7af9d22e445b9abc082ad9ca47e1825557b293fcdae477f4714e561123e30bb6a5b2f184fb2bad4a9497eb 1547 | languageName: node 1548 | linkType: hard 1549 | 1550 | "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": 1551 | version: 5.3.0 1552 | resolution: "estraverse@npm:5.3.0" 1553 | checksum: 10/37cbe6e9a68014d34dbdc039f90d0baf72436809d02edffcc06ba3c2a12eb298048f877511353b130153e532aac8d68ba78430c0dd2f44806ebc7c014b01585e 1554 | languageName: node 1555 | linkType: hard 1556 | 1557 | "esutils@npm:^2.0.2": 1558 | version: 2.0.3 1559 | resolution: "esutils@npm:2.0.3" 1560 | checksum: 10/b23acd24791db11d8f65be5ea58fd9a6ce2df5120ae2da65c16cfc5331ff59d5ac4ef50af66cd4bde238881503ec839928a0135b99a036a9cdfa22d17fd56cdb 1561 | languageName: node 1562 | linkType: hard 1563 | 1564 | "expand-template@npm:^2.0.3": 1565 | version: 2.0.3 1566 | resolution: "expand-template@npm:2.0.3" 1567 | checksum: 10/588c19847216421ed92befb521767b7018dc88f88b0576df98cb242f20961425e96a92cbece525ef28cc5becceae5d544ae0f5b9b5e2aa05acb13716ca5b3099 1568 | languageName: node 1569 | linkType: hard 1570 | 1571 | "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": 1572 | version: 3.1.3 1573 | resolution: "fast-deep-equal@npm:3.1.3" 1574 | checksum: 10/e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d 1575 | languageName: node 1576 | linkType: hard 1577 | 1578 | "fast-glob@npm:^3.2.9": 1579 | version: 3.2.11 1580 | resolution: "fast-glob@npm:3.2.11" 1581 | dependencies: 1582 | "@nodelib/fs.stat": "npm:^2.0.2" 1583 | "@nodelib/fs.walk": "npm:^1.2.3" 1584 | glob-parent: "npm:^5.1.2" 1585 | merge2: "npm:^1.3.0" 1586 | micromatch: "npm:^4.0.4" 1587 | checksum: 10/6b736d92a47f27218a85bf184a4ccab9f707398f86711bf84d730243b10a999a85f79afc526133c044ebebfcb42a68d09f769fdbedcc00680ddd56e56a56483a 1588 | languageName: node 1589 | linkType: hard 1590 | 1591 | "fast-json-stable-stringify@npm:^2.0.0": 1592 | version: 2.1.0 1593 | resolution: "fast-json-stable-stringify@npm:2.1.0" 1594 | checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e 1595 | languageName: node 1596 | linkType: hard 1597 | 1598 | "fast-levenshtein@npm:^2.0.6": 1599 | version: 2.0.6 1600 | resolution: "fast-levenshtein@npm:2.0.6" 1601 | checksum: 10/eb7e220ecf2bab5159d157350b81d01f75726a4382f5a9266f42b9150c4523b9795f7f5d9fbbbeaeac09a441b2369f05ee02db48ea938584205530fe5693cfe1 1602 | languageName: node 1603 | linkType: hard 1604 | 1605 | "fastq@npm:^1.6.0": 1606 | version: 1.13.0 1607 | resolution: "fastq@npm:1.13.0" 1608 | dependencies: 1609 | reusify: "npm:^1.0.4" 1610 | checksum: 10/0902cb9b81accf34e5542612c8a1df6c6ea47674f85bcc9cdc38795a28b53e4a096f751cfcf4fb25d2ea42fee5447499ba6cf5af5d0209297e1d1fd4dd551bb6 1611 | languageName: node 1612 | linkType: hard 1613 | 1614 | "fd-slicer@npm:~1.1.0": 1615 | version: 1.1.0 1616 | resolution: "fd-slicer@npm:1.1.0" 1617 | dependencies: 1618 | pend: "npm:~1.2.0" 1619 | checksum: 10/db3e34fa483b5873b73f248e818f8a8b59a6427fd8b1436cd439c195fdf11e8659419404826059a642b57d18075c856d06d6a50a1413b714f12f833a9341ead3 1620 | languageName: node 1621 | linkType: hard 1622 | 1623 | "fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": 1624 | version: 3.1.5 1625 | resolution: "fetch-blob@npm:3.1.5" 1626 | dependencies: 1627 | node-domexception: "npm:^1.0.0" 1628 | web-streams-polyfill: "npm:^3.0.3" 1629 | checksum: 10/d6549faea6e709e26826e1c60fba89a328d9318d59bc3829f4d8ea5edf7a0f04b3809ea0d2374f790f14a86545f578236e899c1d43a3bbb6b47951d696b8c2aa 1630 | languageName: node 1631 | linkType: hard 1632 | 1633 | "file-entry-cache@npm:^6.0.1": 1634 | version: 6.0.1 1635 | resolution: "file-entry-cache@npm:6.0.1" 1636 | dependencies: 1637 | flat-cache: "npm:^3.0.4" 1638 | checksum: 10/099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b 1639 | languageName: node 1640 | linkType: hard 1641 | 1642 | "fill-range@npm:^7.0.1": 1643 | version: 7.0.1 1644 | resolution: "fill-range@npm:7.0.1" 1645 | dependencies: 1646 | to-regex-range: "npm:^5.0.1" 1647 | checksum: 10/e260f7592fd196b4421504d3597cc76f4a1ca7a9488260d533b611fc3cefd61e9a9be1417cb82d3b01ad9f9c0ff2dbf258e1026d2445e26b0cf5148ff4250429 1648 | languageName: node 1649 | linkType: hard 1650 | 1651 | "find-up@npm:5.0.0, find-up@npm:^5.0.0": 1652 | version: 5.0.0 1653 | resolution: "find-up@npm:5.0.0" 1654 | dependencies: 1655 | locate-path: "npm:^6.0.0" 1656 | path-exists: "npm:^4.0.0" 1657 | checksum: 10/07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 1658 | languageName: node 1659 | linkType: hard 1660 | 1661 | "flat-cache@npm:^3.0.4": 1662 | version: 3.0.4 1663 | resolution: "flat-cache@npm:3.0.4" 1664 | dependencies: 1665 | flatted: "npm:^3.1.0" 1666 | rimraf: "npm:^3.0.2" 1667 | checksum: 10/9fe5d0cb97c988e3b25242e71346965fae22757674db3fca14206850af2efa3ca3b04a3ba0eba8d5e20fd8a3be80a2e14b1c2917e70ffe1acb98a8c3327e4c9f 1668 | languageName: node 1669 | linkType: hard 1670 | 1671 | "flat@npm:^5.0.2": 1672 | version: 5.0.2 1673 | resolution: "flat@npm:5.0.2" 1674 | bin: 1675 | flat: cli.js 1676 | checksum: 10/72479e651c15eab53e25ce04c31bab18cfaac0556505cac19221dbbe85bbb9686bc76e4d397e89e5bf516ce667dcf818f8b07e585568edba55abc2bf1f698fb5 1677 | languageName: node 1678 | linkType: hard 1679 | 1680 | "flatted@npm:^3.1.0": 1681 | version: 3.2.5 1682 | resolution: "flatted@npm:3.2.5" 1683 | checksum: 10/eed01f72ad0317561e4d6187f7408dc391f7849d9cd6700520ce06155d1859539b6899afdfefc815ce51ec48f97d1015350287c541b5302a49581cf25cec1cd2 1684 | languageName: node 1685 | linkType: hard 1686 | 1687 | "follow-redirects@npm:^1.14.6": 1688 | version: 1.15.2 1689 | resolution: "follow-redirects@npm:1.15.2" 1690 | peerDependenciesMeta: 1691 | debug: 1692 | optional: true 1693 | checksum: 10/8be0d39919770054812537d376850ccde0b4762b0501c440bd08724971a078123b55f57704f2984e0664fecc0c86adea85add63295804d9dce401cd9604c91d3 1694 | languageName: node 1695 | linkType: hard 1696 | 1697 | "foreground-child@npm:^3.1.0": 1698 | version: 3.1.1 1699 | resolution: "foreground-child@npm:3.1.1" 1700 | dependencies: 1701 | cross-spawn: "npm:^7.0.0" 1702 | signal-exit: "npm:^4.0.1" 1703 | checksum: 10/087edd44857d258c4f73ad84cb8df980826569656f2550c341b27adf5335354393eec24ea2fabd43a253233fb27cee177ebe46bd0b7ea129c77e87cb1e9936fb 1704 | languageName: node 1705 | linkType: hard 1706 | 1707 | "formdata-polyfill@npm:^4.0.10": 1708 | version: 4.0.10 1709 | resolution: "formdata-polyfill@npm:4.0.10" 1710 | dependencies: 1711 | fetch-blob: "npm:^3.1.2" 1712 | checksum: 10/9b5001d2edef3c9449ac3f48bd4f8cc92e7d0f2e7c1a5c8ba555ad4e77535cc5cf621fabe49e97f304067037282dd9093b9160a3cb533e46420b446c4e6bc06f 1713 | languageName: node 1714 | linkType: hard 1715 | 1716 | "fs-constants@npm:^1.0.0": 1717 | version: 1.0.0 1718 | resolution: "fs-constants@npm:1.0.0" 1719 | checksum: 10/18f5b718371816155849475ac36c7d0b24d39a11d91348cfcb308b4494824413e03572c403c86d3a260e049465518c4f0d5bd00f0371cdfcad6d4f30a85b350d 1720 | languageName: node 1721 | linkType: hard 1722 | 1723 | "fs-extra@npm:^10.1.0": 1724 | version: 10.1.0 1725 | resolution: "fs-extra@npm:10.1.0" 1726 | dependencies: 1727 | graceful-fs: "npm:^4.2.0" 1728 | jsonfile: "npm:^6.0.1" 1729 | universalify: "npm:^2.0.0" 1730 | checksum: 10/05ce2c3b59049bcb7b52001acd000e44b3c4af4ec1f8839f383ef41ec0048e3cfa7fd8a637b1bddfefad319145db89be91f4b7c1db2908205d38bf91e7d1d3b7 1731 | languageName: node 1732 | linkType: hard 1733 | 1734 | "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": 1735 | version: 2.1.0 1736 | resolution: "fs-minipass@npm:2.1.0" 1737 | dependencies: 1738 | minipass: "npm:^3.0.0" 1739 | checksum: 10/03191781e94bc9a54bd376d3146f90fe8e082627c502185dbf7b9b3032f66b0b142c1115f3b2cc5936575fc1b44845ce903dd4c21bec2a8d69f3bd56f9cee9ec 1740 | languageName: node 1741 | linkType: hard 1742 | 1743 | "fs.realpath@npm:^1.0.0": 1744 | version: 1.0.0 1745 | resolution: "fs.realpath@npm:1.0.0" 1746 | checksum: 10/e703107c28e362d8d7b910bbcbfd371e640a3bb45ae157a362b5952c0030c0b6d4981140ec319b347bce7adc025dd7813da1ff908a945ac214d64f5402a51b96 1747 | languageName: node 1748 | linkType: hard 1749 | 1750 | "fsevents@npm:~2.3.2": 1751 | version: 2.3.2 1752 | resolution: "fsevents@npm:2.3.2" 1753 | dependencies: 1754 | node-gyp: "npm:latest" 1755 | checksum: 10/6b5b6f5692372446ff81cf9501c76e3e0459a4852b3b5f1fc72c103198c125a6b8c72f5f166bdd76ffb2fca261e7f6ee5565daf80dca6e571e55bcc589cc1256 1756 | conditions: os=darwin 1757 | languageName: node 1758 | linkType: hard 1759 | 1760 | "fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": 1761 | version: 2.3.2 1762 | resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" 1763 | dependencies: 1764 | node-gyp: "npm:latest" 1765 | conditions: os=darwin 1766 | languageName: node 1767 | linkType: hard 1768 | 1769 | "fstream@npm:^1.0.12": 1770 | version: 1.0.12 1771 | resolution: "fstream@npm:1.0.12" 1772 | dependencies: 1773 | graceful-fs: "npm:^4.1.2" 1774 | inherits: "npm:~2.0.0" 1775 | mkdirp: "npm:>=0.5 0" 1776 | rimraf: "npm:2" 1777 | checksum: 10/eadba4375e952f3f7e9d34d822cfa1592134173033bafef42aa23d5f09bf373e4eb77e097883c0a9136ad7e7d3b49bb14f0e8dfaa489abd5139b5a3c961787b6 1778 | languageName: node 1779 | linkType: hard 1780 | 1781 | "function-bind@npm:^1.1.1": 1782 | version: 1.1.1 1783 | resolution: "function-bind@npm:1.1.1" 1784 | checksum: 10/d83f2968030678f0b8c3f2183d63dcd969344eb8b55b4eb826a94ccac6de8b87c95bebffda37a6386c74f152284eb02956ff2c496897f35d32bdc2628ac68ac5 1785 | languageName: node 1786 | linkType: hard 1787 | 1788 | "functional-red-black-tree@npm:^1.0.1": 1789 | version: 1.0.1 1790 | resolution: "functional-red-black-tree@npm:1.0.1" 1791 | checksum: 10/debe73e92204341d1fa5f89614e44284d3add26dee660722978d8c50829170f87d1c74768f68c251d215ae461c11db7bac13101c77f4146ff051da75466f7a12 1792 | languageName: node 1793 | linkType: hard 1794 | 1795 | "gauge@npm:^4.0.3": 1796 | version: 4.0.4 1797 | resolution: "gauge@npm:4.0.4" 1798 | dependencies: 1799 | aproba: "npm:^1.0.3 || ^2.0.0" 1800 | color-support: "npm:^1.1.3" 1801 | console-control-strings: "npm:^1.1.0" 1802 | has-unicode: "npm:^2.0.1" 1803 | signal-exit: "npm:^3.0.7" 1804 | string-width: "npm:^4.2.3" 1805 | strip-ansi: "npm:^6.0.1" 1806 | wide-align: "npm:^1.1.5" 1807 | checksum: 10/09535dd53b5ced6a34482b1fa9f3929efdeac02f9858569cde73cef3ed95050e0f3d095706c1689614059898924b7a74aa14042f51381a1ccc4ee5c29d2389c4 1808 | languageName: node 1809 | linkType: hard 1810 | 1811 | "get-caller-file@npm:^2.0.5": 1812 | version: 2.0.5 1813 | resolution: "get-caller-file@npm:2.0.5" 1814 | checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 1815 | languageName: node 1816 | linkType: hard 1817 | 1818 | "get-intrinsic@npm:^1.0.2": 1819 | version: 1.1.2 1820 | resolution: "get-intrinsic@npm:1.1.2" 1821 | dependencies: 1822 | function-bind: "npm:^1.1.1" 1823 | has: "npm:^1.0.3" 1824 | has-symbols: "npm:^1.0.3" 1825 | checksum: 10/0364e4d4538486672d3125ca6e3e3ce30f1ac0eebfbaed1ffb27f588697a49b9d8ccf9e9fc30b915663942f5c24063cfd81008d13d02c9358f72b3c70b4c74f4 1826 | languageName: node 1827 | linkType: hard 1828 | 1829 | "github-from-package@npm:0.0.0": 1830 | version: 0.0.0 1831 | resolution: "github-from-package@npm:0.0.0" 1832 | checksum: 10/2a091ba07fbce22205642543b4ea8aaf068397e1433c00ae0f9de36a3607baf5bcc14da97fbb798cfca6393b3c402031fca06d8b491a44206d6efef391c58537 1833 | languageName: node 1834 | linkType: hard 1835 | 1836 | "glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": 1837 | version: 5.1.2 1838 | resolution: "glob-parent@npm:5.1.2" 1839 | dependencies: 1840 | is-glob: "npm:^4.0.1" 1841 | checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247 1842 | languageName: node 1843 | linkType: hard 1844 | 1845 | "glob-parent@npm:^6.0.2": 1846 | version: 6.0.2 1847 | resolution: "glob-parent@npm:6.0.2" 1848 | dependencies: 1849 | is-glob: "npm:^4.0.3" 1850 | checksum: 10/c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 1851 | languageName: node 1852 | linkType: hard 1853 | 1854 | "glob@npm:7.2.0": 1855 | version: 7.2.0 1856 | resolution: "glob@npm:7.2.0" 1857 | dependencies: 1858 | fs.realpath: "npm:^1.0.0" 1859 | inflight: "npm:^1.0.4" 1860 | inherits: "npm:2" 1861 | minimatch: "npm:^3.0.4" 1862 | once: "npm:^1.3.0" 1863 | path-is-absolute: "npm:^1.0.0" 1864 | checksum: 10/bc78b6ea0735b6e23d20678aba4ae6a4760e8c9527e3c4683ac25b14e70f55f9531245dcf25959b70cbc4aa3dcce1fc37ab65fd026a4cbd70aa3a44880bd396b 1865 | languageName: node 1866 | linkType: hard 1867 | 1868 | "glob@npm:^10.3.3": 1869 | version: 10.3.10 1870 | resolution: "glob@npm:10.3.10" 1871 | dependencies: 1872 | foreground-child: "npm:^3.1.0" 1873 | jackspeak: "npm:^2.3.5" 1874 | minimatch: "npm:^9.0.1" 1875 | minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" 1876 | path-scurry: "npm:^1.10.1" 1877 | bin: 1878 | glob: dist/esm/bin.mjs 1879 | checksum: 10/38bdb2c9ce75eb5ed168f309d4ed05b0798f640b637034800a6bf306f39d35409bf278b0eaaffaec07591085d3acb7184a201eae791468f0f617771c2486a6a8 1880 | languageName: node 1881 | linkType: hard 1882 | 1883 | "glob@npm:^7.0.6, glob@npm:^7.1.3, glob@npm:^7.1.4": 1884 | version: 7.2.3 1885 | resolution: "glob@npm:7.2.3" 1886 | dependencies: 1887 | fs.realpath: "npm:^1.0.0" 1888 | inflight: "npm:^1.0.4" 1889 | inherits: "npm:2" 1890 | minimatch: "npm:^3.1.1" 1891 | once: "npm:^1.3.0" 1892 | path-is-absolute: "npm:^1.0.0" 1893 | checksum: 10/59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b 1894 | languageName: node 1895 | linkType: hard 1896 | 1897 | "glob@npm:^8.0.1": 1898 | version: 8.0.3 1899 | resolution: "glob@npm:8.0.3" 1900 | dependencies: 1901 | fs.realpath: "npm:^1.0.0" 1902 | inflight: "npm:^1.0.4" 1903 | inherits: "npm:2" 1904 | minimatch: "npm:^5.0.1" 1905 | once: "npm:^1.3.0" 1906 | checksum: 10/cd002c04010ffddba426376c3046466b923b5450f89a434e6a9df6bfec369a4e907afc436303d7fbc34366dcf37056dcc3bec41e41ce983ed8d78b6035ecc317 1907 | languageName: node 1908 | linkType: hard 1909 | 1910 | "globals@npm:^13.15.0": 1911 | version: 13.15.0 1912 | resolution: "globals@npm:13.15.0" 1913 | dependencies: 1914 | type-fest: "npm:^0.20.2" 1915 | checksum: 10/0c351db3a272be2a986dc45421b8bf7d4dc9942df692bc77e028b7c8a894f1f340dc389cbef2adc2617d27eaedaaaa19753a4a6e55a3519f01ccf92ee6614308 1916 | languageName: node 1917 | linkType: hard 1918 | 1919 | "globby@npm:^11.1.0": 1920 | version: 11.1.0 1921 | resolution: "globby@npm:11.1.0" 1922 | dependencies: 1923 | array-union: "npm:^2.1.0" 1924 | dir-glob: "npm:^3.0.1" 1925 | fast-glob: "npm:^3.2.9" 1926 | ignore: "npm:^5.2.0" 1927 | merge2: "npm:^1.4.1" 1928 | slash: "npm:^3.0.0" 1929 | checksum: 10/288e95e310227bbe037076ea81b7c2598ccbc3122d87abc6dab39e1eec309aa14f0e366a98cdc45237ffcfcbad3db597778c0068217dcb1950fef6249104e1b1 1930 | languageName: node 1931 | linkType: hard 1932 | 1933 | "graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.6": 1934 | version: 4.2.10 1935 | resolution: "graceful-fs@npm:4.2.10" 1936 | checksum: 10/0c83c52b62c68a944dcfb9d66b0f9f10f7d6e3d081e8067b9bfdc9e5f3a8896584d576036f82915773189eec1eba599397fc620e75c03c0610fb3d67c6713c1a 1937 | languageName: node 1938 | linkType: hard 1939 | 1940 | "grapheme-splitter@npm:^1.0.4": 1941 | version: 1.0.4 1942 | resolution: "grapheme-splitter@npm:1.0.4" 1943 | checksum: 10/fdb2f51fd430ce881e18e44c4934ad30e59736e46213f7ad35ea5970a9ebdf7d0fe56150d15cc98230d55d2fd48c73dc6781494c38d8cf2405718366c36adb88 1944 | languageName: node 1945 | linkType: hard 1946 | 1947 | "growl@npm:1.10.5": 1948 | version: 1.10.5 1949 | resolution: "growl@npm:1.10.5" 1950 | checksum: 10/1391a9add951964de566adc0aee8b0e2b2321e768c1fdccb7a8e156d6a6cd7ea72782883ba8c2c307baf524e3059519423b72e585eba5e7a5f6e83a1e2359b0d 1951 | languageName: node 1952 | linkType: hard 1953 | 1954 | "has-flag@npm:^3.0.0": 1955 | version: 3.0.0 1956 | resolution: "has-flag@npm:3.0.0" 1957 | checksum: 10/4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b 1958 | languageName: node 1959 | linkType: hard 1960 | 1961 | "has-flag@npm:^4.0.0": 1962 | version: 4.0.0 1963 | resolution: "has-flag@npm:4.0.0" 1964 | checksum: 10/261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad 1965 | languageName: node 1966 | linkType: hard 1967 | 1968 | "has-symbols@npm:^1.0.3": 1969 | version: 1.0.3 1970 | resolution: "has-symbols@npm:1.0.3" 1971 | checksum: 10/464f97a8202a7690dadd026e6d73b1ceeddd60fe6acfd06151106f050303eaa75855aaa94969df8015c11ff7c505f196114d22f7386b4a471038da5874cf5e9b 1972 | languageName: node 1973 | linkType: hard 1974 | 1975 | "has-unicode@npm:^2.0.1": 1976 | version: 2.0.1 1977 | resolution: "has-unicode@npm:2.0.1" 1978 | checksum: 10/041b4293ad6bf391e21c5d85ed03f412506d6623786b801c4ab39e4e6ca54993f13201bceb544d92963f9e0024e6e7fbf0cb1d84c9d6b31cb9c79c8c990d13d8 1979 | languageName: node 1980 | linkType: hard 1981 | 1982 | "has@npm:^1.0.3": 1983 | version: 1.0.3 1984 | resolution: "has@npm:1.0.3" 1985 | dependencies: 1986 | function-bind: "npm:^1.1.1" 1987 | checksum: 10/a449f3185b1d165026e8d25f6a8c3390bd25c201ff4b8c1aaf948fc6a5fcfd6507310b8c00c13a3325795ea9791fcc3d79d61eafa313b5750438fc19183df57b 1988 | languageName: node 1989 | linkType: hard 1990 | 1991 | "he@npm:1.2.0": 1992 | version: 1.2.0 1993 | resolution: "he@npm:1.2.0" 1994 | bin: 1995 | he: bin/he 1996 | checksum: 10/d09b2243da4e23f53336e8de3093e5c43d2c39f8d0d18817abfa32ce3e9355391b2edb4bb5edc376aea5d4b0b59d6a0482aab4c52bc02ef95751e4b818e847f1 1997 | languageName: node 1998 | linkType: hard 1999 | 2000 | "hosted-git-info@npm:^4.0.2": 2001 | version: 4.1.0 2002 | resolution: "hosted-git-info@npm:4.1.0" 2003 | dependencies: 2004 | lru-cache: "npm:^6.0.0" 2005 | checksum: 10/4dc67022b7ecb12829966bd731fb9a5f14d351547aafc6520ef3c8e7211f4f0e69452d24e29eae3d9b17df924d660052e53d8ca321cf3008418fb7e6c7c47d6f 2006 | languageName: node 2007 | linkType: hard 2008 | 2009 | "htmlparser2@npm:^8.0.1": 2010 | version: 8.0.1 2011 | resolution: "htmlparser2@npm:8.0.1" 2012 | dependencies: 2013 | domelementtype: "npm:^2.3.0" 2014 | domhandler: "npm:^5.0.2" 2015 | domutils: "npm:^3.0.1" 2016 | entities: "npm:^4.3.0" 2017 | checksum: 10/f891041c331ef7ef300f1e8f0e6756d663cf8096f8a343a1bf474e7a5ce34fe7cd71b9dfb0227277f7de2007e847ef2a447e8b48eab592d6f3631aae18301d22 2018 | languageName: node 2019 | linkType: hard 2020 | 2021 | "http-cache-semantics@npm:^4.1.0": 2022 | version: 4.1.0 2023 | resolution: "http-cache-semantics@npm:4.1.0" 2024 | checksum: 10/c9c29508b27c1d81ba78fc1df45dc142dfc039a0871e596db0a2257f08c7e9de16be6a61c3a7c90f4cb0e7dfc1c0277ed8a1ea4bc700b07d4e91ff403ca46d9e 2025 | languageName: node 2026 | linkType: hard 2027 | 2028 | "http-proxy-agent@npm:^4.0.1": 2029 | version: 4.0.1 2030 | resolution: "http-proxy-agent@npm:4.0.1" 2031 | dependencies: 2032 | "@tootallnate/once": "npm:1" 2033 | agent-base: "npm:6" 2034 | debug: "npm:4" 2035 | checksum: 10/2e17f5519f2f2740b236d1d14911ea4be170c67419dc15b05ea9a860a22c5d9c6ff4da270972117067cc2cefeba9df5f7cd5e7818fdc6ae52b6acf2a533e5fdd 2036 | languageName: node 2037 | linkType: hard 2038 | 2039 | "http-proxy-agent@npm:^5.0.0": 2040 | version: 5.0.0 2041 | resolution: "http-proxy-agent@npm:5.0.0" 2042 | dependencies: 2043 | "@tootallnate/once": "npm:2" 2044 | agent-base: "npm:6" 2045 | debug: "npm:4" 2046 | checksum: 10/5ee19423bc3e0fd5f23ce991b0755699ad2a46a440ce9cec99e8126bb98448ad3479d2c0ea54be5519db5b19a4ffaa69616bac01540db18506dd4dac3dc418f0 2047 | languageName: node 2048 | linkType: hard 2049 | 2050 | "https-proxy-agent@npm:^5.0.0": 2051 | version: 5.0.1 2052 | resolution: "https-proxy-agent@npm:5.0.1" 2053 | dependencies: 2054 | agent-base: "npm:6" 2055 | debug: "npm:4" 2056 | checksum: 10/f0dce7bdcac5e8eaa0be3c7368bb8836ed010fb5b6349ffb412b172a203efe8f807d9a6681319105ea1b6901e1972c7b5ea899672a7b9aad58309f766dcbe0df 2057 | languageName: node 2058 | linkType: hard 2059 | 2060 | "humanize-ms@npm:^1.2.1": 2061 | version: 1.2.1 2062 | resolution: "humanize-ms@npm:1.2.1" 2063 | dependencies: 2064 | ms: "npm:^2.0.0" 2065 | checksum: 10/9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 2066 | languageName: node 2067 | linkType: hard 2068 | 2069 | "iconv-lite@npm:^0.6.2": 2070 | version: 0.6.3 2071 | resolution: "iconv-lite@npm:0.6.3" 2072 | dependencies: 2073 | safer-buffer: "npm:>= 2.1.2 < 3.0.0" 2074 | checksum: 10/24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f 2075 | languageName: node 2076 | linkType: hard 2077 | 2078 | "ieee754@npm:^1.1.13": 2079 | version: 1.2.1 2080 | resolution: "ieee754@npm:1.2.1" 2081 | checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4 2082 | languageName: node 2083 | linkType: hard 2084 | 2085 | "ignore@npm:^5.2.0": 2086 | version: 5.2.0 2087 | resolution: "ignore@npm:5.2.0" 2088 | checksum: 10/30283f05fb7d867ee0e08faebb3e69caba2c6c55092042cd061eac1b37a3e78db72bfcfbb08b3598999344fba3d93a9c693b5401da5faaecc0fb7c2dce87beb4 2089 | languageName: node 2090 | linkType: hard 2091 | 2092 | "import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": 2093 | version: 3.3.0 2094 | resolution: "import-fresh@npm:3.3.0" 2095 | dependencies: 2096 | parent-module: "npm:^1.0.0" 2097 | resolve-from: "npm:^4.0.0" 2098 | checksum: 10/2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa 2099 | languageName: node 2100 | linkType: hard 2101 | 2102 | "imurmurhash@npm:^0.1.4": 2103 | version: 0.1.4 2104 | resolution: "imurmurhash@npm:0.1.4" 2105 | checksum: 10/2d30b157a91fe1c1d7c6f653cbf263f039be6c5bfa959245a16d4ee191fc0f2af86c08545b6e6beeb041c56b574d2d5b9f95343d378ab49c0f37394d541e7fc8 2106 | languageName: node 2107 | linkType: hard 2108 | 2109 | "indent-string@npm:^4.0.0": 2110 | version: 4.0.0 2111 | resolution: "indent-string@npm:4.0.0" 2112 | checksum: 10/cd3f5cbc9ca2d624c6a1f53f12e6b341659aba0e2d3254ae2b4464aaea8b4294cdb09616abbc59458f980531f2429784ed6a420d48d245bcad0811980c9efae9 2113 | languageName: node 2114 | linkType: hard 2115 | 2116 | "infer-owner@npm:^1.0.4": 2117 | version: 1.0.4 2118 | resolution: "infer-owner@npm:1.0.4" 2119 | checksum: 10/181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 2120 | languageName: node 2121 | linkType: hard 2122 | 2123 | "inflight@npm:^1.0.4": 2124 | version: 1.0.6 2125 | resolution: "inflight@npm:1.0.6" 2126 | dependencies: 2127 | once: "npm:^1.3.0" 2128 | wrappy: "npm:1" 2129 | checksum: 10/d2ebd65441a38c8336c223d1b80b921b9fa737e37ea466fd7e253cb000c64ae1f17fa59e68130ef5bda92cfd8d36b83d37dab0eb0a4558bcfec8e8cdfd2dcb67 2130 | languageName: node 2131 | linkType: hard 2132 | 2133 | "inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.0, inherits@npm:~2.0.3": 2134 | version: 2.0.4 2135 | resolution: "inherits@npm:2.0.4" 2136 | checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 2137 | languageName: node 2138 | linkType: hard 2139 | 2140 | "ini@npm:~1.3.0": 2141 | version: 1.3.8 2142 | resolution: "ini@npm:1.3.8" 2143 | checksum: 10/314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566 2144 | languageName: node 2145 | linkType: hard 2146 | 2147 | "ip@npm:^2.0.0": 2148 | version: 2.0.0 2149 | resolution: "ip@npm:2.0.0" 2150 | checksum: 10/1270b11e534a466fb4cf4426cbcc3a907c429389f7f4e4e3b288b42823562e88d6a509ceda8141a507de147ca506141f745005c0aa144569d94cf24a54eb52bc 2151 | languageName: node 2152 | linkType: hard 2153 | 2154 | "is-binary-path@npm:~2.1.0": 2155 | version: 2.1.0 2156 | resolution: "is-binary-path@npm:2.1.0" 2157 | dependencies: 2158 | binary-extensions: "npm:^2.0.0" 2159 | checksum: 10/078e51b4f956c2c5fd2b26bb2672c3ccf7e1faff38e0ebdba45612265f4e3d9fc3127a1fa8370bbf09eab61339203c3d3b7af5662cbf8be4030f8fac37745b0e 2160 | languageName: node 2161 | linkType: hard 2162 | 2163 | "is-ci@npm:^2.0.0": 2164 | version: 2.0.0 2165 | resolution: "is-ci@npm:2.0.0" 2166 | dependencies: 2167 | ci-info: "npm:^2.0.0" 2168 | bin: 2169 | is-ci: bin.js 2170 | checksum: 10/77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 2171 | languageName: node 2172 | linkType: hard 2173 | 2174 | "is-extglob@npm:^2.1.1": 2175 | version: 2.1.1 2176 | resolution: "is-extglob@npm:2.1.1" 2177 | checksum: 10/df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 2178 | languageName: node 2179 | linkType: hard 2180 | 2181 | "is-fullwidth-code-point@npm:^3.0.0": 2182 | version: 3.0.0 2183 | resolution: "is-fullwidth-code-point@npm:3.0.0" 2184 | checksum: 10/44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 2185 | languageName: node 2186 | linkType: hard 2187 | 2188 | "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": 2189 | version: 4.0.3 2190 | resolution: "is-glob@npm:4.0.3" 2191 | dependencies: 2192 | is-extglob: "npm:^2.1.1" 2193 | checksum: 10/3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11 2194 | languageName: node 2195 | linkType: hard 2196 | 2197 | "is-lambda@npm:^1.0.1": 2198 | version: 1.0.1 2199 | resolution: "is-lambda@npm:1.0.1" 2200 | checksum: 10/93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 2201 | languageName: node 2202 | linkType: hard 2203 | 2204 | "is-number@npm:^7.0.0": 2205 | version: 7.0.0 2206 | resolution: "is-number@npm:7.0.0" 2207 | checksum: 10/6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86 2208 | languageName: node 2209 | linkType: hard 2210 | 2211 | "is-path-inside@npm:^3.0.3": 2212 | version: 3.0.3 2213 | resolution: "is-path-inside@npm:3.0.3" 2214 | checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 2215 | languageName: node 2216 | linkType: hard 2217 | 2218 | "is-plain-obj@npm:^2.1.0": 2219 | version: 2.1.0 2220 | resolution: "is-plain-obj@npm:2.1.0" 2221 | checksum: 10/cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa 2222 | languageName: node 2223 | linkType: hard 2224 | 2225 | "is-unicode-supported@npm:^0.1.0": 2226 | version: 0.1.0 2227 | resolution: "is-unicode-supported@npm:0.1.0" 2228 | checksum: 10/a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 2229 | languageName: node 2230 | linkType: hard 2231 | 2232 | "isarray@npm:~1.0.0": 2233 | version: 1.0.0 2234 | resolution: "isarray@npm:1.0.0" 2235 | checksum: 10/f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab 2236 | languageName: node 2237 | linkType: hard 2238 | 2239 | "isexe@npm:^2.0.0": 2240 | version: 2.0.0 2241 | resolution: "isexe@npm:2.0.0" 2242 | checksum: 10/7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92 2243 | languageName: node 2244 | linkType: hard 2245 | 2246 | "jackspeak@npm:^2.3.5": 2247 | version: 2.3.6 2248 | resolution: "jackspeak@npm:2.3.6" 2249 | dependencies: 2250 | "@isaacs/cliui": "npm:^8.0.2" 2251 | "@pkgjs/parseargs": "npm:^0.11.0" 2252 | dependenciesMeta: 2253 | "@pkgjs/parseargs": 2254 | optional: true 2255 | checksum: 10/6e6490d676af8c94a7b5b29b8fd5629f21346911ebe2e32931c2a54210134408171c24cee1a109df2ec19894ad04a429402a8438cbf5cc2794585d35428ace76 2256 | languageName: node 2257 | linkType: hard 2258 | 2259 | "js-sdsl@npm:^4.1.4": 2260 | version: 4.2.0 2261 | resolution: "js-sdsl@npm:4.2.0" 2262 | checksum: 10/ee6cb82a28852880e84001226fcdf2f1d9b7309ce31c0c907ddd9b3009205ddc0884babd2baa2f35008f5bfff4ba01aa1bf1c00abc2049f6738be03ebf29cf86 2263 | languageName: node 2264 | linkType: hard 2265 | 2266 | "js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": 2267 | version: 4.1.0 2268 | resolution: "js-yaml@npm:4.1.0" 2269 | dependencies: 2270 | argparse: "npm:^2.0.1" 2271 | bin: 2272 | js-yaml: bin/js-yaml.js 2273 | checksum: 10/c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140 2274 | languageName: node 2275 | linkType: hard 2276 | 2277 | "json-schema-traverse@npm:^0.4.1": 2278 | version: 0.4.1 2279 | resolution: "json-schema-traverse@npm:0.4.1" 2280 | checksum: 10/7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b 2281 | languageName: node 2282 | linkType: hard 2283 | 2284 | "json-stable-stringify-without-jsonify@npm:^1.0.1": 2285 | version: 1.0.1 2286 | resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" 2287 | checksum: 10/12786c2e2f22c27439e6db0532ba321f1d0617c27ad8cb1c352a0e9249a50182fd1ba8b52a18899291604b0c32eafa8afd09e51203f19109a0537f68db2b652d 2288 | languageName: node 2289 | linkType: hard 2290 | 2291 | "jsonc-parser@npm:^3.2.0": 2292 | version: 3.2.0 2293 | resolution: "jsonc-parser@npm:3.2.0" 2294 | checksum: 10/bd68b902e5f9394f01da97921f49c5084b2dc03a0c5b4fdb2a429f8d6f292686c1bf87badaeb0a8148d024192a88f5ad2e57b2918ba43fe25cf15f3371db64d4 2295 | languageName: node 2296 | linkType: hard 2297 | 2298 | "jsonfile@npm:^6.0.1": 2299 | version: 6.1.0 2300 | resolution: "jsonfile@npm:6.1.0" 2301 | dependencies: 2302 | graceful-fs: "npm:^4.1.6" 2303 | universalify: "npm:^2.0.0" 2304 | dependenciesMeta: 2305 | graceful-fs: 2306 | optional: true 2307 | checksum: 10/03014769e7dc77d4cf05fa0b534907270b60890085dd5e4d60a382ff09328580651da0b8b4cdf44d91e4c8ae64d91791d965f05707beff000ed494a38b6fec85 2308 | languageName: node 2309 | linkType: hard 2310 | 2311 | "keytar@npm:^7.7.0": 2312 | version: 7.9.0 2313 | resolution: "keytar@npm:7.9.0" 2314 | dependencies: 2315 | node-addon-api: "npm:^4.3.0" 2316 | node-gyp: "npm:latest" 2317 | prebuild-install: "npm:^7.0.1" 2318 | checksum: 10/904795bc304f8ad89b80f915c869a941a383312b58584212a199473d18647035cfda92a9c53e6c53bf13ea0fed23037c9597eb418a5c71ee9454f140f026fac9 2319 | languageName: node 2320 | linkType: hard 2321 | 2322 | "laravel-pint@workspace:.": 2323 | version: 0.0.0-use.local 2324 | resolution: "laravel-pint@workspace:." 2325 | dependencies: 2326 | "@types/command-exists": "npm:^1.2.0" 2327 | "@types/fs-extra": "npm:^9.0.13" 2328 | "@types/glob": "npm:^8.0.0" 2329 | "@types/mocha": "npm:^9.1.1" 2330 | "@types/node": "npm:18.x" 2331 | "@types/vscode": "npm:^1.82.0" 2332 | "@typescript-eslint/eslint-plugin": "npm:^5.12.1" 2333 | "@typescript-eslint/parser": "npm:^5.12.1" 2334 | "@vscode/test-electron": "npm:^2.1.2" 2335 | "@vscode/vsce": "npm:^2.19.0" 2336 | command-exists: "npm:^1.2.9" 2337 | esbuild: "npm:^0.15.15" 2338 | eslint: "npm:^8.28.0" 2339 | fs-extra: "npm:^10.1.0" 2340 | glob: "npm:^10.3.3" 2341 | mocha: "npm:^9.2.2" 2342 | node-fetch: "npm:^3.3.0" 2343 | ovsx: "npm:^0.5.2" 2344 | typescript: "npm:^4.9.3" 2345 | languageName: unknown 2346 | linkType: soft 2347 | 2348 | "leven@npm:^3.1.0": 2349 | version: 3.1.0 2350 | resolution: "leven@npm:3.1.0" 2351 | checksum: 10/638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 2352 | languageName: node 2353 | linkType: hard 2354 | 2355 | "levn@npm:^0.4.1": 2356 | version: 0.4.1 2357 | resolution: "levn@npm:0.4.1" 2358 | dependencies: 2359 | prelude-ls: "npm:^1.2.1" 2360 | type-check: "npm:~0.4.0" 2361 | checksum: 10/2e4720ff79f21ae08d42374b0a5c2f664c5be8b6c8f565bb4e1315c96ed3a8acaa9de788ffed82d7f2378cf36958573de07ef92336cb5255ed74d08b8318c9ee 2362 | languageName: node 2363 | linkType: hard 2364 | 2365 | "linkify-it@npm:^3.0.1": 2366 | version: 3.0.3 2367 | resolution: "linkify-it@npm:3.0.3" 2368 | dependencies: 2369 | uc.micro: "npm:^1.0.1" 2370 | checksum: 10/1ed466b02ad361bb5e5b94a81232fc126890751038bf3e61f648f4ccb01e5e096bba66c3eff3d21ed5e3da738de0dc29783afedf0255733669889aa09d49e47e 2371 | languageName: node 2372 | linkType: hard 2373 | 2374 | "listenercount@npm:~1.0.1": 2375 | version: 1.0.1 2376 | resolution: "listenercount@npm:1.0.1" 2377 | checksum: 10/208c6d2b57dc16c22cc71b58a7debb6f4612a79de211b76e251efee8eb03b9f6acd4651399016ef9c15ff6a3dedfd7acc96064acddce0dbe627e2d8478034d3d 2378 | languageName: node 2379 | linkType: hard 2380 | 2381 | "locate-path@npm:^6.0.0": 2382 | version: 6.0.0 2383 | resolution: "locate-path@npm:6.0.0" 2384 | dependencies: 2385 | p-locate: "npm:^5.0.0" 2386 | checksum: 10/72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a 2387 | languageName: node 2388 | linkType: hard 2389 | 2390 | "lodash.merge@npm:^4.6.2": 2391 | version: 4.6.2 2392 | resolution: "lodash.merge@npm:4.6.2" 2393 | checksum: 10/d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6 2394 | languageName: node 2395 | linkType: hard 2396 | 2397 | "log-symbols@npm:4.1.0": 2398 | version: 4.1.0 2399 | resolution: "log-symbols@npm:4.1.0" 2400 | dependencies: 2401 | chalk: "npm:^4.1.0" 2402 | is-unicode-supported: "npm:^0.1.0" 2403 | checksum: 10/fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 2404 | languageName: node 2405 | linkType: hard 2406 | 2407 | "lru-cache@npm:^6.0.0": 2408 | version: 6.0.0 2409 | resolution: "lru-cache@npm:6.0.0" 2410 | dependencies: 2411 | yallist: "npm:^4.0.0" 2412 | checksum: 10/fc1fe2ee205f7c8855fa0f34c1ab0bcf14b6229e35579ec1fd1079f31d6fc8ef8eb6fd17f2f4d99788d7e339f50e047555551ebd5e434dda503696e7c6591825 2413 | languageName: node 2414 | linkType: hard 2415 | 2416 | "lru-cache@npm:^7.7.1": 2417 | version: 7.13.1 2418 | resolution: "lru-cache@npm:7.13.1" 2419 | checksum: 10/81ebb3f1fd3e1d3c32762a58c5964364220fc4b413f5180588b74473bd9a075cdafee32421f8ee6105148c8986d183bf40539017dea03abed32f4e1e59bf2654 2420 | languageName: node 2421 | linkType: hard 2422 | 2423 | "lru-cache@npm:^9.1.1 || ^10.0.0": 2424 | version: 10.1.0 2425 | resolution: "lru-cache@npm:10.1.0" 2426 | checksum: 10/207278d6fa711fb1f94a0835d4d4737441d2475302482a14785b10515e4c906a57ebf9f35bf060740c9560e91c7c1ad5a04fd7ed030972a9ba18bce2a228e95b 2427 | languageName: node 2428 | linkType: hard 2429 | 2430 | "make-fetch-happen@npm:^10.0.3": 2431 | version: 10.2.0 2432 | resolution: "make-fetch-happen@npm:10.2.0" 2433 | dependencies: 2434 | agentkeepalive: "npm:^4.2.1" 2435 | cacache: "npm:^16.1.0" 2436 | http-cache-semantics: "npm:^4.1.0" 2437 | http-proxy-agent: "npm:^5.0.0" 2438 | https-proxy-agent: "npm:^5.0.0" 2439 | is-lambda: "npm:^1.0.1" 2440 | lru-cache: "npm:^7.7.1" 2441 | minipass: "npm:^3.1.6" 2442 | minipass-collect: "npm:^1.0.2" 2443 | minipass-fetch: "npm:^2.0.3" 2444 | minipass-flush: "npm:^1.0.5" 2445 | minipass-pipeline: "npm:^1.2.4" 2446 | negotiator: "npm:^0.6.3" 2447 | promise-retry: "npm:^2.0.1" 2448 | socks-proxy-agent: "npm:^7.0.0" 2449 | ssri: "npm:^9.0.0" 2450 | checksum: 10/a16bd66094f3acde081f6a7a8dd3fa39ec20a61e7df6a55d37b07337b30aa4492695d63a64d882601a628b37cdb91bf1c9d2bea1df551708ac9237ff16dd6699 2451 | languageName: node 2452 | linkType: hard 2453 | 2454 | "markdown-it@npm:^12.3.2": 2455 | version: 12.3.2 2456 | resolution: "markdown-it@npm:12.3.2" 2457 | dependencies: 2458 | argparse: "npm:^2.0.1" 2459 | entities: "npm:~2.1.0" 2460 | linkify-it: "npm:^3.0.1" 2461 | mdurl: "npm:^1.0.1" 2462 | uc.micro: "npm:^1.0.5" 2463 | bin: 2464 | markdown-it: bin/markdown-it.js 2465 | checksum: 10/d83d794bfb9f5e05750b25db401d9c1f9b97c6bbabb6cfd78988bb98652c62c24417435487238e2b91fd4e495547ae8c9429fb4c69e9f5bf49bd0dd292d53f24 2466 | languageName: node 2467 | linkType: hard 2468 | 2469 | "mdurl@npm:^1.0.1": 2470 | version: 1.0.1 2471 | resolution: "mdurl@npm:1.0.1" 2472 | checksum: 10/ada367d01c9e81d07328101f187d5bd8641b71f33eab075df4caed935a24fa679e625f07108801d8250a5e4a99e5cd4be7679957a11424a3aa3e740d2bb2d5cb 2473 | languageName: node 2474 | linkType: hard 2475 | 2476 | "merge2@npm:^1.3.0, merge2@npm:^1.4.1": 2477 | version: 1.4.1 2478 | resolution: "merge2@npm:1.4.1" 2479 | checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 2480 | languageName: node 2481 | linkType: hard 2482 | 2483 | "micromatch@npm:^4.0.4": 2484 | version: 4.0.5 2485 | resolution: "micromatch@npm:4.0.5" 2486 | dependencies: 2487 | braces: "npm:^3.0.2" 2488 | picomatch: "npm:^2.3.1" 2489 | checksum: 10/a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2 2490 | languageName: node 2491 | linkType: hard 2492 | 2493 | "mime@npm:^1.3.4": 2494 | version: 1.6.0 2495 | resolution: "mime@npm:1.6.0" 2496 | bin: 2497 | mime: cli.js 2498 | checksum: 10/b7d98bb1e006c0e63e2c91b590fe1163b872abf8f7ef224d53dd31499c2197278a6d3d0864c45239b1a93d22feaf6f9477e9fc847eef945838150b8c02d03170 2499 | languageName: node 2500 | linkType: hard 2501 | 2502 | "mimic-response@npm:^3.1.0": 2503 | version: 3.1.0 2504 | resolution: "mimic-response@npm:3.1.0" 2505 | checksum: 10/7e719047612411fe071332a7498cf0448bbe43c485c0d780046c76633a771b223ff49bd00267be122cedebb897037fdb527df72335d0d0f74724604ca70b37ad 2506 | languageName: node 2507 | linkType: hard 2508 | 2509 | "minimatch@npm:4.2.1": 2510 | version: 4.2.1 2511 | resolution: "minimatch@npm:4.2.1" 2512 | dependencies: 2513 | brace-expansion: "npm:^1.1.7" 2514 | checksum: 10/27e49fb720116face9588c29634404edc0c6677e5448ba01b4ec6179002461cc4fabc842497a0537edc5aa87bc93e65cfb0fe6dc32b850563429a64836dd1d54 2515 | languageName: node 2516 | linkType: hard 2517 | 2518 | "minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": 2519 | version: 3.1.2 2520 | resolution: "minimatch@npm:3.1.2" 2521 | dependencies: 2522 | brace-expansion: "npm:^1.1.7" 2523 | checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634 2524 | languageName: node 2525 | linkType: hard 2526 | 2527 | "minimatch@npm:^5.0.1": 2528 | version: 5.1.0 2529 | resolution: "minimatch@npm:5.1.0" 2530 | dependencies: 2531 | brace-expansion: "npm:^2.0.1" 2532 | checksum: 10/3bcc271af1e5e95260fb9acd859628db9567a27ff1fe45b42fcf9b37f17dddbc5a23a614108755a6e076a5109969cabdc0b266ae6929fab12e679ec0f07f65ec 2533 | languageName: node 2534 | linkType: hard 2535 | 2536 | "minimatch@npm:^9.0.1": 2537 | version: 9.0.3 2538 | resolution: "minimatch@npm:9.0.3" 2539 | dependencies: 2540 | brace-expansion: "npm:^2.0.1" 2541 | checksum: 10/c81b47d28153e77521877649f4bab48348d10938df9e8147a58111fe00ef89559a2938de9f6632910c4f7bf7bb5cd81191a546167e58d357f0cfb1e18cecc1c5 2542 | languageName: node 2543 | linkType: hard 2544 | 2545 | "minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.6": 2546 | version: 1.2.6 2547 | resolution: "minimist@npm:1.2.6" 2548 | checksum: 10/b956a7d48669c5007f0afce100a92d3af18e77939a25b5b4f62e9ea07c2777033608327e14c2af85684d5cd504f623f2a04d30a4a43379d21dd3c6dcf12b8ab8 2549 | languageName: node 2550 | linkType: hard 2551 | 2552 | "minipass-collect@npm:^1.0.2": 2553 | version: 1.0.2 2554 | resolution: "minipass-collect@npm:1.0.2" 2555 | dependencies: 2556 | minipass: "npm:^3.0.0" 2557 | checksum: 10/14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 2558 | languageName: node 2559 | linkType: hard 2560 | 2561 | "minipass-fetch@npm:^2.0.3": 2562 | version: 2.1.0 2563 | resolution: "minipass-fetch@npm:2.1.0" 2564 | dependencies: 2565 | encoding: "npm:^0.1.13" 2566 | minipass: "npm:^3.1.6" 2567 | minipass-sized: "npm:^1.0.3" 2568 | minizlib: "npm:^2.1.2" 2569 | dependenciesMeta: 2570 | encoding: 2571 | optional: true 2572 | checksum: 10/33b6927ef8a4516e27878e1e9966a6dee5c2efb844584b39712a8c222cf7cc586ae00c09897ce3b21e77b6600ad4c7503f8bd732ef1a8bf98137f18c45c6d6c4 2573 | languageName: node 2574 | linkType: hard 2575 | 2576 | "minipass-flush@npm:^1.0.5": 2577 | version: 1.0.5 2578 | resolution: "minipass-flush@npm:1.0.5" 2579 | dependencies: 2580 | minipass: "npm:^3.0.0" 2581 | checksum: 10/56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf 2582 | languageName: node 2583 | linkType: hard 2584 | 2585 | "minipass-pipeline@npm:^1.2.4": 2586 | version: 1.2.4 2587 | resolution: "minipass-pipeline@npm:1.2.4" 2588 | dependencies: 2589 | minipass: "npm:^3.0.0" 2590 | checksum: 10/b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b 2591 | languageName: node 2592 | linkType: hard 2593 | 2594 | "minipass-sized@npm:^1.0.3": 2595 | version: 1.0.3 2596 | resolution: "minipass-sized@npm:1.0.3" 2597 | dependencies: 2598 | minipass: "npm:^3.0.0" 2599 | checksum: 10/40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd 2600 | languageName: node 2601 | linkType: hard 2602 | 2603 | "minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": 2604 | version: 3.3.5 2605 | resolution: "minipass@npm:3.3.5" 2606 | dependencies: 2607 | yallist: "npm:^4.0.0" 2608 | checksum: 10/9f1101740d681f62ff17f9497c50342ce6b754a7129c3f9b47b7bf06dc5a43742c508df626a2574d60a3efc50e8a45e3083b7963d51891ddb1d435d34cd15850 2609 | languageName: node 2610 | linkType: hard 2611 | 2612 | "minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": 2613 | version: 7.0.4 2614 | resolution: "minipass@npm:7.0.4" 2615 | checksum: 10/e864bd02ceb5e0707696d58f7ce3a0b89233f0d686ef0d447a66db705c0846a8dc6f34865cd85256c1472ff623665f616b90b8ff58058b2ad996c5de747d2d18 2616 | languageName: node 2617 | linkType: hard 2618 | 2619 | "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": 2620 | version: 2.1.2 2621 | resolution: "minizlib@npm:2.1.2" 2622 | dependencies: 2623 | minipass: "npm:^3.0.0" 2624 | yallist: "npm:^4.0.0" 2625 | checksum: 10/ae0f45436fb51344dcb87938446a32fbebb540d0e191d63b35e1c773d47512e17307bf54aa88326cc6d176594d00e4423563a091f7266c2f9a6872cdc1e234d1 2626 | languageName: node 2627 | linkType: hard 2628 | 2629 | "mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": 2630 | version: 0.5.3 2631 | resolution: "mkdirp-classic@npm:0.5.3" 2632 | checksum: 10/3f4e088208270bbcc148d53b73e9a5bd9eef05ad2cbf3b3d0ff8795278d50dd1d11a8ef1875ff5aea3fa888931f95bfcb2ad5b7c1061cfefd6284d199e6776ac 2633 | languageName: node 2634 | linkType: hard 2635 | 2636 | "mkdirp@npm:>=0.5 0": 2637 | version: 0.5.6 2638 | resolution: "mkdirp@npm:0.5.6" 2639 | dependencies: 2640 | minimist: "npm:^1.2.6" 2641 | bin: 2642 | mkdirp: bin/cmd.js 2643 | checksum: 10/0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2 2644 | languageName: node 2645 | linkType: hard 2646 | 2647 | "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": 2648 | version: 1.0.4 2649 | resolution: "mkdirp@npm:1.0.4" 2650 | bin: 2651 | mkdirp: bin/cmd.js 2652 | checksum: 10/d71b8dcd4b5af2fe13ecf3bd24070263489404fe216488c5ba7e38ece1f54daf219e72a833a3a2dc404331e870e9f44963a33399589490956bff003a3404d3b2 2653 | languageName: node 2654 | linkType: hard 2655 | 2656 | "mocha@npm:^9.2.2": 2657 | version: 9.2.2 2658 | resolution: "mocha@npm:9.2.2" 2659 | dependencies: 2660 | "@ungap/promise-all-settled": "npm:1.1.2" 2661 | ansi-colors: "npm:4.1.1" 2662 | browser-stdout: "npm:1.3.1" 2663 | chokidar: "npm:3.5.3" 2664 | debug: "npm:4.3.3" 2665 | diff: "npm:5.0.0" 2666 | escape-string-regexp: "npm:4.0.0" 2667 | find-up: "npm:5.0.0" 2668 | glob: "npm:7.2.0" 2669 | growl: "npm:1.10.5" 2670 | he: "npm:1.2.0" 2671 | js-yaml: "npm:4.1.0" 2672 | log-symbols: "npm:4.1.0" 2673 | minimatch: "npm:4.2.1" 2674 | ms: "npm:2.1.3" 2675 | nanoid: "npm:3.3.1" 2676 | serialize-javascript: "npm:6.0.0" 2677 | strip-json-comments: "npm:3.1.1" 2678 | supports-color: "npm:8.1.1" 2679 | which: "npm:2.0.2" 2680 | workerpool: "npm:6.2.0" 2681 | yargs: "npm:16.2.0" 2682 | yargs-parser: "npm:20.2.4" 2683 | yargs-unparser: "npm:2.0.0" 2684 | bin: 2685 | _mocha: bin/_mocha 2686 | mocha: bin/mocha 2687 | checksum: 10/8ee58bff8694ad4013fc0fbb5670c5ec6d8404c601df2d4ae798fad01dd03b5f9395347cf59167006b315a14813a6f839290d60dcbdee8ef4246afe43609d2dc 2688 | languageName: node 2689 | linkType: hard 2690 | 2691 | "ms@npm:2.1.2": 2692 | version: 2.1.2 2693 | resolution: "ms@npm:2.1.2" 2694 | checksum: 10/673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f 2695 | languageName: node 2696 | linkType: hard 2697 | 2698 | "ms@npm:2.1.3, ms@npm:^2.0.0": 2699 | version: 2.1.3 2700 | resolution: "ms@npm:2.1.3" 2701 | checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d 2702 | languageName: node 2703 | linkType: hard 2704 | 2705 | "mute-stream@npm:~0.0.4": 2706 | version: 0.0.8 2707 | resolution: "mute-stream@npm:0.0.8" 2708 | checksum: 10/a2d2e79dde87e3424ffc8c334472c7f3d17b072137734ca46e6f221131f1b014201cc593b69a38062e974fb2394d3d1cb4349f80f012bbf8b8ac1b28033e515f 2709 | languageName: node 2710 | linkType: hard 2711 | 2712 | "nanoid@npm:3.3.1": 2713 | version: 3.3.1 2714 | resolution: "nanoid@npm:3.3.1" 2715 | bin: 2716 | nanoid: bin/nanoid.cjs 2717 | checksum: 10/306f2cb9e4dcfb94738b09de9dc63839a37db33626f66b24dbcc8f66d4b91784645794a7c4f250d629e4d66f5385164c6748c58ac5b7c95217e9e048590efbe4 2718 | languageName: node 2719 | linkType: hard 2720 | 2721 | "napi-build-utils@npm:^1.0.1": 2722 | version: 1.0.2 2723 | resolution: "napi-build-utils@npm:1.0.2" 2724 | checksum: 10/276feb8e30189fe18718e85b6f82e4f952822baa2e7696f771cc42571a235b789dc5907a14d9ffb6838c3e4ff4c25717c2575e5ce1cf6e02e496e204c11e57f6 2725 | languageName: node 2726 | linkType: hard 2727 | 2728 | "natural-compare@npm:^1.4.0": 2729 | version: 1.4.0 2730 | resolution: "natural-compare@npm:1.4.0" 2731 | checksum: 10/23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d 2732 | languageName: node 2733 | linkType: hard 2734 | 2735 | "negotiator@npm:^0.6.3": 2736 | version: 0.6.3 2737 | resolution: "negotiator@npm:0.6.3" 2738 | checksum: 10/2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 2739 | languageName: node 2740 | linkType: hard 2741 | 2742 | "node-abi@npm:^3.3.0": 2743 | version: 3.22.0 2744 | resolution: "node-abi@npm:3.22.0" 2745 | dependencies: 2746 | semver: "npm:^7.3.5" 2747 | checksum: 10/937ad1300d3322a8bc9274f77c5d0fb1b4283491c28f10faa9af515b1b5f3b7ccab94425521a9d8db09abc76571ab1ab6b604bd8d1972381889ad799da2e8255 2748 | languageName: node 2749 | linkType: hard 2750 | 2751 | "node-addon-api@npm:^4.3.0": 2752 | version: 4.3.0 2753 | resolution: "node-addon-api@npm:4.3.0" 2754 | dependencies: 2755 | node-gyp: "npm:latest" 2756 | checksum: 10/d3b38d16cb9ad0714d965331d0e38cef1c27750c2c3343cd3464a9ed8158501a2910ccbf2fd9fdc476e806a19dbc9e0524ff9d66a7c779d42a9752a63ba30b80 2757 | languageName: node 2758 | linkType: hard 2759 | 2760 | "node-domexception@npm:^1.0.0": 2761 | version: 1.0.0 2762 | resolution: "node-domexception@npm:1.0.0" 2763 | checksum: 10/e332522f242348c511640c25a6fc7da4f30e09e580c70c6b13cb0be83c78c3e71c8d4665af2527e869fc96848924a4316ae7ec9014c091e2156f41739d4fa233 2764 | languageName: node 2765 | linkType: hard 2766 | 2767 | "node-fetch@npm:^3.3.0": 2768 | version: 3.3.0 2769 | resolution: "node-fetch@npm:3.3.0" 2770 | dependencies: 2771 | data-uri-to-buffer: "npm:^4.0.0" 2772 | fetch-blob: "npm:^3.1.4" 2773 | formdata-polyfill: "npm:^4.0.10" 2774 | checksum: 10/3db05df0b5643dfb70973f82e27bc4fc1e2ce8a995e1f05bb4af88a0011f170406e84dce4ed7cd5a4c385145939c81795b4fc71bc6c9d659d5750cc82dee8bc4 2775 | languageName: node 2776 | linkType: hard 2777 | 2778 | "node-gyp@npm:latest": 2779 | version: 9.1.0 2780 | resolution: "node-gyp@npm:9.1.0" 2781 | dependencies: 2782 | env-paths: "npm:^2.2.0" 2783 | glob: "npm:^7.1.4" 2784 | graceful-fs: "npm:^4.2.6" 2785 | make-fetch-happen: "npm:^10.0.3" 2786 | nopt: "npm:^5.0.0" 2787 | npmlog: "npm:^6.0.0" 2788 | rimraf: "npm:^3.0.2" 2789 | semver: "npm:^7.3.5" 2790 | tar: "npm:^6.1.2" 2791 | which: "npm:^2.0.2" 2792 | bin: 2793 | node-gyp: bin/node-gyp.js 2794 | checksum: 10/b9dddbe96507f6b9b3c46b716fea51116a9444b302e794f295bbf899bdd937390f4fcddab28cd2bc4fed2051234e8a2b81dd9b6279f5a8c0535bb72dd3daf781 2795 | languageName: node 2796 | linkType: hard 2797 | 2798 | "nopt@npm:^5.0.0": 2799 | version: 5.0.0 2800 | resolution: "nopt@npm:5.0.0" 2801 | dependencies: 2802 | abbrev: "npm:1" 2803 | bin: 2804 | nopt: bin/nopt.js 2805 | checksum: 10/00f9bb2d16449469ba8ffcf9b8f0eae6bae285ec74b135fec533e5883563d2400c0cd70902d0a7759e47ac031ccf206ace4e86556da08ed3f1c66dda206e9ccd 2806 | languageName: node 2807 | linkType: hard 2808 | 2809 | "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": 2810 | version: 3.0.0 2811 | resolution: "normalize-path@npm:3.0.0" 2812 | checksum: 10/88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 2813 | languageName: node 2814 | linkType: hard 2815 | 2816 | "npmlog@npm:^6.0.0": 2817 | version: 6.0.2 2818 | resolution: "npmlog@npm:6.0.2" 2819 | dependencies: 2820 | are-we-there-yet: "npm:^3.0.0" 2821 | console-control-strings: "npm:^1.1.0" 2822 | gauge: "npm:^4.0.3" 2823 | set-blocking: "npm:^2.0.0" 2824 | checksum: 10/82b123677e62deb9e7472e27b92386c09e6e254ee6c8bcd720b3011013e4168bc7088e984f4fbd53cb6e12f8b4690e23e4fa6132689313e0d0dc4feea45489bb 2825 | languageName: node 2826 | linkType: hard 2827 | 2828 | "nth-check@npm:^2.0.1": 2829 | version: 2.1.1 2830 | resolution: "nth-check@npm:2.1.1" 2831 | dependencies: 2832 | boolbase: "npm:^1.0.0" 2833 | checksum: 10/5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 2834 | languageName: node 2835 | linkType: hard 2836 | 2837 | "object-inspect@npm:^1.9.0": 2838 | version: 1.12.2 2839 | resolution: "object-inspect@npm:1.12.2" 2840 | checksum: 10/aa11100d45fa919b36448347d4f7c8a78b0247886881db56a2026b512c4042a9749e64894519b00a4db8c6e2b713a965b5ceaa3b59324aeb3da007c54a33bc58 2841 | languageName: node 2842 | linkType: hard 2843 | 2844 | "once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": 2845 | version: 1.4.0 2846 | resolution: "once@npm:1.4.0" 2847 | dependencies: 2848 | wrappy: "npm:1" 2849 | checksum: 10/cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 2850 | languageName: node 2851 | linkType: hard 2852 | 2853 | "optionator@npm:^0.9.1": 2854 | version: 0.9.1 2855 | resolution: "optionator@npm:0.9.1" 2856 | dependencies: 2857 | deep-is: "npm:^0.1.3" 2858 | fast-levenshtein: "npm:^2.0.6" 2859 | levn: "npm:^0.4.1" 2860 | prelude-ls: "npm:^1.2.1" 2861 | type-check: "npm:^0.4.0" 2862 | word-wrap: "npm:^1.2.3" 2863 | checksum: 10/19cfb625ba3cafd99c204744595a8b5111491632d379be341a8286c53a0101adac6f7ca9be4319ccecaaf5d43a55e65dde8b434620726032472833d958d43698 2864 | languageName: node 2865 | linkType: hard 2866 | 2867 | "ovsx@npm:^0.5.2": 2868 | version: 0.5.2 2869 | resolution: "ovsx@npm:0.5.2" 2870 | dependencies: 2871 | commander: "npm:^6.1.0" 2872 | follow-redirects: "npm:^1.14.6" 2873 | is-ci: "npm:^2.0.0" 2874 | leven: "npm:^3.1.0" 2875 | tmp: "npm:^0.2.1" 2876 | vsce: "npm:^2.6.3" 2877 | bin: 2878 | ovsx: lib/ovsx 2879 | checksum: 10/7237d40fa17e5f001f926840637fe3816980c3d03c567e5280f574df98e0da5468a3b4d0a0addeb05d40820b309a35c3bb9e20d9ebfab5064fe2f4c91024c38e 2880 | languageName: node 2881 | linkType: hard 2882 | 2883 | "p-limit@npm:^3.0.2": 2884 | version: 3.1.0 2885 | resolution: "p-limit@npm:3.1.0" 2886 | dependencies: 2887 | yocto-queue: "npm:^0.1.0" 2888 | checksum: 10/7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 2889 | languageName: node 2890 | linkType: hard 2891 | 2892 | "p-locate@npm:^5.0.0": 2893 | version: 5.0.0 2894 | resolution: "p-locate@npm:5.0.0" 2895 | dependencies: 2896 | p-limit: "npm:^3.0.2" 2897 | checksum: 10/1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 2898 | languageName: node 2899 | linkType: hard 2900 | 2901 | "p-map@npm:^4.0.0": 2902 | version: 4.0.0 2903 | resolution: "p-map@npm:4.0.0" 2904 | dependencies: 2905 | aggregate-error: "npm:^3.0.0" 2906 | checksum: 10/7ba4a2b1e24c05e1fc14bbaea0fc6d85cf005ae7e9c9425d4575550f37e2e584b1af97bcde78eacd7559208f20995988d52881334db16cf77bc1bcf68e48ed7c 2907 | languageName: node 2908 | linkType: hard 2909 | 2910 | "parent-module@npm:^1.0.0": 2911 | version: 1.0.1 2912 | resolution: "parent-module@npm:1.0.1" 2913 | dependencies: 2914 | callsites: "npm:^3.0.0" 2915 | checksum: 10/6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff 2916 | languageName: node 2917 | linkType: hard 2918 | 2919 | "parse-semver@npm:^1.1.1": 2920 | version: 1.1.1 2921 | resolution: "parse-semver@npm:1.1.1" 2922 | dependencies: 2923 | semver: "npm:^5.1.0" 2924 | checksum: 10/15ae06553a4ef745adfead1714b8e3253aa98cbff3212551917ff4e646a2e031f4cd11bf1bd7ba2e7a7fb4f5b4816d9dddb4d783ae487b9fb4a767b6af6b2f78 2925 | languageName: node 2926 | linkType: hard 2927 | 2928 | "parse5-htmlparser2-tree-adapter@npm:^7.0.0": 2929 | version: 7.0.0 2930 | resolution: "parse5-htmlparser2-tree-adapter@npm:7.0.0" 2931 | dependencies: 2932 | domhandler: "npm:^5.0.2" 2933 | parse5: "npm:^7.0.0" 2934 | checksum: 10/23dbe45fdd338fe726cf5c55b236e1f403aeb0c1b926e18ab8ef0aa580980a25f8492d160fe2ed0ec906c3c8e38b51e68ef5620a3b9460d9458ea78946a3f7c0 2935 | languageName: node 2936 | linkType: hard 2937 | 2938 | "parse5@npm:^7.0.0": 2939 | version: 7.0.0 2940 | resolution: "parse5@npm:7.0.0" 2941 | dependencies: 2942 | entities: "npm:^4.3.0" 2943 | checksum: 10/744ae8fa857b6adc9a9c030c1c388c81aed17b2533b7e855540e3d36078c72ffe08d25dc9dbc0abd2d4e23b74099ec6ab9241b9552b928b0f23685926d5285f7 2944 | languageName: node 2945 | linkType: hard 2946 | 2947 | "path-exists@npm:^4.0.0": 2948 | version: 4.0.0 2949 | resolution: "path-exists@npm:4.0.0" 2950 | checksum: 10/505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 2951 | languageName: node 2952 | linkType: hard 2953 | 2954 | "path-is-absolute@npm:^1.0.0": 2955 | version: 1.0.1 2956 | resolution: "path-is-absolute@npm:1.0.1" 2957 | checksum: 10/060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 2958 | languageName: node 2959 | linkType: hard 2960 | 2961 | "path-key@npm:^3.1.0": 2962 | version: 3.1.1 2963 | resolution: "path-key@npm:3.1.1" 2964 | checksum: 10/55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 2965 | languageName: node 2966 | linkType: hard 2967 | 2968 | "path-scurry@npm:^1.10.1": 2969 | version: 1.10.1 2970 | resolution: "path-scurry@npm:1.10.1" 2971 | dependencies: 2972 | lru-cache: "npm:^9.1.1 || ^10.0.0" 2973 | minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" 2974 | checksum: 10/eebfb8304fef1d4f7e1486df987e4fd77413de4fce16508dea69fcf8eb318c09a6b15a7a2f4c22877cec1cb7ecbd3071d18ca9de79eeece0df874a00f1f0bdc8 2975 | languageName: node 2976 | linkType: hard 2977 | 2978 | "path-type@npm:^4.0.0": 2979 | version: 4.0.0 2980 | resolution: "path-type@npm:4.0.0" 2981 | checksum: 10/5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 2982 | languageName: node 2983 | linkType: hard 2984 | 2985 | "pend@npm:~1.2.0": 2986 | version: 1.2.0 2987 | resolution: "pend@npm:1.2.0" 2988 | checksum: 10/6c72f5243303d9c60bd98e6446ba7d30ae29e3d56fdb6fae8767e8ba6386f33ee284c97efe3230a0d0217e2b1723b8ab490b1bbf34fcbb2180dbc8a9de47850d 2989 | languageName: node 2990 | linkType: hard 2991 | 2992 | "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": 2993 | version: 2.3.1 2994 | resolution: "picomatch@npm:2.3.1" 2995 | checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc 2996 | languageName: node 2997 | linkType: hard 2998 | 2999 | "prebuild-install@npm:^7.0.1": 3000 | version: 7.1.1 3001 | resolution: "prebuild-install@npm:7.1.1" 3002 | dependencies: 3003 | detect-libc: "npm:^2.0.0" 3004 | expand-template: "npm:^2.0.3" 3005 | github-from-package: "npm:0.0.0" 3006 | minimist: "npm:^1.2.3" 3007 | mkdirp-classic: "npm:^0.5.3" 3008 | napi-build-utils: "npm:^1.0.1" 3009 | node-abi: "npm:^3.3.0" 3010 | pump: "npm:^3.0.0" 3011 | rc: "npm:^1.2.7" 3012 | simple-get: "npm:^4.0.0" 3013 | tar-fs: "npm:^2.0.0" 3014 | tunnel-agent: "npm:^0.6.0" 3015 | bin: 3016 | prebuild-install: bin.js 3017 | checksum: 10/6c70a2f82fbda8903497c560a761b000d861a3e772322c8bed012be0f0a084b5aaca4438a3fad1bd3a24210765f4fae06ddd89ea04dc4c034dde693cc0d9d5f4 3018 | languageName: node 3019 | linkType: hard 3020 | 3021 | "prelude-ls@npm:^1.2.1": 3022 | version: 1.2.1 3023 | resolution: "prelude-ls@npm:1.2.1" 3024 | checksum: 10/0b9d2c76801ca652a7f64892dd37b7e3fab149a37d2424920099bf894acccc62abb4424af2155ab36dea8744843060a2d8ddc983518d0b1e22265a22324b72ed 3025 | languageName: node 3026 | linkType: hard 3027 | 3028 | "process-nextick-args@npm:~2.0.0": 3029 | version: 2.0.1 3030 | resolution: "process-nextick-args@npm:2.0.1" 3031 | checksum: 10/1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf 3032 | languageName: node 3033 | linkType: hard 3034 | 3035 | "promise-inflight@npm:^1.0.1": 3036 | version: 1.0.1 3037 | resolution: "promise-inflight@npm:1.0.1" 3038 | checksum: 10/1560d413ea20c5a74f3631d39ba8cbd1972b9228072a755d01e1f5ca5110382d9af76a1582d889445adc6e75bb5ac4886b56dc4b6eae51b30145d7bb1ac7505b 3039 | languageName: node 3040 | linkType: hard 3041 | 3042 | "promise-retry@npm:^2.0.1": 3043 | version: 2.0.1 3044 | resolution: "promise-retry@npm:2.0.1" 3045 | dependencies: 3046 | err-code: "npm:^2.0.2" 3047 | retry: "npm:^0.12.0" 3048 | checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4 3049 | languageName: node 3050 | linkType: hard 3051 | 3052 | "pump@npm:^3.0.0": 3053 | version: 3.0.0 3054 | resolution: "pump@npm:3.0.0" 3055 | dependencies: 3056 | end-of-stream: "npm:^1.1.0" 3057 | once: "npm:^1.3.1" 3058 | checksum: 10/e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 3059 | languageName: node 3060 | linkType: hard 3061 | 3062 | "punycode@npm:^2.1.0": 3063 | version: 2.1.1 3064 | resolution: "punycode@npm:2.1.1" 3065 | checksum: 10/939daa010c2cacebdb060c40ecb52fef0a739324a66f7fffe0f94353a1ee83e3b455e9032054c4a0c4977b0a28e27086f2171c392832b59a01bd948fd8e20914 3066 | languageName: node 3067 | linkType: hard 3068 | 3069 | "qs@npm:^6.9.1": 3070 | version: 6.10.5 3071 | resolution: "qs@npm:6.10.5" 3072 | dependencies: 3073 | side-channel: "npm:^1.0.4" 3074 | checksum: 10/c769327741748fd373a969f9c20afba6ded70631e2c36cfef2108cdf5ec659500ed3210988c0e922a27e7c2f13156811ae731eb16d368b8ac2f61578d6ca7304 3075 | languageName: node 3076 | linkType: hard 3077 | 3078 | "queue-microtask@npm:^1.2.2": 3079 | version: 1.2.3 3080 | resolution: "queue-microtask@npm:1.2.3" 3081 | checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b 3082 | languageName: node 3083 | linkType: hard 3084 | 3085 | "randombytes@npm:^2.1.0": 3086 | version: 2.1.0 3087 | resolution: "randombytes@npm:2.1.0" 3088 | dependencies: 3089 | safe-buffer: "npm:^5.1.0" 3090 | checksum: 10/4efd1ad3d88db77c2d16588dc54c2b52fd2461e70fe5724611f38d283857094fe09040fa2c9776366803c3152cf133171b452ef717592b65631ce5dc3a2bdafc 3091 | languageName: node 3092 | linkType: hard 3093 | 3094 | "rc@npm:^1.2.7": 3095 | version: 1.2.8 3096 | resolution: "rc@npm:1.2.8" 3097 | dependencies: 3098 | deep-extend: "npm:^0.6.0" 3099 | ini: "npm:~1.3.0" 3100 | minimist: "npm:^1.2.0" 3101 | strip-json-comments: "npm:~2.0.1" 3102 | bin: 3103 | rc: ./cli.js 3104 | checksum: 10/5c4d72ae7eec44357171585938c85ce066da8ca79146b5635baf3d55d74584c92575fa4e2c9eac03efbed3b46a0b2e7c30634c012b4b4fa40d654353d3c163eb 3105 | languageName: node 3106 | linkType: hard 3107 | 3108 | "read@npm:^1.0.7": 3109 | version: 1.0.7 3110 | resolution: "read@npm:1.0.7" 3111 | dependencies: 3112 | mute-stream: "npm:~0.0.4" 3113 | checksum: 10/2777c254e5732cac96f5d0a1c0f6b836c89ae23d8febd405b206f6f24d5de1873420f1a0795e0e3721066650d19adf802c7882c4027143ee0acf942a4f34f97b 3114 | languageName: node 3115 | linkType: hard 3116 | 3117 | "readable-stream@npm:^2.0.2, readable-stream@npm:~2.3.6": 3118 | version: 2.3.7 3119 | resolution: "readable-stream@npm:2.3.7" 3120 | dependencies: 3121 | core-util-is: "npm:~1.0.0" 3122 | inherits: "npm:~2.0.3" 3123 | isarray: "npm:~1.0.0" 3124 | process-nextick-args: "npm:~2.0.0" 3125 | safe-buffer: "npm:~5.1.1" 3126 | string_decoder: "npm:~1.1.1" 3127 | util-deprecate: "npm:~1.0.1" 3128 | checksum: 10/d04c677c1705e3fc6283d45859a23f4c05243d0c0f1fc08cb8f995b4d69f0eb7f38ec0ec102f0ee20535c5d999ee27449f40aa2edf6bf30c24d0cc8f8efeb6d7 3129 | languageName: node 3130 | linkType: hard 3131 | 3132 | "readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": 3133 | version: 3.6.0 3134 | resolution: "readable-stream@npm:3.6.0" 3135 | dependencies: 3136 | inherits: "npm:^2.0.3" 3137 | string_decoder: "npm:^1.1.1" 3138 | util-deprecate: "npm:^1.0.1" 3139 | checksum: 10/b80b3e6a7fafb1c79de7db541de357f4a5ee73bd70c21672f5a7c840d27bb27bdb0151e7ba2fd82c4a888df22ce0c501b0d9f3e4dfe51688876701c437d59536 3140 | languageName: node 3141 | linkType: hard 3142 | 3143 | "readdirp@npm:~3.6.0": 3144 | version: 3.6.0 3145 | resolution: "readdirp@npm:3.6.0" 3146 | dependencies: 3147 | picomatch: "npm:^2.2.1" 3148 | checksum: 10/196b30ef6ccf9b6e18c4e1724b7334f72a093d011a99f3b5920470f0b3406a51770867b3e1ae9711f227ef7a7065982f6ee2ce316746b2cb42c88efe44297fe7 3149 | languageName: node 3150 | linkType: hard 3151 | 3152 | "regexpp@npm:^3.2.0": 3153 | version: 3.2.0 3154 | resolution: "regexpp@npm:3.2.0" 3155 | checksum: 10/3310010895a906873262f4b494fc99bcef1e71ef6720a0532c5999ca586498cbd4a284c8e3c2423f9d1d37512fd08d6064b7564e0e59508cf938f76dd15ace84 3156 | languageName: node 3157 | linkType: hard 3158 | 3159 | "require-directory@npm:^2.1.1": 3160 | version: 2.1.1 3161 | resolution: "require-directory@npm:2.1.1" 3162 | checksum: 10/a72468e2589270d91f06c7d36ec97a88db53ae5d6fe3787fadc943f0b0276b10347f89b363b2a82285f650bdcc135ad4a257c61bdd4d00d6df1fa24875b0ddaf 3163 | languageName: node 3164 | linkType: hard 3165 | 3166 | "resolve-from@npm:^4.0.0": 3167 | version: 4.0.0 3168 | resolution: "resolve-from@npm:4.0.0" 3169 | checksum: 10/91eb76ce83621eea7bbdd9b55121a5c1c4a39e54a9ce04a9ad4517f102f8b5131c2cf07622c738a6683991bf54f2ce178f5a42803ecbd527ddc5105f362cc9e3 3170 | languageName: node 3171 | linkType: hard 3172 | 3173 | "retry@npm:^0.12.0": 3174 | version: 0.12.0 3175 | resolution: "retry@npm:0.12.0" 3176 | checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 3177 | languageName: node 3178 | linkType: hard 3179 | 3180 | "reusify@npm:^1.0.4": 3181 | version: 1.0.4 3182 | resolution: "reusify@npm:1.0.4" 3183 | checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb 3184 | languageName: node 3185 | linkType: hard 3186 | 3187 | "rimraf@npm:2": 3188 | version: 2.7.1 3189 | resolution: "rimraf@npm:2.7.1" 3190 | dependencies: 3191 | glob: "npm:^7.1.3" 3192 | bin: 3193 | rimraf: ./bin.js 3194 | checksum: 10/4586c296c736483e297da7cffd19475e4a3e41d07b1ae124aad5d687c79e4ffa716bdac8732ed1db942caf65271cee9dd39f8b639611de161a2753e2112ffe1d 3195 | languageName: node 3196 | linkType: hard 3197 | 3198 | "rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": 3199 | version: 3.0.2 3200 | resolution: "rimraf@npm:3.0.2" 3201 | dependencies: 3202 | glob: "npm:^7.1.3" 3203 | bin: 3204 | rimraf: bin.js 3205 | checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 3206 | languageName: node 3207 | linkType: hard 3208 | 3209 | "run-parallel@npm:^1.1.9": 3210 | version: 1.2.0 3211 | resolution: "run-parallel@npm:1.2.0" 3212 | dependencies: 3213 | queue-microtask: "npm:^1.2.2" 3214 | checksum: 10/cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d 3215 | languageName: node 3216 | linkType: hard 3217 | 3218 | "safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": 3219 | version: 5.2.1 3220 | resolution: "safe-buffer@npm:5.2.1" 3221 | checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 3222 | languageName: node 3223 | linkType: hard 3224 | 3225 | "safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": 3226 | version: 5.1.2 3227 | resolution: "safe-buffer@npm:5.1.2" 3228 | checksum: 10/7eb5b48f2ed9a594a4795677d5a150faa7eb54483b2318b568dc0c4fc94092a6cce5be02c7288a0500a156282f5276d5688bce7259299568d1053b2150ef374a 3229 | languageName: node 3230 | linkType: hard 3231 | 3232 | "safer-buffer@npm:>= 2.1.2 < 3.0.0": 3233 | version: 2.1.2 3234 | resolution: "safer-buffer@npm:2.1.2" 3235 | checksum: 10/7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83 3236 | languageName: node 3237 | linkType: hard 3238 | 3239 | "sax@npm:>=0.6.0": 3240 | version: 1.2.4 3241 | resolution: "sax@npm:1.2.4" 3242 | checksum: 10/09b79ff6dc09689a24323352117c94593c69db348997b2af0edbd82fa08aba47d778055bf9616b57285bb73d25d790900c044bf631a8f10c8252412e3f3fe5dd 3243 | languageName: node 3244 | linkType: hard 3245 | 3246 | "semver@npm:^5.1.0": 3247 | version: 5.7.1 3248 | resolution: "semver@npm:5.7.1" 3249 | bin: 3250 | semver: ./bin/semver 3251 | checksum: 10/fbc71cf00736480ca0dd67f2527cda6e0fde5447af00bd2ce06cb522d510216603a63ed0c6c87d8904507c1a4e8113e628a71424ebd9e0fd7d345ee8ed249690 3252 | languageName: node 3253 | linkType: hard 3254 | 3255 | "semver@npm:^7.3.5, semver@npm:^7.3.7": 3256 | version: 7.3.7 3257 | resolution: "semver@npm:7.3.7" 3258 | dependencies: 3259 | lru-cache: "npm:^6.0.0" 3260 | bin: 3261 | semver: bin/semver.js 3262 | checksum: 10/6f60700810ef4879eb0af1d8d0626e5a2d11ba57ca7889e041d88155cb4b45629d1efebb8c6d381ecac4f87870ecb4e1b27760019d017ed1bf74a5083f4eeeb8 3263 | languageName: node 3264 | linkType: hard 3265 | 3266 | "serialize-javascript@npm:6.0.0": 3267 | version: 6.0.0 3268 | resolution: "serialize-javascript@npm:6.0.0" 3269 | dependencies: 3270 | randombytes: "npm:^2.1.0" 3271 | checksum: 10/ed3dabfbb565c48c9eb1ca8fe58f0d256902ab70a8a605be634ddd68388d5f728bb0bd1268e94fab628748ba8ad8392f01b05f3cbe1e4878b5c58c669fd3d1b4 3272 | languageName: node 3273 | linkType: hard 3274 | 3275 | "set-blocking@npm:^2.0.0": 3276 | version: 2.0.0 3277 | resolution: "set-blocking@npm:2.0.0" 3278 | checksum: 10/8980ebf7ae9eb945bb036b6e283c547ee783a1ad557a82babf758a065e2fb6ea337fd82cac30dd565c1e606e423f30024a19fff7afbf4977d784720c4026a8ef 3279 | languageName: node 3280 | linkType: hard 3281 | 3282 | "setimmediate@npm:~1.0.4": 3283 | version: 1.0.5 3284 | resolution: "setimmediate@npm:1.0.5" 3285 | checksum: 10/76e3f5d7f4b581b6100ff819761f04a984fa3f3990e72a6554b57188ded53efce2d3d6c0932c10f810b7c59414f85e2ab3c11521877d1dea1ce0b56dc906f485 3286 | languageName: node 3287 | linkType: hard 3288 | 3289 | "shebang-command@npm:^2.0.0": 3290 | version: 2.0.0 3291 | resolution: "shebang-command@npm:2.0.0" 3292 | dependencies: 3293 | shebang-regex: "npm:^3.0.0" 3294 | checksum: 10/6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa 3295 | languageName: node 3296 | linkType: hard 3297 | 3298 | "shebang-regex@npm:^3.0.0": 3299 | version: 3.0.0 3300 | resolution: "shebang-regex@npm:3.0.0" 3301 | checksum: 10/1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 3302 | languageName: node 3303 | linkType: hard 3304 | 3305 | "side-channel@npm:^1.0.4": 3306 | version: 1.0.4 3307 | resolution: "side-channel@npm:1.0.4" 3308 | dependencies: 3309 | call-bind: "npm:^1.0.0" 3310 | get-intrinsic: "npm:^1.0.2" 3311 | object-inspect: "npm:^1.9.0" 3312 | checksum: 10/c4998d9fc530b0e75a7fd791ad868fdc42846f072734f9080ff55cc8dc7d3899abcda24fd896aa6648c3ab7021b4bb478073eb4f44dfd55bce9714bc1a7c5d45 3313 | languageName: node 3314 | linkType: hard 3315 | 3316 | "signal-exit@npm:^3.0.7": 3317 | version: 3.0.7 3318 | resolution: "signal-exit@npm:3.0.7" 3319 | checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 3320 | languageName: node 3321 | linkType: hard 3322 | 3323 | "signal-exit@npm:^4.0.1": 3324 | version: 4.1.0 3325 | resolution: "signal-exit@npm:4.1.0" 3326 | checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f 3327 | languageName: node 3328 | linkType: hard 3329 | 3330 | "simple-concat@npm:^1.0.0": 3331 | version: 1.0.1 3332 | resolution: "simple-concat@npm:1.0.1" 3333 | checksum: 10/4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a 3334 | languageName: node 3335 | linkType: hard 3336 | 3337 | "simple-get@npm:^4.0.0": 3338 | version: 4.0.1 3339 | resolution: "simple-get@npm:4.0.1" 3340 | dependencies: 3341 | decompress-response: "npm:^6.0.0" 3342 | once: "npm:^1.3.1" 3343 | simple-concat: "npm:^1.0.0" 3344 | checksum: 10/93f1b32319782f78f2f2234e9ce34891b7ab6b990d19d8afefaa44423f5235ce2676aae42d6743fecac6c8dfff4b808d4c24fe5265be813d04769917a9a44f36 3345 | languageName: node 3346 | linkType: hard 3347 | 3348 | "slash@npm:^3.0.0": 3349 | version: 3.0.0 3350 | resolution: "slash@npm:3.0.0" 3351 | checksum: 10/94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c 3352 | languageName: node 3353 | linkType: hard 3354 | 3355 | "smart-buffer@npm:^4.2.0": 3356 | version: 4.2.0 3357 | resolution: "smart-buffer@npm:4.2.0" 3358 | checksum: 10/927484aa0b1640fd9473cee3e0a0bcad6fce93fd7bbc18bac9ad0c33686f5d2e2c422fba24b5899c184524af01e11dd2bd051c2bf2b07e47aff8ca72cbfc60d2 3359 | languageName: node 3360 | linkType: hard 3361 | 3362 | "socks-proxy-agent@npm:^7.0.0": 3363 | version: 7.0.0 3364 | resolution: "socks-proxy-agent@npm:7.0.0" 3365 | dependencies: 3366 | agent-base: "npm:^6.0.2" 3367 | debug: "npm:^4.3.3" 3368 | socks: "npm:^2.6.2" 3369 | checksum: 10/26c75d9c62a9ed3fd494df60e65e88da442f78e0d4bc19bfd85ac37bd2c67470d6d4bba5202e804561cda6674db52864c9e2a2266775f879bc8d89c1445a5f4c 3370 | languageName: node 3371 | linkType: hard 3372 | 3373 | "socks@npm:^2.6.2": 3374 | version: 2.7.0 3375 | resolution: "socks@npm:2.7.0" 3376 | dependencies: 3377 | ip: "npm:^2.0.0" 3378 | smart-buffer: "npm:^4.2.0" 3379 | checksum: 10/984a700cc0af4892f06b90902e787a1d0b91a160f6170da75ef0f1a83e859c9b1c43e8507539f55c571a48c0543e86abd803ae6aaaab49b77a6fb5ce32d214c1 3380 | languageName: node 3381 | linkType: hard 3382 | 3383 | "ssri@npm:^9.0.0": 3384 | version: 9.0.1 3385 | resolution: "ssri@npm:9.0.1" 3386 | dependencies: 3387 | minipass: "npm:^3.1.1" 3388 | checksum: 10/7638a61e91432510718e9265d48d0438a17d53065e5184f1336f234ef6aa3479663942e41e97df56cda06bb24d9d0b5ef342c10685add3cac7267a82d7fa6718 3389 | languageName: node 3390 | linkType: hard 3391 | 3392 | "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": 3393 | version: 4.2.3 3394 | resolution: "string-width@npm:4.2.3" 3395 | dependencies: 3396 | emoji-regex: "npm:^8.0.0" 3397 | is-fullwidth-code-point: "npm:^3.0.0" 3398 | strip-ansi: "npm:^6.0.1" 3399 | checksum: 10/e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb 3400 | languageName: node 3401 | linkType: hard 3402 | 3403 | "string-width@npm:^5.0.1, string-width@npm:^5.1.2": 3404 | version: 5.1.2 3405 | resolution: "string-width@npm:5.1.2" 3406 | dependencies: 3407 | eastasianwidth: "npm:^0.2.0" 3408 | emoji-regex: "npm:^9.2.2" 3409 | strip-ansi: "npm:^7.0.1" 3410 | checksum: 10/7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 3411 | languageName: node 3412 | linkType: hard 3413 | 3414 | "string_decoder@npm:^1.1.1": 3415 | version: 1.3.0 3416 | resolution: "string_decoder@npm:1.3.0" 3417 | dependencies: 3418 | safe-buffer: "npm:~5.2.0" 3419 | checksum: 10/54d23f4a6acae0e93f999a585e673be9e561b65cd4cca37714af1e893ab8cd8dfa52a9e4f58f48f87b4a44918d3a9254326cb80ed194bf2e4c226e2b21767e56 3420 | languageName: node 3421 | linkType: hard 3422 | 3423 | "string_decoder@npm:~1.1.1": 3424 | version: 1.1.1 3425 | resolution: "string_decoder@npm:1.1.1" 3426 | dependencies: 3427 | safe-buffer: "npm:~5.1.0" 3428 | checksum: 10/7c41c17ed4dea105231f6df208002ebddd732e8e9e2d619d133cecd8e0087ddfd9587d2feb3c8caf3213cbd841ada6d057f5142cae68a4e62d3540778d9819b4 3429 | languageName: node 3430 | linkType: hard 3431 | 3432 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": 3433 | version: 6.0.1 3434 | resolution: "strip-ansi@npm:6.0.1" 3435 | dependencies: 3436 | ansi-regex: "npm:^5.0.1" 3437 | checksum: 10/ae3b5436d34fadeb6096367626ce987057713c566e1e7768818797e00ac5d62023d0f198c4e681eae9e20701721980b26a64a8f5b91238869592a9c6800719a2 3438 | languageName: node 3439 | linkType: hard 3440 | 3441 | "strip-ansi@npm:^7.0.1": 3442 | version: 7.1.0 3443 | resolution: "strip-ansi@npm:7.1.0" 3444 | dependencies: 3445 | ansi-regex: "npm:^6.0.1" 3446 | checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 3447 | languageName: node 3448 | linkType: hard 3449 | 3450 | "strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": 3451 | version: 3.1.1 3452 | resolution: "strip-json-comments@npm:3.1.1" 3453 | checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 3454 | languageName: node 3455 | linkType: hard 3456 | 3457 | "strip-json-comments@npm:~2.0.1": 3458 | version: 2.0.1 3459 | resolution: "strip-json-comments@npm:2.0.1" 3460 | checksum: 10/1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 3461 | languageName: node 3462 | linkType: hard 3463 | 3464 | "supports-color@npm:8.1.1": 3465 | version: 8.1.1 3466 | resolution: "supports-color@npm:8.1.1" 3467 | dependencies: 3468 | has-flag: "npm:^4.0.0" 3469 | checksum: 10/157b534df88e39c5518c5e78c35580c1eca848d7dbaf31bbe06cdfc048e22c7ff1a9d046ae17b25691128f631a51d9ec373c1b740c12ae4f0de6e292037e4282 3470 | languageName: node 3471 | linkType: hard 3472 | 3473 | "supports-color@npm:^5.3.0": 3474 | version: 5.5.0 3475 | resolution: "supports-color@npm:5.5.0" 3476 | dependencies: 3477 | has-flag: "npm:^3.0.0" 3478 | checksum: 10/5f505c6fa3c6e05873b43af096ddeb22159831597649881aeb8572d6fe3b81e798cc10840d0c9735e0026b250368851b7f77b65e84f4e4daa820a4f69947f55b 3479 | languageName: node 3480 | linkType: hard 3481 | 3482 | "supports-color@npm:^7.1.0": 3483 | version: 7.2.0 3484 | resolution: "supports-color@npm:7.2.0" 3485 | dependencies: 3486 | has-flag: "npm:^4.0.0" 3487 | checksum: 10/c8bb7afd564e3b26b50ca6ee47572c217526a1389fe018d00345856d4a9b08ffbd61fadaf283a87368d94c3dcdb8f5ffe2650a5a65863e21ad2730ca0f05210a 3488 | languageName: node 3489 | linkType: hard 3490 | 3491 | "tar-fs@npm:^2.0.0": 3492 | version: 2.1.1 3493 | resolution: "tar-fs@npm:2.1.1" 3494 | dependencies: 3495 | chownr: "npm:^1.1.1" 3496 | mkdirp-classic: "npm:^0.5.2" 3497 | pump: "npm:^3.0.0" 3498 | tar-stream: "npm:^2.1.4" 3499 | checksum: 10/526deae025453e825f87650808969662fbb12eb0461d033e9b447de60ec951c6c4607d0afe7ce057defe9d4e45cf80399dd74bc15f9d9e0773d5e990a78ce4ac 3500 | languageName: node 3501 | linkType: hard 3502 | 3503 | "tar-stream@npm:^2.1.4": 3504 | version: 2.2.0 3505 | resolution: "tar-stream@npm:2.2.0" 3506 | dependencies: 3507 | bl: "npm:^4.0.3" 3508 | end-of-stream: "npm:^1.4.1" 3509 | fs-constants: "npm:^1.0.0" 3510 | inherits: "npm:^2.0.3" 3511 | readable-stream: "npm:^3.1.1" 3512 | checksum: 10/1a52a51d240c118cbcd30f7368ea5e5baef1eac3e6b793fb1a41e6cd7319296c79c0264ccc5859f5294aa80f8f00b9239d519e627b9aade80038de6f966fec6a 3513 | languageName: node 3514 | linkType: hard 3515 | 3516 | "tar@npm:^6.1.11, tar@npm:^6.1.2": 3517 | version: 6.1.11 3518 | resolution: "tar@npm:6.1.11" 3519 | dependencies: 3520 | chownr: "npm:^2.0.0" 3521 | fs-minipass: "npm:^2.0.0" 3522 | minipass: "npm:^3.0.0" 3523 | minizlib: "npm:^2.1.1" 3524 | mkdirp: "npm:^1.0.3" 3525 | yallist: "npm:^4.0.0" 3526 | checksum: 10/0e6789e66475922b8e0d1ee648cb26e0ede9a0635284269ca71b2d8acd507bc59ad5557032f0192f8ff22680b50cb66792b56f0240f484fe0d7d8cef81c1b959 3527 | languageName: node 3528 | linkType: hard 3529 | 3530 | "text-table@npm:^0.2.0": 3531 | version: 0.2.0 3532 | resolution: "text-table@npm:0.2.0" 3533 | checksum: 10/4383b5baaeffa9bb4cda2ac33a4aa2e6d1f8aaf811848bf73513a9b88fd76372dc461f6fd6d2e9cb5100f48b473be32c6f95bd983509b7d92bb4d92c10747452 3534 | languageName: node 3535 | linkType: hard 3536 | 3537 | "tmp@npm:^0.2.1": 3538 | version: 0.2.1 3539 | resolution: "tmp@npm:0.2.1" 3540 | dependencies: 3541 | rimraf: "npm:^3.0.0" 3542 | checksum: 10/445148d72df3ce99356bc89a7857a0c5c3b32958697a14e50952c6f7cf0a8016e746ababe9a74c1aa52f04c526661992f14659eba34d3c6701d49ba2f3cf781b 3543 | languageName: node 3544 | linkType: hard 3545 | 3546 | "to-regex-range@npm:^5.0.1": 3547 | version: 5.0.1 3548 | resolution: "to-regex-range@npm:5.0.1" 3549 | dependencies: 3550 | is-number: "npm:^7.0.0" 3551 | checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a 3552 | languageName: node 3553 | linkType: hard 3554 | 3555 | "traverse@npm:>=0.3.0 <0.4": 3556 | version: 0.3.9 3557 | resolution: "traverse@npm:0.3.9" 3558 | checksum: 10/ffbb8460a934f271b7b7ae654e676f740d81037d6c20ab9fd05781cfdf644929f494399b5cb3aa3db4ab69cbfef06ff8f885560d523ca49b7da33763f6c4c9f1 3559 | languageName: node 3560 | linkType: hard 3561 | 3562 | "tslib@npm:^1.8.1": 3563 | version: 1.14.1 3564 | resolution: "tslib@npm:1.14.1" 3565 | checksum: 10/7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb 3566 | languageName: node 3567 | linkType: hard 3568 | 3569 | "tslib@npm:^2.4.0": 3570 | version: 2.4.0 3571 | resolution: "tslib@npm:2.4.0" 3572 | checksum: 10/d8379e68b36caf082c1905ec25d17df8261e1d68ddc1abfd6c91158a064f6e4402039ae7c02cf4c81d12e3a2a2c7cd8ea2f57b233eb80136a2e3e7279daf2911 3573 | languageName: node 3574 | linkType: hard 3575 | 3576 | "tsutils@npm:^3.21.0": 3577 | version: 3.21.0 3578 | resolution: "tsutils@npm:3.21.0" 3579 | dependencies: 3580 | tslib: "npm:^1.8.1" 3581 | peerDependencies: 3582 | typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" 3583 | checksum: 10/ea036bec1dd024e309939ffd49fda7a351c0e87a1b8eb049570dd119d447250e2c56e0e6c00554e8205760e7417793fdebff752a46e573fbe07d4f375502a5b2 3584 | languageName: node 3585 | linkType: hard 3586 | 3587 | "tunnel-agent@npm:^0.6.0": 3588 | version: 0.6.0 3589 | resolution: "tunnel-agent@npm:0.6.0" 3590 | dependencies: 3591 | safe-buffer: "npm:^5.0.1" 3592 | checksum: 10/7f0d9ed5c22404072b2ae8edc45c071772affd2ed14a74f03b4e71b4dd1a14c3714d85aed64abcaaee5fec2efc79002ba81155c708f4df65821b444abb0cfade 3593 | languageName: node 3594 | linkType: hard 3595 | 3596 | "tunnel@npm:0.0.6": 3597 | version: 0.0.6 3598 | resolution: "tunnel@npm:0.0.6" 3599 | checksum: 10/cf1ffed5e67159b901a924dbf94c989f20b2b3b65649cfbbe4b6abb35955ce2cf7433b23498bdb2c5530ab185b82190fce531597b3b4a649f06a907fc8702405 3600 | languageName: node 3601 | linkType: hard 3602 | 3603 | "type-check@npm:^0.4.0, type-check@npm:~0.4.0": 3604 | version: 0.4.0 3605 | resolution: "type-check@npm:0.4.0" 3606 | dependencies: 3607 | prelude-ls: "npm:^1.2.1" 3608 | checksum: 10/14687776479d048e3c1dbfe58a2409e00367810d6960c0f619b33793271ff2a27f81b52461f14a162f1f89a9b1d8da1b237fc7c99b0e1fdcec28ec63a86b1fec 3609 | languageName: node 3610 | linkType: hard 3611 | 3612 | "type-fest@npm:^0.20.2": 3613 | version: 0.20.2 3614 | resolution: "type-fest@npm:0.20.2" 3615 | checksum: 10/8907e16284b2d6cfa4f4817e93520121941baba36b39219ea36acfe64c86b9dbc10c9941af450bd60832c8f43464974d51c0957f9858bc66b952b66b6914cbb9 3616 | languageName: node 3617 | linkType: hard 3618 | 3619 | "typed-rest-client@npm:^1.8.4": 3620 | version: 1.8.9 3621 | resolution: "typed-rest-client@npm:1.8.9" 3622 | dependencies: 3623 | qs: "npm:^6.9.1" 3624 | tunnel: "npm:0.0.6" 3625 | underscore: "npm:^1.12.1" 3626 | checksum: 10/3e5e1b8f6bfb38849788f863847b20b9e8be4eeaa4d43987826e233b076051476d8d7b395b9f14d8dbe1671f737c0660b0574cf6601352ff24b17d3b821df192 3627 | languageName: node 3628 | linkType: hard 3629 | 3630 | "typescript@npm:^4.9.3": 3631 | version: 4.9.3 3632 | resolution: "typescript@npm:4.9.3" 3633 | bin: 3634 | tsc: bin/tsc 3635 | tsserver: bin/tsserver 3636 | checksum: 10/dda600a5a37b945ad1fff76f0c874e7bfda3fd56cfc43b9f328780d602b6e7127b4342bbc6ad68ccf7bf6645047be329586ea1b393a80fb942d608a796aba0de 3637 | languageName: node 3638 | linkType: hard 3639 | 3640 | "typescript@patch:typescript@npm%3A^4.9.3#optional!builtin": 3641 | version: 4.9.3 3642 | resolution: "typescript@patch:typescript@npm%3A4.9.3#optional!builtin::version=4.9.3&hash=a66ed4" 3643 | bin: 3644 | tsc: bin/tsc 3645 | tsserver: bin/tsserver 3646 | checksum: 10/cc7506c7cb5419b3e64bff50082307ed31d0de163ed6ccd9f418e94c364ebde2aba3f57087ac431805410855421917718a1a6ed85f46620cf03c87e86d1ce9c5 3647 | languageName: node 3648 | linkType: hard 3649 | 3650 | "uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": 3651 | version: 1.0.6 3652 | resolution: "uc.micro@npm:1.0.6" 3653 | checksum: 10/6898bb556319a38e9cf175e3628689347bd26fec15fc6b29fa38e0045af63075ff3fea4cf1fdba9db46c9f0cbf07f2348cd8844889dd31ebd288c29fe0d27e7a 3654 | languageName: node 3655 | linkType: hard 3656 | 3657 | "underscore@npm:^1.12.1": 3658 | version: 1.13.4 3659 | resolution: "underscore@npm:1.13.4" 3660 | checksum: 10/c704bb64a970087c9fe687d3a38aae5c6fa1dad1431fa49c54b5905d657e58aad7e8919964b8d922360b8f39a232b15d2df9b8b61fa790ef168e86835acc07e5 3661 | languageName: node 3662 | linkType: hard 3663 | 3664 | "undici-types@npm:~5.26.4": 3665 | version: 5.26.5 3666 | resolution: "undici-types@npm:5.26.5" 3667 | checksum: 10/0097779d94bc0fd26f0418b3a05472410408877279141ded2bd449167be1aed7ea5b76f756562cb3586a07f251b90799bab22d9019ceba49c037c76445f7cddd 3668 | languageName: node 3669 | linkType: hard 3670 | 3671 | "unique-filename@npm:^1.1.1": 3672 | version: 1.1.1 3673 | resolution: "unique-filename@npm:1.1.1" 3674 | dependencies: 3675 | unique-slug: "npm:^2.0.0" 3676 | checksum: 10/9b6969d649a2096755f19f793315465c6427453b66d67c2a1bee8f36ca7e1fc40725be2c028e974dec110d365bd30a4248e89b1044dc1dfe29663b6867d071ef 3677 | languageName: node 3678 | linkType: hard 3679 | 3680 | "unique-slug@npm:^2.0.0": 3681 | version: 2.0.2 3682 | resolution: "unique-slug@npm:2.0.2" 3683 | dependencies: 3684 | imurmurhash: "npm:^0.1.4" 3685 | checksum: 10/6cfaf91976acc9c125fd0686c561ee9ca0784bb4b2b408972e6cd30e747b4ff0ca50264c01bcf5e711b463535ea611ffb84199e9f73088cd79ac9ddee8154042 3686 | languageName: node 3687 | linkType: hard 3688 | 3689 | "universalify@npm:^2.0.0": 3690 | version: 2.0.0 3691 | resolution: "universalify@npm:2.0.0" 3692 | checksum: 10/2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 3693 | languageName: node 3694 | linkType: hard 3695 | 3696 | "unzipper@npm:^0.10.11": 3697 | version: 0.10.11 3698 | resolution: "unzipper@npm:0.10.11" 3699 | dependencies: 3700 | big-integer: "npm:^1.6.17" 3701 | binary: "npm:~0.3.0" 3702 | bluebird: "npm:~3.4.1" 3703 | buffer-indexof-polyfill: "npm:~1.0.0" 3704 | duplexer2: "npm:~0.1.4" 3705 | fstream: "npm:^1.0.12" 3706 | graceful-fs: "npm:^4.2.2" 3707 | listenercount: "npm:~1.0.1" 3708 | readable-stream: "npm:~2.3.6" 3709 | setimmediate: "npm:~1.0.4" 3710 | checksum: 10/8691fb5ebef4ae6b379102eef3a92513b2aa4f1ff54b13a2bafa72fe3eaaff4b86e9189ef8538728fca3a10817c3e4649420bcf3447ece921f6bc2f7603a075a 3711 | languageName: node 3712 | linkType: hard 3713 | 3714 | "uri-js@npm:^4.2.2": 3715 | version: 4.4.1 3716 | resolution: "uri-js@npm:4.4.1" 3717 | dependencies: 3718 | punycode: "npm:^2.1.0" 3719 | checksum: 10/b271ca7e3d46b7160222e3afa3e531505161c9a4e097febae9664e4b59912f4cbe94861361a4175edac3a03fee99d91e44b6a58c17a634bc5a664b19fc76fbcb 3720 | languageName: node 3721 | linkType: hard 3722 | 3723 | "url-join@npm:^4.0.1": 3724 | version: 4.0.1 3725 | resolution: "url-join@npm:4.0.1" 3726 | checksum: 10/b53b256a9a36ed6b0f6768101e78ca97f32d7b935283fd29ce19d0bbfb6f88aa80aa6c03fd87f2f8978ab463a6539f597a63051e7086f3379685319a7495f709 3727 | languageName: node 3728 | linkType: hard 3729 | 3730 | "util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": 3731 | version: 1.0.2 3732 | resolution: "util-deprecate@npm:1.0.2" 3733 | checksum: 10/474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 3734 | languageName: node 3735 | linkType: hard 3736 | 3737 | "vsce@npm:^2.6.3": 3738 | version: 2.11.0 3739 | resolution: "vsce@npm:2.11.0" 3740 | dependencies: 3741 | azure-devops-node-api: "npm:^11.0.1" 3742 | chalk: "npm:^2.4.2" 3743 | cheerio: "npm:^1.0.0-rc.9" 3744 | commander: "npm:^6.1.0" 3745 | glob: "npm:^7.0.6" 3746 | hosted-git-info: "npm:^4.0.2" 3747 | keytar: "npm:^7.7.0" 3748 | leven: "npm:^3.1.0" 3749 | markdown-it: "npm:^12.3.2" 3750 | mime: "npm:^1.3.4" 3751 | minimatch: "npm:^3.0.3" 3752 | parse-semver: "npm:^1.1.1" 3753 | read: "npm:^1.0.7" 3754 | semver: "npm:^5.1.0" 3755 | tmp: "npm:^0.2.1" 3756 | typed-rest-client: "npm:^1.8.4" 3757 | url-join: "npm:^4.0.1" 3758 | xml2js: "npm:^0.4.23" 3759 | yauzl: "npm:^2.3.1" 3760 | yazl: "npm:^2.2.2" 3761 | bin: 3762 | vsce: vsce 3763 | checksum: 10/1ab99086ee05011117d570ad907d06b0e72cc4bcac01f173497ff905ccd3a7fbcb433cd27977b86f0b1ea65b31aba8102677e590db2c9a08d7ee797b9881c132 3764 | languageName: node 3765 | linkType: hard 3766 | 3767 | "web-streams-polyfill@npm:^3.0.3": 3768 | version: 3.2.1 3769 | resolution: "web-streams-polyfill@npm:3.2.1" 3770 | checksum: 10/08fcf97b7883c1511dd3da794f50e9bde75a660884783baaddb2163643c21a94086f394dc4bd20dff0f55c98d98d60c4bea05a5809ef5005bdf835b63ada8900 3771 | languageName: node 3772 | linkType: hard 3773 | 3774 | "which@npm:2.0.2, which@npm:^2.0.1, which@npm:^2.0.2": 3775 | version: 2.0.2 3776 | resolution: "which@npm:2.0.2" 3777 | dependencies: 3778 | isexe: "npm:^2.0.0" 3779 | bin: 3780 | node-which: ./bin/node-which 3781 | checksum: 10/4782f8a1d6b8fc12c65e968fea49f59752bf6302dc43036c3bf87da718a80710f61a062516e9764c70008b487929a73546125570acea95c5b5dcc8ac3052c70f 3782 | languageName: node 3783 | linkType: hard 3784 | 3785 | "wide-align@npm:^1.1.5": 3786 | version: 1.1.5 3787 | resolution: "wide-align@npm:1.1.5" 3788 | dependencies: 3789 | string-width: "npm:^1.0.2 || 2 || 3 || 4" 3790 | checksum: 10/d5f8027b9a8255a493a94e4ec1b74a27bff6679d5ffe29316a3215e4712945c84ef73ca4045c7e20ae7d0c72f5f57f296e04a4928e773d4276a2f1222e4c2e99 3791 | languageName: node 3792 | linkType: hard 3793 | 3794 | "word-wrap@npm:^1.2.3": 3795 | version: 1.2.3 3796 | resolution: "word-wrap@npm:1.2.3" 3797 | checksum: 10/08a677e1578b9cc367a03d52bc51b6869fec06303f68d29439e4ed647257411f857469990c31066c1874678937dac737c9f8f20d3fd59918fb86b7d926a76b15 3798 | languageName: node 3799 | linkType: hard 3800 | 3801 | "workerpool@npm:6.2.0": 3802 | version: 6.2.0 3803 | resolution: "workerpool@npm:6.2.0" 3804 | checksum: 10/c7dce6eae02098d70fe9924503bd95688564a1316cbb96fe55600f7ede0e66f1f2fea4d18aaec71fcee32373d17eda0bf87ac4dac8e5823e90ca1524aac90bdc 3805 | languageName: node 3806 | linkType: hard 3807 | 3808 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": 3809 | version: 7.0.0 3810 | resolution: "wrap-ansi@npm:7.0.0" 3811 | dependencies: 3812 | ansi-styles: "npm:^4.0.0" 3813 | string-width: "npm:^4.1.0" 3814 | strip-ansi: "npm:^6.0.0" 3815 | checksum: 10/cebdaeca3a6880da410f75209e68cd05428580de5ad24535f22696d7d9cab134d1f8498599f344c3cf0fb37c1715807a183778d8c648d6cc0cb5ff2bb4236540 3816 | languageName: node 3817 | linkType: hard 3818 | 3819 | "wrap-ansi@npm:^8.1.0": 3820 | version: 8.1.0 3821 | resolution: "wrap-ansi@npm:8.1.0" 3822 | dependencies: 3823 | ansi-styles: "npm:^6.1.0" 3824 | string-width: "npm:^5.0.1" 3825 | strip-ansi: "npm:^7.0.1" 3826 | checksum: 10/7b1e4b35e9bb2312d2ee9ee7dc95b8cb5f8b4b5a89f7dde5543fe66c1e3715663094defa50d75454ac900bd210f702d575f15f3f17fa9ec0291806d2578d1ddf 3827 | languageName: node 3828 | linkType: hard 3829 | 3830 | "wrappy@npm:1": 3831 | version: 1.0.2 3832 | resolution: "wrappy@npm:1.0.2" 3833 | checksum: 10/159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 3834 | languageName: node 3835 | linkType: hard 3836 | 3837 | "xml2js@npm:^0.4.23": 3838 | version: 0.4.23 3839 | resolution: "xml2js@npm:0.4.23" 3840 | dependencies: 3841 | sax: "npm:>=0.6.0" 3842 | xmlbuilder: "npm:~11.0.0" 3843 | checksum: 10/52896ef39429f860f32471dd7bb2b89ef25b7e15528e3a4366de0bd5e55a251601565e7814763e70f9e75310c3afe649a42b8826442b74b41eff8a0ae333fccc 3844 | languageName: node 3845 | linkType: hard 3846 | 3847 | "xml2js@npm:^0.5.0": 3848 | version: 0.5.0 3849 | resolution: "xml2js@npm:0.5.0" 3850 | dependencies: 3851 | sax: "npm:>=0.6.0" 3852 | xmlbuilder: "npm:~11.0.0" 3853 | checksum: 10/27c4d759214e99be5ec87ee5cb1290add427fa43df509d3b92d10152b3806fd2f7c9609697a18b158ccf2caa01e96af067cdba93196f69ca10c90e4f79a08896 3854 | languageName: node 3855 | linkType: hard 3856 | 3857 | "xmlbuilder@npm:~11.0.0": 3858 | version: 11.0.1 3859 | resolution: "xmlbuilder@npm:11.0.1" 3860 | checksum: 10/c8c3d208783718db5b285101a736cd8e6b69a5c265199a0739abaa93d1a1b7de5489fd16df4e776e18b2c98cb91f421a7349e99fd8c1ebeb44ecfed72a25091a 3861 | languageName: node 3862 | linkType: hard 3863 | 3864 | "y18n@npm:^5.0.5": 3865 | version: 5.0.8 3866 | resolution: "y18n@npm:5.0.8" 3867 | checksum: 10/5f1b5f95e3775de4514edbb142398a2c37849ccfaf04a015be5d75521e9629d3be29bd4432d23c57f37e5b61ade592fb0197022e9993f81a06a5afbdcda9346d 3868 | languageName: node 3869 | linkType: hard 3870 | 3871 | "yallist@npm:^4.0.0": 3872 | version: 4.0.0 3873 | resolution: "yallist@npm:4.0.0" 3874 | checksum: 10/4cb02b42b8a93b5cf50caf5d8e9beb409400a8a4d85e83bb0685c1457e9ac0b7a00819e9f5991ac25ffabb56a78e2f017c1acc010b3a1babfe6de690ba531abd 3875 | languageName: node 3876 | linkType: hard 3877 | 3878 | "yargs-parser@npm:20.2.4": 3879 | version: 20.2.4 3880 | resolution: "yargs-parser@npm:20.2.4" 3881 | checksum: 10/db8f251ae40e24782d5c089ed86883ba3c0ce7f3c174002a67ec500802f928df9d505fea5d04829769221ce20b0f69f6fb1138fbb2e2fb102e3e9d426d20edab 3882 | languageName: node 3883 | linkType: hard 3884 | 3885 | "yargs-parser@npm:^20.2.2": 3886 | version: 20.2.9 3887 | resolution: "yargs-parser@npm:20.2.9" 3888 | checksum: 10/0188f430a0f496551d09df6719a9132a3469e47fe2747208b1dd0ab2bb0c512a95d0b081628bbca5400fb20dbf2fabe63d22badb346cecadffdd948b049f3fcc 3889 | languageName: node 3890 | linkType: hard 3891 | 3892 | "yargs-unparser@npm:2.0.0": 3893 | version: 2.0.0 3894 | resolution: "yargs-unparser@npm:2.0.0" 3895 | dependencies: 3896 | camelcase: "npm:^6.0.0" 3897 | decamelize: "npm:^4.0.0" 3898 | flat: "npm:^5.0.2" 3899 | is-plain-obj: "npm:^2.1.0" 3900 | checksum: 10/68f9a542c6927c3768c2f16c28f71b19008710abd6b8f8efbac6dcce26bbb68ab6503bed1d5994bdbc2df9a5c87c161110c1dfe04c6a3fe5c6ad1b0e15d9a8a3 3901 | languageName: node 3902 | linkType: hard 3903 | 3904 | "yargs@npm:16.2.0": 3905 | version: 16.2.0 3906 | resolution: "yargs@npm:16.2.0" 3907 | dependencies: 3908 | cliui: "npm:^7.0.2" 3909 | escalade: "npm:^3.1.1" 3910 | get-caller-file: "npm:^2.0.5" 3911 | require-directory: "npm:^2.1.1" 3912 | string-width: "npm:^4.2.0" 3913 | y18n: "npm:^5.0.5" 3914 | yargs-parser: "npm:^20.2.2" 3915 | checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e 3916 | languageName: node 3917 | linkType: hard 3918 | 3919 | "yauzl@npm:^2.3.1": 3920 | version: 2.10.0 3921 | resolution: "yauzl@npm:2.10.0" 3922 | dependencies: 3923 | buffer-crc32: "npm:~0.2.3" 3924 | fd-slicer: "npm:~1.1.0" 3925 | checksum: 10/1e4c311050dc0cf2ee3dbe8854fe0a6cde50e420b3e561a8d97042526b4cf7a0718d6c8d89e9e526a152f4a9cec55bcea9c3617264115f48bd6704cf12a04445 3926 | languageName: node 3927 | linkType: hard 3928 | 3929 | "yazl@npm:^2.2.2": 3930 | version: 2.5.1 3931 | resolution: "yazl@npm:2.5.1" 3932 | dependencies: 3933 | buffer-crc32: "npm:~0.2.3" 3934 | checksum: 10/498ea4c6bca26130608c44db166e2f63b3437b94b7ad020ca0c161268d29517e8517146e91e51b78da100ad62feadc1a1a85aaa94aab0b2dc29b355ec75bc8f0 3935 | languageName: node 3936 | linkType: hard 3937 | 3938 | "yocto-queue@npm:^0.1.0": 3939 | version: 0.1.0 3940 | resolution: "yocto-queue@npm:0.1.0" 3941 | checksum: 10/f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 3942 | languageName: node 3943 | linkType: hard 3944 | --------------------------------------------------------------------------------