├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug-report.md
│ └── feature-request.md
└── workflows
│ └── build.yml
├── .gitignore
├── .prettierrc
├── .yarnrc.yml
├── LICENSE
├── README.md
├── assets
├── tray-icon.ico
└── tray-icon.png
├── entitlements.mac.plist
├── package.json
├── public
├── index.html
├── index.js
├── settings.html
├── settings.js
└── styles.css
├── scripts
└── notarize.js
├── src
├── defaults.ts
├── ipcHandlers.ts
├── main.ts
├── mainWindow.ts
├── notification.ts
├── preload.ts
├── satellite.ts
├── satelliteFunctions.ts
├── settings.ts
├── tray.ts
└── types.d.ts
├── tsconfig.json
└── yarn.lock
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: ['josephdadams']
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13 | custom: ['https://www.paypal.me/adamsfamilyadopts']
14 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug-report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug Report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 | ---
8 |
9 | **Describe the bug**
10 | A clear and concise description of what the bug is.
11 |
12 | **To Reproduce**
13 | Steps to reproduce the behavior:
14 |
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 | **Desktop (please complete the following information):**
27 |
28 | - OS: [e.g. MacOS, Windows]
29 | - Version [e.g. 22]
30 |
31 | **Additional context**
32 | Add any other context about the problem here.
33 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature Request
3 | about: Suggest an idea for this project
4 | title: 'Feature Request: '
5 | labels: enhancement
6 | assignees: josephdadams
7 | ---
8 |
9 | **Is your feature request related to a problem? Please describe.**
10 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11 |
12 | **Describe the solution you'd like**
13 | A clear and concise description of what you want to happen.
14 |
15 | **Describe alternatives you've considered**
16 | A clear and concise description of any alternative solutions or features you've considered.
17 |
18 | **Additional context**
19 | Add any other context or screenshots about the feature request here.
20 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build and Release
2 |
3 | on:
4 | push:
5 | tags:
6 | - 'v*.*.*' # Trigger on version tags like v1.0.0
7 |
8 | jobs:
9 | build_desktop:
10 | name: Build Desktop on ${{ matrix.os }}
11 | runs-on: ${{ matrix.os }}
12 | strategy:
13 | matrix:
14 | os: [windows-latest, macos-latest, ubuntu-latest]
15 | steps:
16 | - uses: actions/checkout@v3
17 | - name: Setup Node.js
18 | uses: actions/setup-node@v3
19 | with:
20 | node-version: 20
21 |
22 | - name: Install dependencies
23 | run: yarn install --production
24 |
25 | # macOS-specific steps for code signing and notarization
26 | - name: Import Apple Developer Certificate (macOS only)
27 | if: matrix.os == 'macos-latest'
28 | env:
29 | DEVELOPER_ID_CERT: ${{ secrets.DEVELOPER_ID_CERT }}
30 | DEVELOPER_ID_CERT_PASSWORD: ${{ secrets.DEVELOPER_ID_CERT_PASSWORD }}
31 | run: |
32 | echo "$DEVELOPER_ID_CERT" | base64 --decode > developer_id_certificate.p12
33 | security create-keychain -p "" build.keychain
34 | security default-keychain -s build.keychain
35 | security unlock-keychain -p "" build.keychain
36 | security import developer_id_certificate.p12 -k build.keychain -P "$DEVELOPER_ID_CERT_PASSWORD" -T /usr/bin/codesign
37 | security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "" build.keychain
38 |
39 | - name: List Certificates in Keychain (macOS only)
40 | if: matrix.os == 'macos-latest'
41 | run: |
42 | security find-identity -v -p codesigning
43 |
44 | - name: Build for Desktop
45 | uses: samuelmeuli/action-electron-builder@v1.6.0
46 | with:
47 | github_token: ${{ secrets.GITHUB_TOKEN }}
48 | release: false # Prevent auto-release in electron-builder
49 | env:
50 | DEBUG: electron-notarize*
51 | APPLE_ID: ${{ secrets.APPLE_ID }}
52 | APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
53 | APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
54 |
55 | - name: Rename and Upload Artifacts
56 | run: |
57 | VERSION=${{ github.ref_name }}
58 | mkdir release
59 |
60 | if [[ "$RUNNER_OS" == "Linux" ]]; then
61 | mv dist/*.AppImage "release/screendeck-linux-x64-$VERSION.AppImage"
62 | elif [[ "$RUNNER_OS" == "Windows" ]]; then
63 | mv dist/*.exe "release/screendeck-windows-x64-$VERSION.exe"
64 | elif [[ "$RUNNER_OS" == "macOS" ]]; then
65 | mv dist/*-x64.dmg "release/screendeck-mac-intel-$VERSION.dmg" || true
66 | mv dist/*-arm64.dmg "release/screendeck-mac-silicon-$VERSION.dmg" || true
67 | mv dist/*-universal.dmg "release/screendeck-mac-universal-$VERSION.dmg" || true
68 | fi
69 |
70 | - name: Upload Desktop Artifacts
71 | uses: actions/upload-artifact@v3
72 | with:
73 | name: screendeck-desktop-${{ github.ref_name }}
74 | path: release/*
75 |
76 | build_rpi:
77 | name: Build for Raspberry Pi (ARM64)
78 | runs-on: ubuntu-latest
79 | steps:
80 | - uses: actions/checkout@v3
81 |
82 | - name: Set up QEMU
83 | uses: docker/setup-qemu-action@v2
84 |
85 | - name: Set up Node.js
86 | uses: actions/setup-node@v3
87 | with:
88 | node-version: 20
89 |
90 | - name: Install dependencies
91 | run: yarn install --production
92 |
93 | - name: Build Electron App for ARM64
94 | run: |
95 | yarn run electron-builder --linux --arm64
96 |
97 | - name: Rename ARM64 Artifact
98 | run: |
99 | VERSION=${{ github.ref_name }}
100 | mkdir release
101 | mv dist/*.AppImage "release/screendeck-rpi-arm64-$VERSION.AppImage"
102 |
103 | - name: Upload ARM64 Artifact
104 | uses: actions/upload-artifact@v3
105 | with:
106 | name: screendeck-rpi-${{ github.ref_name }}
107 | path: release/*
108 |
109 | release:
110 | name: Create GitHub Release
111 | runs-on: ubuntu-latest
112 | needs: [build_desktop, build_rpi]
113 | steps:
114 | - name: Download All Artifacts
115 | uses: actions/download-artifact@v3
116 | with:
117 | path: release
118 |
119 | - name: Create GitHub Release
120 | uses: softprops/action-gh-release@v1
121 | with:
122 | tag_name: ${{ github.ref_name }}
123 | name: "ScreenDeck v${{ github.ref_name }}"
124 | body: "Official release of ScreenDeck v${{ github.ref_name}}.\n\nDownload the appropriate version for your OS below."
125 | files: release/**/*
126 | draft: true
127 | env:
128 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Node.js dependencies
2 | node_modules/
3 | package-lock.json
4 |
5 | # MacOS files
6 | .DS_Store
7 | .AppleDouble
8 | .LSOverride
9 |
10 | # Thumbnails
11 | ._*
12 |
13 | # Files that might appear in the root of a volume
14 | .DocumentRevisions-V100
15 | .fseventsd
16 | .Spotlight-V100
17 | .TemporaryItems
18 | .Trashes
19 | .VolumeIcon.icns
20 | .com.apple.timemachine.donotpresent
21 |
22 | # Directories potentially created on remote AFP share
23 | .AppleDB
24 | .AppleDesktop
25 | Network Trash Folder
26 | Temporary Items
27 | .apdisk
28 |
29 | # Logs
30 | logs
31 | *.log
32 | npm-debug.log*
33 | yarn-debug.log*
34 | yarn-error.log*
35 |
36 | # Compiled output
37 | dist/
38 | build/
39 |
40 | # Runtime data
41 | pids
42 | *.pid
43 | *.seed
44 | *.pid.lock
45 |
46 | # Coverage directory used by tools like istanbul
47 | coverage/
48 |
49 | # Compiled TypeScript
50 | *.tsbuildinfo
51 |
52 | # Electron-specific files
53 | *.asar
54 | out/
55 |
56 | # IDE/Editor settings
57 | .idea/
58 | .vscode/
59 | *.sublime-workspace
60 | *.sublime-project
61 |
62 | # Environment variables
63 | .env
64 | .env.local
65 | .env.development.local
66 | .env.test.local
67 | .env.production.local
68 |
69 | # Miscellaneous
70 | *.swp
71 | *.swo
72 | *~
73 | *.tmp
74 | *.temp
75 |
76 | .yarn/
77 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "es5",
3 | "tabWidth": 4,
4 | "semi": false,
5 | "singleQuote": true
6 | }
7 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Joseph Adams
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 | # ScreenDeck
2 |
3 |
4 |
5 | ScreenDeck is a virtual on-screen stream deck for Bitfocus Companion, built with Electron and TypeScript. This application allows you to create a customizable keypad interface that can send button presses to Companion, enabling you to control various applications, and perform automated tasks, all from an easily accessible on-screen interface.
6 |
7 | [](https://youtu.be/QIi7PxsPd34)
8 |
9 | ## Features
10 |
11 | - **Customizable Keypad Layout**: Configure the total number of buttons and number per row.
12 | - **Flexible Connectivity**: Easily set the IP and port for connecting to Bitfocus Companion through the settings menu.
13 | - **Responsive UI**: Designed with a clean, modern interface that adjusts to your screen setup.
14 |
15 | ## How to Use ScreenDeck
16 |
17 | 1. **Download and Install**: Download the latest release here: https://github.com/josephdadams/screendeck/releases
18 |
19 | 1. **Run from Source**: Clone the repository and install dependencies using Yarn:
20 |
21 | ```bash
22 | git clone https://github.com/josephdadams/screendeck
23 | cd screendeck
24 | yarn
25 | yarn start
26 | ```
27 |
28 | Configure Your Settings: Open the settings window to set up the Companion IP, port, and keypad layout.
29 | Connect to Bitfocus Companion: Once configured, ScreenDeck will connect to your Companion setup and allow you to control your configured buttons.
30 | Assign Commands: Use Bitfocus Companion to map specific commands or actions to each button on the ScreenDeck interface.
31 |
32 | ## Contributing
33 |
34 | Contributions are welcome! To contribute to the development of ScreenDeck:
35 |
36 | 1. Fork the Repository: Create a fork of the main repository to your GitHub account.
37 | 1. Create a Branch: Create a new branch for your feature or bug fix:
38 |
39 | ```bash
40 | git checkout -b feature-name
41 | ```
42 |
43 | 1. Make Changes: Implement your changes and test them thoroughly.
44 | 1. Submit a Pull Request: Once your changes are ready, submit a pull request to the main repository with a clear description of your changes.
45 |
46 | ## Development
47 |
48 | To develop ScreenDeck, you will need to have Node.js and Yarn installed. Follow these steps to set up your development environment.
49 |
50 | 1. Clone the Repository:
51 |
52 | ```bash
53 | git clone https://github.com/josephdadams/screendeck
54 | cd ScreenDeck
55 | ```
56 |
57 | 1. Install Dependencies:
58 |
59 | ```bash
60 | yarn
61 | ```
62 |
63 | 1. Run the Application:
64 |
65 | ```bash
66 | yarn start
67 | ```
68 |
69 | 1. Build the Application:
70 |
71 | ```bash
72 | yarn build
73 | ```
74 |
75 | 1. Package the Application using electron-builder:
76 |
77 | ```
78 | yarn dist
79 | ```
80 |
81 | ## License
82 |
83 | ScreenDeck is an open-source project licensed under the MIT License. Feel free to use, modify, and distribute this software as per the terms of the license.
84 | Contact
85 |
86 | For any questions or support, feel free to reach out through GitHub Issues.
87 |
--------------------------------------------------------------------------------
/assets/tray-icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josephdadams/screendeck/9ac228a29463c597087294403ae43ecb3818f425/assets/tray-icon.ico
--------------------------------------------------------------------------------
/assets/tray-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josephdadams/screendeck/9ac228a29463c597087294403ae43ecb3818f425/assets/tray-icon.png
--------------------------------------------------------------------------------
/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-dyld-environment-variables
6 |
7 | com.apple.security.cs.disable-library-validation
8 |
9 | com.apple.security.cs.allow-jit
10 |
11 | com.apple.security.cs.allow-unsigned-executable-memory
12 |
13 | com.apple.security.cs.debugger
14 |
15 | com.apple.security.network.client
16 |
17 | com.apple.security.network.server
18 |
19 | com.apple.security.files.user-selected.read-only
20 |
21 | com.apple.security.inherit
22 |
23 | com.apple.security.automation.apple-events
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "screendeck",
3 | "version": "1.2.0",
4 | "author": "Joseph Adams ",
5 | "description": "ScreenDeck is a virtual on-screen stream deck for Bitfocus Companion, built with Electron and TypeScript. This application allows you to create a customizable keypad interface that can send button presses to Companion, enabling you to control various applications, and perform automated tasks, all from an easily accessible on-screen interface.",
6 | "main": "dist/main.js",
7 | "scripts": {
8 | "start": "yarn build && electron .",
9 | "build": "tsc",
10 | "dev": "concurrently \"tsc -w\" \"wait-on dist/main.js && electron .\"",
11 | "format": "prettier -w .",
12 | "lint:raw": "eslint --ext .ts --ext .js --ignore-pattern dist --ignore-pattern pkg",
13 | "lint": "yarn lint:raw ."
14 | },
15 | "build": {
16 | "appId": "com.josephadams.screendeck",
17 | "productName": "screendeck",
18 | "files": [
19 | "dist/**/*",
20 | "public/**/*",
21 | "assets/**/*"
22 | ],
23 | "mac": {
24 | "target": [
25 | {
26 | "target": "dmg",
27 | "arch": [
28 | "x64",
29 | "arm64"
30 | ]
31 | }
32 | ],
33 | "category": "public.app-category.utilities",
34 | "icon": "assets/tray-icon.png",
35 | "identity": "Joseph Adams (R2PY2DC3A4)",
36 | "extendInfo": {
37 | "NSApplicationSupportsSecureRestorableState": true,
38 | "electronTeamId": "R2PY2DC3A4"
39 | },
40 | "hardenedRuntime": true,
41 | "gatekeeperAssess": true,
42 | "entitlements": "entitlements.mac.plist",
43 | "entitlementsInherit": "entitlements.mac.plist"
44 | },
45 | "win": {
46 | "target": "nsis",
47 | "icon": "assets/tray-icon.ico"
48 | },
49 | "linux": {
50 | "target": [
51 | {
52 | "target": "AppImage",
53 | "arch": ["x64", "arm64"]
54 | },
55 | {
56 | "target": "deb",
57 | "arch": ["x64", "arm64"]
58 | }
59 | ],
60 | "icon": "assets/tray-icon.png"
61 | },
62 | "generateUpdatesFilesForAllChannels": false
63 | },
64 | "dependencies": {
65 | "electron-store": "^8.0.0",
66 | "short-uuid": "^5.2.0"
67 | },
68 | "devDependencies": {
69 | "@electron/notarize": "^2.5.0",
70 | "@types/node": "^18.0.0",
71 | "concurrently": "^8.0.0",
72 | "electron": "^33.2.1",
73 | "electron-builder": "^25.1.8",
74 | "prettier": "^3.3.3",
75 | "ts-node": "^10.0.0",
76 | "typescript": "^5.0.0",
77 | "wait-on": "^7.0.0"
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 | ScreenDeck
13 |
14 |
15 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public/index.js:
--------------------------------------------------------------------------------
1 | // Access the settings from Electron API
2 | window.electronAPI.getSettings().then((settings) => {
3 | const { keysTotal, keysPerRow } = settings
4 | const keypad = document.getElementById('keypad')
5 |
6 | // Set the number of columns based on keysPerRow
7 | keypad.style.gridTemplateColumns = `repeat(${keysPerRow}, 1fr)`
8 |
9 | // Create the keys
10 | const keyElements = []
11 | for (let i = 1; i <= keysTotal; i++) {
12 | const key = document.createElement('div')
13 | key.className = 'key'
14 | const textSpan = document.createElement('span')
15 | textSpan.textContent = '' // Set the key text to empty
16 | key.appendChild(textSpan)
17 |
18 | // Handle key down (mouse or touch start)
19 | key.addEventListener('mousedown', () => sendKeyDown(i))
20 | key.addEventListener('touchstart', () => sendKeyDown(i), {
21 | passive: true,
22 | })
23 |
24 | // Handle key up (mouse or touch end)
25 | key.addEventListener('mouseup', () => sendKeyUp(i))
26 | //key.addEventListener('mouseleave', () => sendKeyUp(i)); // Handle case when mouse leaves the key
27 | key.addEventListener('touchend', () => sendKeyUp(i), { passive: true })
28 |
29 | keypad.appendChild(key)
30 | keyElements.push(key)
31 | }
32 |
33 | // Key queue to handle multiple key updates
34 | let keyQueue = []
35 |
36 | function addToKeyQueue(keyObj) {
37 | keyQueue.push(keyObj)
38 | //implement a queue so that we can process multiple key updates one at a time
39 | if (keyQueue.length === 1) {
40 | processKeyQueue()
41 | }
42 | }
43 |
44 | function processKeyQueue() {
45 | console.log('Processing key queue. Length:', keyQueue.length)
46 | if (keyQueue.length > 0) {
47 | const keyObj = keyQueue.shift()
48 | processKey(keyObj)
49 | }
50 | }
51 |
52 | function processKey(keyObj) {
53 | const { key, bitmap, color, textColor, text, fontSize } = keyObj
54 | const keyIndex = key
55 |
56 | // Check if the key index is valid
57 | if (keyIndex >= 0 && keyIndex < keysTotal) {
58 | const keyElement = keyElements[keyIndex]
59 | const textSpan = keyElement.querySelector('span')
60 |
61 | // Update the key image (bitmap)
62 | if (bitmap) {
63 | renderBitmap(keyElement, bitmap)
64 | } else {
65 | // Update the key background color
66 | if (color) {
67 | keyElement.style.backgroundColor = color
68 | }
69 |
70 | // Decode base64 text and update the key text
71 | if (text) {
72 | const decodedText = atob(text) // Decode the base64-encoded text
73 | textSpan.textContent = decodedText
74 | }
75 |
76 | // Update the text color
77 | if (textColor) {
78 | textSpan.style.color = textColor
79 | }
80 |
81 | // Update the font size
82 | if (fontSize) {
83 | textSpan.style.fontSize = fontSize
84 | }
85 | }
86 | }
87 |
88 | processKeyQueue()
89 | }
90 |
91 | // Close button event listener
92 | document.getElementById('closeButton').addEventListener('click', () => {
93 | window.electronAPI.invoke('closeKeypad')
94 | })
95 |
96 | // Function to simulate button press based on the button index
97 | function pressButton(buttonIndex) {
98 | const button = document.querySelector(
99 | `.key[data-index="${buttonIndex}"]`
100 | )
101 | if (button) {
102 | // Trigger the button action
103 | button.click()
104 | }
105 | }
106 |
107 | // Listen for keyEvent from the main process
108 | window.electronAPI.onKeyEvent((event, keyObj) => {
109 | addToKeyQueue(keyObj)
110 | })
111 |
112 | // Listen for brightness adjustments
113 | window.electronAPI.onBrightness((event, brightness) => {
114 | adjustBrightness(brightness)
115 | })
116 | })
117 |
118 | // Function to adjust the brightness of all keys
119 | function adjustBrightness(brightness) {
120 | // Adjust the opacity of the entire keypad
121 | const keypad = document.getElementById('keypad')
122 | keypad.style.opacity = brightness / 100
123 | }
124 |
125 | // Function to render 8-bit RGB bitmap data on a canvas
126 | function renderBitmap(container, bitmap) {
127 | requestAnimationFrame(() => {
128 | const canvas =
129 | container.querySelector('canvas') ||
130 | document.createElement('canvas')
131 | const ctx = canvas.getContext('2d')
132 |
133 | // Decode the base64 bitmap to binary data
134 | const binary = atob(bitmap)
135 | const bytes = new Uint8Array(binary.length)
136 |
137 | for (let i = 0; i < binary.length; i++) {
138 | bytes[i] = binary.charCodeAt(i)
139 | }
140 |
141 | // Assuming the bitmap is a square; adjust if your data has a different width/height
142 | const size = Math.sqrt(bytes.length / 3) // Calculate the size assuming it's a square (3 bytes per pixel)
143 |
144 | canvas.width = size
145 | canvas.height = size
146 |
147 | const imageData = ctx.createImageData(size, size)
148 |
149 | // Fill the ImageData object with the RGB pixel data
150 | for (let i = 0, j = 0; i < bytes.length; i += 3, j += 4) {
151 | imageData.data[j] = bytes[i] // Red
152 | imageData.data[j + 1] = bytes[i + 1] // Green
153 | imageData.data[j + 2] = bytes[i + 2] // Blue
154 | imageData.data[j + 3] = 255 // Alpha (fully opaque)
155 | }
156 |
157 | // Draw the image on the canvas
158 | ctx.putImageData(imageData, 0, 0)
159 |
160 | // Append the canvas to the container (key element)
161 | if (!container.contains(canvas)) {
162 | container.innerHTML = '' // Clear existing content
163 | container.appendChild(canvas)
164 | }
165 | })
166 | }
167 |
168 | // Function to send keyDown event
169 | function sendKeyDown(key) {
170 | window.electronAPI.invoke('keyDown', { key })
171 | }
172 |
173 | // Function to send keyUp event
174 | function sendKeyUp(key) {
175 | window.electronAPI.invoke('keyUp', { key })
176 | }
177 |
--------------------------------------------------------------------------------
/public/settings.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 | ScreenDeck Settings
12 |
39 |
40 |
41 | ScreenDeck Settings
42 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/public/settings.js:
--------------------------------------------------------------------------------
1 | // Load current settings into the form
2 | window.electronAPI.getSettings().then((settings) => {
3 | document.getElementById('companionIP').value =
4 | settings.companionIP || '127.0.0.1'
5 | document.getElementById('companionPort').value =
6 | settings.companionPort || 16622
7 | document.getElementById('keysTotal').value = settings.keysTotal || 6
8 | document.getElementById('keysPerRow').value = settings.keysPerRow || 1
9 | document.getElementById('bitmapSize').value = settings.bitmapSize || 72
10 | document.getElementById('alwaysOnTop').checked =
11 | settings.alwaysOnTop || false
12 | document.getElementById('movable').checked = settings.movable || false
13 | })
14 |
15 | // Handle form submission and save the updated settings
16 | document.getElementById('settingsForm').addEventListener('submit', (event) => {
17 | event.preventDefault()
18 |
19 | const newSettings = {
20 | companionIP: document.getElementById('companionIP').value,
21 | companionPort: parseInt(
22 | document.getElementById('companionPort').value,
23 | 10
24 | ),
25 | keysTotal: parseInt(document.getElementById('keysTotal').value, 10),
26 | keysPerRow: parseInt(document.getElementById('keysPerRow').value, 10),
27 | bitmapSize: parseInt(document.getElementById('bitmapSize').value, 10),
28 | alwaysOnTop: document.getElementById('alwaysOnTop').checked,
29 | movable: document.getElementById('movable').checked,
30 | }
31 |
32 | // Save the new settings using Electron API
33 | window.electronAPI.saveSettings(newSettings).then(() => {
34 | // Notify the main process to reload the window with new settings
35 | window.electronAPI.invoke('reloadWindow')
36 | // Close the settings window
37 | window.close()
38 | })
39 | })
40 |
--------------------------------------------------------------------------------
/public/styles.css:
--------------------------------------------------------------------------------
1 | /* Allow the main body area to be draggable */
2 | body {
3 | -webkit-app-region: drag;
4 | margin: 0;
5 | padding: 0;
6 | display: flex;
7 | justify-content: flex-end;
8 | align-items: center;
9 | height: 100vh;
10 | background: transparent;
11 | }
12 |
13 | /* Draggable area that encapsulates the keypad */
14 | .draggable-area {
15 | width: 100%;
16 | height: 100%;
17 | display: flex;
18 | justify-content: flex-end;
19 | align-items: center;
20 | }
21 |
22 | /* Keypad styles */
23 | .keypad {
24 | display: grid;
25 | gap: 10px;
26 | padding: 20px;
27 | background: rgba(0, 0, 0, 0.5);
28 | border-radius: 8px;
29 | }
30 |
31 | /* Button and interactive elements should not affect drag */
32 | .key,
33 | .close-button {
34 | -webkit-app-region: no-drag;
35 | position: relative;
36 | background-color: #444;
37 | color: white;
38 | display: flex;
39 | align-items: center;
40 | justify-content: center;
41 | border-radius: 10px;
42 | font-size: 16px;
43 | cursor: pointer;
44 | overflow: hidden;
45 | }
46 |
47 | /* Adjust layout and styling for the close button */
48 | .close-button {
49 | position: absolute;
50 | top: 5px;
51 | right: 5px;
52 | width: 20px;
53 | height: 20px;
54 | background-color: black;
55 | color: white;
56 | border: none;
57 | border-radius: 50%;
58 | font-size: 14px;
59 | display: flex;
60 | align-items: center;
61 | justify-content: center;
62 | cursor: pointer;
63 | z-index: 10;
64 | }
65 |
66 | .close-button:hover {
67 | background-color: rgb(21, 21, 21);
68 | color: #fff;
69 | }
70 |
71 | /* Disable text selection across the entire window */
72 | body,
73 | .key,
74 | .close-button {
75 | user-select: none; /* Prevent text selection */
76 | -webkit-user-select: none;
77 | -moz-user-select: none;
78 | -ms-user-select: none;
79 | }
80 |
81 | /* Disable outline on focus to prevent visual feedback when buttons are clicked */
82 | .key,
83 | .close-button {
84 | outline: none;
85 | }
86 |
--------------------------------------------------------------------------------
/scripts/notarize.js:
--------------------------------------------------------------------------------
1 | const { notarize } = require('electron-notarize')
2 |
3 | exports.default = async function notarizing(context) {
4 | const { electronPlatformName, appOutDir } = context
5 | if (electronPlatformName !== 'darwin') {
6 | return
7 | }
8 |
9 | const appName = context.packager.appInfo.productFilename
10 |
11 | console.log('Starting notarization...')
12 |
13 | return await notarize({
14 | appBundleId: 'com.josephadams.screendeck',
15 | appPath: `${appOutDir}/${appName}.app`,
16 | appleId: process.env.APPLE_ID,
17 | appleIdPassword: process.env.APPLE_ID_PASSWORD,
18 | })
19 | }
20 |
--------------------------------------------------------------------------------
/src/defaults.ts:
--------------------------------------------------------------------------------
1 | // src/defaults.ts
2 |
3 | export const defaultSettings = {
4 | companionIP: '127.0.0.1', // Default IP address for companion
5 | companionPort: 16622, // Default satellite port for companion
6 | keysTotal: 6, // Default total keys for companion
7 | keysPerRow: 1, // Default keys per row for companion
8 | bitmapSize: 72, // Default bitmap size
9 | alwaysOnTop: true, // Default always on top setting
10 | movable: false, // Default setting for whether the window is movable
11 | disablePress: false, // Default setting for whether button presses are allowed or not
12 | }
13 |
14 | export type SettingsType = typeof defaultSettings
15 |
--------------------------------------------------------------------------------
/src/ipcHandlers.ts:
--------------------------------------------------------------------------------
1 | import { ipcMain } from 'electron'
2 | import Store from 'electron-store'
3 | import { defaultSettings } from './defaults' // Import default settings
4 | import { createMainWindow } from './mainWindow' // Import the createMainWindow function
5 | import { createSatellite, closeSatellite } from './satelliteFunctions'
6 |
7 | const store = new Store({ defaults: defaultSettings })
8 |
9 | // Initialize the IPC handlers
10 | export function initializeIpcHandlers() {
11 | // Handle reloading the main window
12 | ipcMain.handle('reloadWindow', () => {
13 | let keysTotal = store.get('keysTotal', 6)
14 | let keysPerRow = store.get('keysPerRow', 1)
15 | let bitmapSize = store.get('bitmapSize', 72)
16 |
17 | global.mainWindow?.hide()
18 |
19 | createMainWindow()
20 |
21 | let companionIP = store.get('companionIP', '127.0.0.1')
22 | let currentIP = global.satellite?.getIP()
23 |
24 | if (currentIP !== companionIP) {
25 | // If the IP address has changed
26 | closeSatellite()
27 | clearInterval(global.satelliteTimeout)
28 | global.satelliteTimeout = setTimeout(() => {
29 | createSatellite(false)
30 | }, 800)
31 | } else if (!global.satellite?.isConnected) {
32 | // If we are not connected
33 | clearInterval(global.satelliteTimeout)
34 | global.satelliteTimeout = setTimeout(() => {
35 | createSatellite(false)
36 | }, 800)
37 | } else {
38 | //wait 800ms before connecting to the satellite
39 | setTimeout(() => {
40 | global.satellite?.removeDevice()
41 | global.satellite?.changeKeys(keysTotal, keysPerRow, bitmapSize)
42 | }, 800)
43 | }
44 | })
45 |
46 | // Handle keyDown event from renderer or other sources
47 | ipcMain.handle('keyDown', (_, keyObj) => {
48 | if (satellite && typeof satellite.sendKeyDown === 'function') {
49 | let keyNumber: number = parseInt(keyObj.key) - 1
50 | if (store.get('disablePress', false) == false) { //only send keyDown if button presses are allowed
51 | satellite.sendKeyDown(keyNumber) // Call keyDown method on the Satellite instance
52 | }
53 | }
54 | })
55 |
56 | // Handle keyUp event from renderer or other sources
57 | ipcMain.handle('keyUp', (_, keyObj) => {
58 | if (satellite && typeof satellite.sendKeyUp === 'function') {
59 | let keyNumber: number = parseInt(keyObj.key) - 1
60 | if (store.get('disablePress', false) == false) { //only send keyUp if button presses are allowed
61 | satellite.sendKeyUp(keyNumber) // Call keyUp method on the Satellite instance
62 | }
63 | }
64 | })
65 |
66 | // Handle keyRotate event from renderer or other sources
67 | ipcMain.handle('keyRotate', (_, keyObj) => {
68 | if (satellite && typeof satellite.sendKeyRotate === 'function') {
69 | let keyNumber: number = parseInt(keyObj.key) - 1
70 | let direction: number = parseInt(keyObj.direction)
71 | if (store.get('disablePress', false) == false) { //only send keyRotate if button presses are allowed
72 | satellite.sendKeyRotate(keyNumber, direction) // Call keyRotate method on the Satellite instance
73 | }
74 | }
75 | })
76 |
77 | // Handle setting the brightness
78 | ipcMain.handle('setBrightness', (_, brightness) => {
79 | if (global.mainWindow && global.mainWindow.webContents) {
80 | global.mainWindow.webContents.send('brightness', brightness)
81 | }
82 | })
83 |
84 | // Handle fetching settings
85 | ipcMain.handle('getSettings', () => {
86 | return store.store
87 | })
88 |
89 | // Handle saving settings
90 | ipcMain.handle('saveSettings', (_, newSettings) => {
91 | store.set(newSettings)
92 | })
93 |
94 | // Handle IPC request to close the keypad
95 | ipcMain.handle('closeKeypad', () => {
96 | global.mainWindow?.close()
97 | })
98 | }
99 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | declare global {
2 | var mainWindow: BrowserWindow | null
3 | }
4 |
5 | import { app, BrowserWindow, globalShortcut } from 'electron'
6 | import createTray from './tray'
7 | import { createMainWindow } from './mainWindow' // Import the createMainWindow function
8 | import { createSatellite, closeSatellite } from './satelliteFunctions' // Import createSatellite and closeSatellite functions
9 | import { showNotification } from './notification'
10 | import { initializeIpcHandlers } from './ipcHandlers' // Import IPC handlers if needed
11 |
12 | let quitTimeout: NodeJS.Timeout
13 |
14 | app.on('ready', () => {
15 | if (process.platform === 'darwin') {
16 | app.dock.hide()
17 | }
18 |
19 | createMainWindow()
20 | createTray()
21 |
22 | // Initialize IPC handlers after window creation
23 | initializeIpcHandlers()
24 |
25 | //wait 500ms before connecting to the satellite
26 | clearInterval(global.satelliteTimeout)
27 | global.satelliteTimeout = setTimeout(() => {
28 | createSatellite(true)
29 | }, 800)
30 | })
31 |
32 | app.on('window-all-closed', () => {
33 | if (process.platform !== 'darwin') {
34 | app.quit()
35 | }
36 | })
37 |
38 | app.on('activate', async () => {
39 | if (BrowserWindow.getAllWindows().length === 0) {
40 | await app.whenReady()
41 | // Create the main window if it doesn't exist
42 | createMainWindow()
43 | }
44 | })
45 |
46 | app.on('before-quit', (event) => {
47 | //event.preventDefault();
48 | closeSatellite() // Close the satellite connection when the app is quitting
49 | quitTimeout = setTimeout(() => {
50 | app.exit(0) //makes the app exit after 1 second regardless of the satellite connection
51 | }, 1000)
52 | })
53 |
54 | app.on('quit', () => clearTimeout(quitTimeout)) // Cleanup timeout on quit
--------------------------------------------------------------------------------
/src/mainWindow.ts:
--------------------------------------------------------------------------------
1 | import { app, BrowserWindow, screen, globalShortcut } from 'electron'
2 | import * as path from 'path'
3 | import Store from 'electron-store'
4 | import { defaultSettings } from './defaults'
5 | import createTray, { updateTrayMenu } from './tray' // Ensure tray management works properly with window events
6 |
7 | const store = new Store({ defaults: defaultSettings })
8 |
9 | declare global {
10 | //var mainWindow: BrowserWindow | null
11 | }
12 |
13 | export function createMainWindow() {
14 | if (!app.isReady()) {
15 | console.error('App is not ready. Cannot create main window.')
16 | return
17 | }
18 |
19 | const alwaysOnTop = store.get('alwaysOnTop', true)
20 | const keysTotal = store.get('keysTotal', 6)
21 | const keysPerRow = store.get('keysPerRow', 1)
22 | const movable = store.get('movable', false)
23 |
24 | const { width, height } = calculateWindowSize(keysTotal, keysPerRow)
25 | const primaryDisplay = screen.getPrimaryDisplay()
26 | const { width: screenWidth } = primaryDisplay.workAreaSize
27 |
28 | if (global.mainWindow) {
29 | global.mainWindow.close()
30 | global.mainWindow = null
31 | }
32 |
33 | global.mainWindow = new BrowserWindow({
34 | width: width,
35 | height: height,
36 | x: screenWidth - width - 20,
37 | y: 20,
38 | transparent: true,
39 | frame: false,
40 | alwaysOnTop: alwaysOnTop,
41 | resizable: false,
42 | skipTaskbar: true,
43 | movable: movable,
44 | webPreferences: {
45 | preload: path.join(__dirname, 'preload.js'),
46 | contextIsolation: true, // Enable context isolation for security
47 | nodeIntegration: false, // Disable nodeIntegration for security
48 | },
49 | })
50 |
51 | global.mainWindow.loadFile(path.join(__dirname, '../public/index.html'))
52 | global.mainWindow.setHasShadow(false)
53 |
54 | //show dev tools
55 | //global.mainWindow.webContents.openDevTools()
56 |
57 | //hide the window until satellite is connected
58 | global.mainWindow?.hide()
59 |
60 | if (global.satellite?.isConnected) {
61 | global.mainWindow?.show()
62 | updateTrayMenu()
63 | }
64 |
65 | global.mainWindow.on('blur', () => {
66 | if (!alwaysOnTop) {
67 | global.mainWindow?.hide()
68 | }
69 | updateTrayMenu() // Update tray menu when the window is hidden
70 | })
71 |
72 | global.mainWindow.on('focus', () => {
73 | updateTrayMenu() // Update tray menu when the window is focused
74 | })
75 |
76 | global.mainWindow.on('hide', () => {
77 | updateTrayMenu() // Update tray menu when the window is hidden
78 | })
79 |
80 | global.mainWindow.on('close', (event) => {
81 | event.preventDefault()
82 | global.mainWindow?.hide()
83 | updateTrayMenu() // Update tray menu when the window is closed
84 | })
85 | }
86 |
87 | function calculateWindowSize(keysTotal: number, keysPerRow: number) {
88 | const bitmapSize = store.get('bitmapSize', 72)
89 | const KEY_WIDTH = bitmapSize
90 | const KEY_HEIGHT = bitmapSize
91 | const PADDING = 20
92 | const GAP = 10
93 | const rows = Math.ceil(keysTotal / keysPerRow)
94 | const width = keysPerRow * KEY_WIDTH + (keysPerRow - 1) * GAP + PADDING * 2
95 | const height = rows * KEY_HEIGHT + (rows - 1) * GAP + PADDING * 2
96 | return { width, height }
97 | }
98 |
--------------------------------------------------------------------------------
/src/notification.ts:
--------------------------------------------------------------------------------
1 | import { Notification } from 'electron'
2 |
3 | /**
4 | * Shows a notification with the given title and body.
5 | * @param title - The title of the notification.
6 | * @param body - The body content of the notification.
7 | */
8 | export function showNotification(title: string, body: string) {
9 | const notification = new Notification({
10 | title,
11 | body,
12 | silent: false, // Set to true if you want to suppress notification sounds
13 | })
14 |
15 | notification.show()
16 | }
17 |
--------------------------------------------------------------------------------
/src/preload.ts:
--------------------------------------------------------------------------------
1 | import { contextBridge, ipcRenderer } from 'electron'
2 |
3 | // Expose APIs to the renderer process through contextBridge
4 | contextBridge.exposeInMainWorld('electronAPI', {
5 | // Wrapper for invoking IPC methods from the renderer
6 | invoke: (channel: string, data?: any) => ipcRenderer.invoke(channel, data),
7 |
8 | onBrightness: (callback: (event: any, brightness: number) => void) => {
9 | ipcRenderer.on('brightness', (event, brightness) =>
10 | callback(event, brightness)
11 | )
12 | },
13 |
14 | // Listener for key events (or other events)
15 | onKeyEvent: (callback: (event: any, keyObj: any) => void) => {
16 | ipcRenderer.on('keyEvent', (event, keyObj) => callback(event, keyObj))
17 | },
18 |
19 | // Fetch settings from the main process
20 | getSettings: () => ipcRenderer.invoke('getSettings'),
21 |
22 | // Save settings to the main process
23 | saveSettings: (newSettings: any) =>
24 | ipcRenderer.invoke('saveSettings', newSettings),
25 | })
26 |
--------------------------------------------------------------------------------
/src/satellite.ts:
--------------------------------------------------------------------------------
1 | import { EventEmitter } from 'events'
2 | import net, { Socket } from 'net'
3 |
4 | export interface KeyEvent {
5 | deviceId?: string
6 | key?: number
7 | type?: string
8 | bitmap?: string
9 | color?: string
10 | textColor?: string
11 | text?: string
12 | fontSize?: string
13 | }
14 |
15 | export class Satellite extends EventEmitter {
16 | private deviceId: string
17 | private productName: string
18 | private ip: string
19 | private port: number
20 | private keysTotal: number
21 | private keysPerRow: number
22 | private bitmaps: boolean | string | number
23 | private colors: boolean | string
24 | private text: boolean
25 | private textStyle: boolean
26 | private socket: Socket | null
27 | private ping_interval: NodeJS.Timeout | null
28 |
29 | public companionVersion: string | null
30 | public apiVersion: string | null
31 |
32 | constructor(
33 | deviceId = '11111',
34 | productName = 'ScreenDeck',
35 | ip = '127.0.0.1',
36 | port = 16622,
37 | keysTotal = 6,
38 | keysPerRow = 1,
39 | bitmaps: boolean | string | number = true,
40 | colors: boolean | string = true,
41 | text = true,
42 | textStyle = true
43 | ) {
44 | super()
45 |
46 | this.deviceId = deviceId
47 | this.productName = productName
48 | this.ip = ip
49 | this.port = port
50 | this.keysTotal = keysTotal
51 | this.keysPerRow = keysPerRow
52 | this.bitmaps = bitmaps
53 | this.colors = colors
54 | this.text = text
55 | this.textStyle = textStyle
56 | this.socket = null
57 | this.ping_interval = null
58 |
59 | this.companionVersion = ''
60 | this.apiVersion = ''
61 | }
62 |
63 | public isConnected = false
64 |
65 | public getIP() {
66 | return this.ip
67 | }
68 |
69 | public connect() {
70 | this.companionVersion = ''
71 | this.apiVersion = ''
72 |
73 | this.socket = new net.Socket()
74 |
75 | this.socket.connect(this.port, this.ip, () => {})
76 |
77 | let receiveBuffer = ''
78 |
79 | this.socket.on('data', (chunk) => {
80 | receiveBuffer += chunk.toString()
81 |
82 | let lineEnd
83 | while ((lineEnd = receiveBuffer.indexOf('\n')) !== -1) {
84 | const line = receiveBuffer.slice(0, lineEnd).trim() // Extract and trim the line
85 | receiveBuffer = receiveBuffer.slice(lineEnd + 1) // Update the buffer
86 | try {
87 | this.processData(line) // Process the line
88 | } catch (error) {
89 | console.error(error)
90 | }
91 | }
92 | })
93 |
94 | this.socket.on('error', (error) => {
95 | this.emit('error', error)
96 | })
97 |
98 | this.socket.on('close', () => {
99 | this.isConnected = false
100 |
101 | this.companionVersion = ''
102 | this.apiVersion = ''
103 |
104 | this.emit('disconnected')
105 | })
106 | }
107 |
108 | public disconnect() {
109 | if (this.ping_interval) {
110 | clearInterval(this.ping_interval)
111 | }
112 |
113 | this.removeDevice()
114 | this.sendCommand('QUIT')
115 |
116 | if (this.socket) {
117 | this.socket.destroy()
118 | this.socket = null
119 | }
120 | }
121 |
122 | public changeKeys(
123 | keysTotal: number,
124 | keysPerRow: number,
125 | bitmaps: boolean | string | number
126 | ) {
127 | this.keysTotal = keysTotal
128 | this.keysPerRow = keysPerRow
129 | this.bitmaps = bitmaps
130 | this.addDevice()
131 | }
132 |
133 | public addDevice() {
134 | if (this.apiVersion === null) {
135 | this.apiVersion = '1.0.0'
136 | }
137 |
138 | const [major, minor, patch] = this.apiVersion.split('.').map(Number)
139 |
140 | let addDeviceCmd = `ADD-DEVICE DEVICEID=${this.deviceId} PRODUCT_NAME="${this.productName}"`
141 |
142 | if (
143 | major >= 1 ||
144 | (major === 1 && minor >= 5) ||
145 | (major === 1 && minor === 5 && patch >= 1)
146 | ) {
147 | addDeviceCmd += ` KEYS_TOTAL=${this.keysTotal} KEYS_PER_ROW=${this.keysPerRow}`
148 | }
149 |
150 | if (major >= 1 || (major === 1 && minor >= 5)) {
151 | //verify if bitmaps is a number
152 | if (typeof this.bitmaps === 'number') {
153 | addDeviceCmd += ` BITMAPS=${this.bitmaps}`
154 | } else {
155 | if (this.bitmaps !== true && this.bitmaps !== false) {
156 | this.bitmaps = true
157 | }
158 | addDeviceCmd += ` BITMAPS=${this.bitmaps}`
159 | }
160 | } else {
161 | if (this.bitmaps !== true && this.bitmaps !== false) {
162 | this.bitmaps = true
163 | }
164 | addDeviceCmd += ` BITMAPS=${this.bitmaps}`
165 | }
166 |
167 | if (major >= 1 || (major === 1 && minor >= 6)) {
168 | addDeviceCmd += ` COLORS=${this.colors}`
169 | } else {
170 | if (this.colors !== true && this.colors !== false) {
171 | this.colors = true
172 | }
173 | addDeviceCmd += ` COLORS=${this.colors}`
174 | }
175 |
176 | addDeviceCmd += ` TEXT=${this.text}`
177 |
178 | if (major >= 1 || (major === 1 && minor >= 4)) {
179 | addDeviceCmd += ` TEXT_STYLE=${this.textStyle}`
180 | }
181 |
182 | this.sendCommand(addDeviceCmd)
183 | console.log('Device Added:', addDeviceCmd)
184 | }
185 |
186 | public removeDevice() {
187 | this.sendCommand(`REMOVE-DEVICE DEVICEID=${this.deviceId}`)
188 | }
189 |
190 | private startPing() {
191 | this.ping_interval = setInterval(() => {
192 | this.sendCommand('PING')
193 | }, 2000) // 2 seconds, as recommended per the protocol
194 | }
195 |
196 | private sendCommand(cmd: string) {
197 | if (this.socket) {
198 | this.socket.write(`${cmd}\n`)
199 | }
200 | }
201 |
202 | public close() {
203 | this.disconnect()
204 | }
205 |
206 | public sendKeyDown(keyNumber: number) {
207 | //ensure key is a number between 0 and total keys
208 | if (keyNumber < 0 || keyNumber >= this.keysTotal) {
209 | this.emit('error', 'Invalid key number')
210 | }
211 |
212 | this.sendCommand(
213 | `KEY-PRESS DEVICEID=${this.deviceId} KEY=${keyNumber} PRESSED=true`
214 | )
215 | }
216 |
217 | public sendKeyUp(keyNumber: number) {
218 | //ensure key is a number between 0 and total keys
219 | if (keyNumber < 0 || keyNumber >= this.keysTotal) {
220 | this.emit('error', 'Invalid key number')
221 | }
222 |
223 | this.sendCommand(
224 | `KEY-PRESS DEVICEID=${this.deviceId} KEY=${keyNumber} PRESSED=false`
225 | )
226 | }
227 |
228 | public sendKeyRotate(keyNumber: number, direction: number) {
229 | //ensure direction is -1 or 1
230 | if (direction !== -1 && direction !== 1) {
231 | direction = 1
232 | }
233 |
234 | this.sendCommand(
235 | `ROTATE DEVICEID=${this.deviceId} KEY=${keyNumber} DIRECTION=${direction}`
236 | )
237 | }
238 |
239 | private processData(data: string) {
240 | try {
241 | const str_raw = data.trim()
242 | const str_split = str_raw.split('\n')
243 |
244 | for (const str of str_split) {
245 | const params = str.split(' ')
246 | const command = params[0]
247 |
248 | if (command === 'BEGIN') {
249 | this.isConnected = true
250 | this.emit('connected')
251 |
252 | for (let i = 1; i < params.length; i++) {
253 | const [property, value] = params[i].split('=')
254 |
255 | if (property.toUpperCase() === 'COMPANIONVERSION') {
256 | this.companionVersion = value
257 | console.log(
258 | 'Companion Version:',
259 | this.companionVersion
260 | )
261 | }
262 |
263 | if (property.toUpperCase() === 'APIVERSION') {
264 | this.apiVersion = value
265 | console.log('API Version:', this.apiVersion)
266 | }
267 | }
268 |
269 | if (!this.apiVersion) {
270 | this.apiVersion = '1.0.0'
271 | }
272 |
273 | this.addDevice()
274 | continue
275 | }
276 |
277 | if (command === 'ADD-DEVICE') {
278 | if (params[1] === 'OK') {
279 | this.startPing()
280 | }
281 | continue
282 | }
283 |
284 | if (command === 'KEY-STATE') {
285 | const keyObj: KeyEvent = {}
286 |
287 | for (let i = 1; i < params.length; i++) {
288 | const [property, value] = params[i].split('=')
289 |
290 | switch (property) {
291 | case 'DEVICEID':
292 | keyObj.deviceId = value
293 | break
294 | case 'KEY':
295 | keyObj.key = parseInt(value, 10)
296 | break
297 | case 'TYPE':
298 | keyObj.type = value
299 | break
300 | case 'BITMAP':
301 | keyObj.bitmap = value
302 | break
303 | case 'COLOR':
304 | keyObj.color = value
305 | break
306 | case 'TEXT_COLOR':
307 | keyObj.textColor = value
308 | break
309 | case 'TEXT':
310 | keyObj.text = value
311 | break
312 | case 'FONT_SIZE':
313 | keyObj.fontSize = value
314 | break
315 | }
316 | }
317 |
318 | this.emit('keyEvent', keyObj)
319 | }
320 |
321 | if (command === 'KEYS-CLEAR') {
322 | // Handle KEYS-CLEAR logic
323 | this.emit('clear')
324 | }
325 |
326 | if (command === 'BRIGHTNESS') {
327 | // Handle BRIGHTNESS logic
328 | for (let i = 1; i < params.length; i++) {
329 | const [property, value] = params[i].split('=') // Split the property and value
330 |
331 | if (property === 'VALUE') {
332 | this.emit('brightness', parseInt(value, 10)) // Emit the brightness event
333 | }
334 | }
335 | }
336 | }
337 | } catch (error) {
338 | console.error(error)
339 | }
340 | }
341 | }
342 |
--------------------------------------------------------------------------------
/src/satelliteFunctions.ts:
--------------------------------------------------------------------------------
1 | declare global {
2 | var satellite: Satellite | null
3 | var satelliteTimeout: NodeJS.Timeout | undefined
4 | }
5 |
6 | import ShortUniqueId from 'short-uuid'
7 | import { KeyEvent, Satellite } from './satellite'
8 | import Store from 'electron-store'
9 | import { defaultSettings } from './defaults'
10 | import { showNotification } from './notification'
11 | import { updateTrayMenu } from './tray'
12 |
13 | const store = new Store({ defaults: defaultSettings })
14 |
15 | let keyQueue: KeyEvent[] = []
16 |
17 | export function createSatellite(notificationShow: boolean = true) {
18 | const companionIP: string = store.get('companionIP', '127.0.0.1')
19 | const companionPort: number = store.get('companionPort', 16622)
20 | let deviceId: string = store.get('deviceId')
21 |
22 | if (!deviceId) {
23 | const uuidGenerator = ShortUniqueId()
24 | deviceId = uuidGenerator.new()
25 | store.set('deviceId', deviceId)
26 | }
27 |
28 | const keysTotal = store.get('keysTotal', 6)
29 | const keysPerRow = store.get('keysPerRow', 1)
30 | const bitmapSize = store.get('bitmapSize', 72)
31 |
32 | showNotification(
33 | 'Connecting to Companion',
34 | `Connecting to Companion IP: ${companionIP}`
35 | )
36 |
37 | global.satellite = new Satellite(
38 | deviceId,
39 | 'ScreenDeck',
40 | companionIP,
41 | companionPort,
42 | keysTotal,
43 | keysPerRow,
44 | bitmapSize
45 | )
46 |
47 | updateTrayMenu()
48 |
49 | global.satellite.on('connected', () => {
50 | if (notificationShow) {
51 | showNotification(
52 | 'Satellite Connected',
53 | `Connected to Companion: ${companionIP}`
54 | )
55 | }
56 | global.mainWindow?.show() //show the window when satellite is connected
57 | global.mainWindow?.focus() //focus the window when satellite is connected (bring to top)
58 | //wait 50ms and update tray menu
59 |
60 | setTimeout(() => {
61 | updateTrayMenu()
62 | }, 50)
63 | })
64 |
65 | global.satellite.on('keyEvent', (keyEvent) => {
66 | addToKeyQueue(keyEvent)
67 | })
68 |
69 | global.satellite.on('brightness', (brightness) => {
70 | if (global.mainWindow) {
71 | global.mainWindow.webContents.send('brightness', brightness)
72 | }
73 | })
74 |
75 | global.satellite.on('disconnected', () => {
76 | /*showNotification(
77 | 'Satellite Disconnected',
78 | `Disconnected from Companion IP: ${companionIP}`
79 | )*/
80 | global.mainWindow?.hide() //hide the main window when satellite is disconnected
81 |
82 | //wait 50ms and update tray menu
83 | setTimeout(() => {
84 | updateTrayMenu()
85 | }, 50)
86 |
87 | //wait 10s before trying to reconnect
88 | clearInterval(global.satelliteTimeout)
89 | global.satelliteTimeout = setTimeout(() => {
90 | createSatellite(false)
91 | }, 10000)
92 | })
93 |
94 | //on error
95 | global.satellite.on('error', (error) => {
96 | // Check the error code and send a user-friendly message to the renderer
97 | console.log('Satellite Error:', error)
98 |
99 | if (error.code === 'ECONNREFUSED') {
100 | showNotification(
101 | 'Connection Error',
102 | `Unable to connect to ${error.address}:${error.port}. Please check the IP address and try again.`
103 | )
104 |
105 | //wait 50ms and update tray menu
106 | setTimeout(() => {
107 | updateTrayMenu()
108 | }, 50)
109 | } else if (error.code === 'ECONNRESET') {
110 | showNotification(
111 | 'Companion Satellite Connection Lost',
112 | `Connection to Companion lost. Trying to reconnect in 10 seconds...`
113 | )
114 |
115 | //wait 50ms and update tray menu
116 | setTimeout(() => {
117 | updateTrayMenu()
118 | }, 50)
119 | } else if (error.code === 'ETIMEDOUT') {
120 | showNotification(
121 | 'Companion Satellite Connection Timed Out',
122 | `Connection to Companion timed out. Trying to reconnect in 10 seconds...`
123 | )
124 |
125 | //wait 50ms and update tray menu
126 | setTimeout(() => {
127 | updateTrayMenu()
128 | }, 50)
129 | } else {
130 | showNotification(
131 | 'Connection Error',
132 | `An unexpected error occurred: ${error.message}`
133 | )
134 | }
135 | })
136 |
137 | global.satellite.connect()
138 | }
139 |
140 | function addToKeyQueue(keyObj: KeyEvent) {
141 | keyQueue.push(keyObj)
142 | //implement a queue so that we can process multiple key updates one at a time
143 | if (keyQueue.length === 1) {
144 | processKeyQueue()
145 | }
146 | }
147 |
148 | function processKeyQueue() {
149 | //console.log('Processing key queue. Length:', keyQueue.length)
150 | if (keyQueue.length > 0) {
151 | const keyObj: KeyEvent = keyQueue.shift() as KeyEvent
152 | processKey(keyObj)
153 | }
154 | }
155 |
156 | function processKey(keyObj: KeyEvent) {
157 | if (global.mainWindow) {
158 | global.mainWindow.webContents.send('keyEvent', keyObj)
159 | }
160 |
161 | //process the next key in the queue
162 | processKeyQueue()
163 | }
164 |
165 | export function closeSatellite() {
166 | global.satellite?.disconnect()
167 | global.satellite = null
168 | }
169 |
--------------------------------------------------------------------------------
/src/settings.ts:
--------------------------------------------------------------------------------
1 | import { BrowserWindow } from 'electron'
2 | import * as path from 'path'
3 |
4 | let settingsWindow: BrowserWindow | null = null
5 |
6 | export default function createSettingsWindow() {
7 | if (settingsWindow) {
8 | settingsWindow.focus()
9 | return
10 | }
11 |
12 | settingsWindow = new BrowserWindow({
13 | width: 400,
14 | height: 600,
15 | resizable: false,
16 | webPreferences: {
17 | preload: path.join(__dirname, 'preload.js'),
18 | },
19 | })
20 |
21 | settingsWindow.loadFile(path.join(__dirname, '../public/settings.html'))
22 |
23 | settingsWindow.on('closed', () => {
24 | settingsWindow = null
25 | })
26 | }
27 |
--------------------------------------------------------------------------------
/src/tray.ts:
--------------------------------------------------------------------------------
1 | import { Tray, Menu, nativeImage, app } from 'electron'
2 | import * as path from 'path'
3 | import Store from 'electron-store'
4 | import createSettingsWindow from './settings' // Import the createSettingsWindow function
5 |
6 | let tray: Tray | null = null
7 | const store = new Store()
8 |
9 | export default function createTray() {
10 | // Create the tray icon using nativeImage and resize it to the desired size
11 | const image = nativeImage.createFromPath(
12 | path.join(__dirname, '../assets/tray-icon.png') // Adjust this path as needed
13 | )
14 | tray = new Tray(image.resize({ width: 16, height: 16 }))
15 |
16 | tray.setToolTip('ScreenDeck')
17 | updateTrayMenu()
18 | }
19 |
20 | // Function to update the tray menu based on the window state
21 | function updateTrayMenu() {
22 | // Retrieve stored values
23 | const companionIP = store.get('companionIP', '127.0.0.1') as string
24 | const deviceId = store.get('deviceId', 'Unknown') as string
25 | const version = app.getVersion()
26 |
27 | // Build context menu with version, IP, and Device ID
28 | let contextMenuTemplate = [
29 | { label: `ScreenDeck Version: ${version || ''}`, enabled: false },
30 | { label: `Companion IP: ${companionIP || ''}`, enabled: false },
31 | {
32 | label: `Companion Version: ${global.satellite?.companionVersion || 'Unknown'}`,
33 | enabled: false,
34 | },
35 | {
36 | label: `Satellite API Version: ${global.satellite?.apiVersion || 'Unknown'}`,
37 | enabled: false,
38 | },
39 | { label: `Device ID: ${deviceId || ''}`, enabled: false },
40 | {
41 | label: `Connected: ${global.satellite?.isConnected ? 'Yes' : 'No'}`,
42 | enabled: false,
43 | },
44 | { type: 'separator' },
45 | //disable press checkbox
46 | {
47 | label: 'Disable Button Presses',
48 | type: 'checkbox',
49 | checked: store.get('disablePress', false),
50 | click: () => {
51 | store.set('disablePress', !store.get('disablePress', false))
52 | },
53 | },
54 | {
55 | label: 'Settings',
56 | type: 'normal',
57 | click: () => {
58 | // Open settings window
59 | createSettingsWindow()
60 | },
61 | },
62 | {
63 | label: 'Quit',
64 | type: 'normal',
65 | click: () => {
66 | app.quit()
67 | },
68 | },
69 | ] as Electron.MenuItemConstructorOptions[]
70 |
71 | // Add "Show Keypad" option if alwaysOnTop is false, or if the main window is not visible, but only if we are connected to Companion
72 | if (
73 | !global.mainWindow?.isVisible() &&
74 | global.satellite?.isConnected
75 | ) {
76 | contextMenuTemplate.splice(5, 0, {
77 | label: 'Show Keypad',
78 | type: 'normal',
79 | click: () => {
80 | showMainWindow()
81 | },
82 | })
83 | }
84 |
85 | // Add "Stop Trying to Reconnect" option if we are not connected and the satellite is trying to reconnect (global.satelliteTimeout is set)
86 | if (!global.satellite?.isConnected && global.satelliteTimeout) {
87 | contextMenuTemplate.splice(5, 0, {
88 | label: 'Stop Trying to Connect',
89 | type: 'normal',
90 | click: () => {
91 | clearInterval(global.satelliteTimeout)
92 | global.satelliteTimeout = undefined
93 | //remove this option from the menu
94 | updateTrayMenu()
95 | },
96 | })
97 | }
98 |
99 | const contextMenu = Menu.buildFromTemplate(contextMenuTemplate)
100 |
101 | tray?.setContextMenu(contextMenu)
102 | }
103 |
104 | // Function to show the main keypad window
105 | function showMainWindow() {
106 | if (global.mainWindow) {
107 | global.mainWindow.show()
108 | global.mainWindow.focus()
109 | updateTrayMenu()
110 | }
111 | }
112 |
113 | export { updateTrayMenu }
114 |
--------------------------------------------------------------------------------
/src/types.d.ts:
--------------------------------------------------------------------------------
1 | // src/types.d.ts
2 |
3 | // Define the KeyObj type
4 | export type KeyObj = {
5 | key?: number
6 | type?: string
7 | bitmap?: string
8 | color?: string
9 | textColor?: string
10 | text?: string
11 | fontSize?: string
12 | }
13 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "module": "CommonJS",
5 | "strict": true,
6 | "esModuleInterop": true,
7 | "skipLibCheck": true,
8 | "forceConsistentCasingInFileNames": true,
9 | "outDir": "dist",
10 | "rootDir": "src"
11 | },
12 | "include": ["src/**/*.ts"]
13 | }
14 |
--------------------------------------------------------------------------------
/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: 10c0
7 |
8 | "7zip-bin@npm:~5.2.0":
9 | version: 5.2.0
10 | resolution: "7zip-bin@npm:5.2.0"
11 | checksum: 10c0/7f6c69b4cb10c4060fb8fda258ae2ab88d30516b5a52941efa0e2cbd9ce362ab7d8d568549cd85e9f125c1c68f95c7bb076cc314c2f3c0cb306d3b638080c2ce
12 | languageName: node
13 | linkType: hard
14 |
15 | "@babel/runtime@npm:^7.21.0":
16 | version: 7.26.0
17 | resolution: "@babel/runtime@npm:7.26.0"
18 | dependencies:
19 | regenerator-runtime: "npm:^0.14.0"
20 | checksum: 10c0/12c01357e0345f89f4f7e8c0e81921f2a3e3e101f06e8eaa18a382b517376520cd2fa8c237726eb094dab25532855df28a7baaf1c26342b52782f6936b07c287
21 | languageName: node
22 | linkType: hard
23 |
24 | "@cspotcode/source-map-support@npm:^0.8.0":
25 | version: 0.8.1
26 | resolution: "@cspotcode/source-map-support@npm:0.8.1"
27 | dependencies:
28 | "@jridgewell/trace-mapping": "npm:0.3.9"
29 | checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6
30 | languageName: node
31 | linkType: hard
32 |
33 | "@develar/schema-utils@npm:~2.6.5":
34 | version: 2.6.5
35 | resolution: "@develar/schema-utils@npm:2.6.5"
36 | dependencies:
37 | ajv: "npm:^6.12.0"
38 | ajv-keywords: "npm:^3.4.1"
39 | checksum: 10c0/7c6075ce6742dd5c89b3cebf81351ec1d73dafc7c3409748860e4f8262fb26ffe6d998c5baab4eca579cd436e7c6c12c615fe89819c19484a22d25b3e6825cb5
40 | languageName: node
41 | linkType: hard
42 |
43 | "@electron/asar@npm:^3.2.7":
44 | version: 3.2.17
45 | resolution: "@electron/asar@npm:3.2.17"
46 | dependencies:
47 | commander: "npm:^5.0.0"
48 | glob: "npm:^7.1.6"
49 | minimatch: "npm:^3.0.4"
50 | bin:
51 | asar: bin/asar.js
52 | checksum: 10c0/5dc29c6167951ca92ced43a99cdca15477bf6ee7ce72c5f0c6feb3f43f382ad2940fbde8d07071691e303fea6d1d6fcd5d3873a50375c828c18da54b28403fba
53 | languageName: node
54 | linkType: hard
55 |
56 | "@electron/get@npm:^2.0.0":
57 | version: 2.0.3
58 | resolution: "@electron/get@npm:2.0.3"
59 | dependencies:
60 | debug: "npm:^4.1.1"
61 | env-paths: "npm:^2.2.0"
62 | fs-extra: "npm:^8.1.0"
63 | global-agent: "npm:^3.0.0"
64 | got: "npm:^11.8.5"
65 | progress: "npm:^2.0.3"
66 | semver: "npm:^6.2.0"
67 | sumchecker: "npm:^3.0.1"
68 | dependenciesMeta:
69 | global-agent:
70 | optional: true
71 | checksum: 10c0/148957d531bac50c29541515f2483c3e5c9c6ba9f0269a5d536540d2b8d849188a89588f18901f3a84c2b4fd376d1e0c5ea2159eb2d17bda68558f57df19015e
72 | languageName: node
73 | linkType: hard
74 |
75 | "@electron/notarize@npm:2.5.0, @electron/notarize@npm:^2.5.0":
76 | version: 2.5.0
77 | resolution: "@electron/notarize@npm:2.5.0"
78 | dependencies:
79 | debug: "npm:^4.1.1"
80 | fs-extra: "npm:^9.0.1"
81 | promise-retry: "npm:^2.0.1"
82 | checksum: 10c0/262c6a90db4b18c82abb2a8f5349d1bf19ac34a440fe6c01b8aee302b1c886a79906693e6c3fdba2a4efa23a6519abf2113a882b438f7b6687eb2daed3da2afa
83 | languageName: node
84 | linkType: hard
85 |
86 | "@electron/osx-sign@npm:1.3.1":
87 | version: 1.3.1
88 | resolution: "@electron/osx-sign@npm:1.3.1"
89 | dependencies:
90 | compare-version: "npm:^0.1.2"
91 | debug: "npm:^4.3.4"
92 | fs-extra: "npm:^10.0.0"
93 | isbinaryfile: "npm:^4.0.8"
94 | minimist: "npm:^1.2.6"
95 | plist: "npm:^3.0.5"
96 | bin:
97 | electron-osx-flat: bin/electron-osx-flat.js
98 | electron-osx-sign: bin/electron-osx-sign.js
99 | checksum: 10c0/207be0df4ad4d76b0041de97d12b8d8793f3a5ddaff28e73c34a9b1939c83b3224191c7aae3c95d62eeb4a9146204c1db24577f43f91f6fab26783784856e49b
100 | languageName: node
101 | linkType: hard
102 |
103 | "@electron/rebuild@npm:3.6.1":
104 | version: 3.6.1
105 | resolution: "@electron/rebuild@npm:3.6.1"
106 | dependencies:
107 | "@malept/cross-spawn-promise": "npm:^2.0.0"
108 | chalk: "npm:^4.0.0"
109 | debug: "npm:^4.1.1"
110 | detect-libc: "npm:^2.0.1"
111 | fs-extra: "npm:^10.0.0"
112 | got: "npm:^11.7.0"
113 | node-abi: "npm:^3.45.0"
114 | node-api-version: "npm:^0.2.0"
115 | node-gyp: "npm:^9.0.0"
116 | ora: "npm:^5.1.0"
117 | read-binary-file-arch: "npm:^1.0.6"
118 | semver: "npm:^7.3.5"
119 | tar: "npm:^6.0.5"
120 | yargs: "npm:^17.0.1"
121 | bin:
122 | electron-rebuild: lib/cli.js
123 | checksum: 10c0/7d72ea5a0ab656b356cfe300ccdfdb25c06292a31e1729142243460aebe1a9b4c2a50469c6fb114b756575f8713a0532ec6b128e16eb944e8df446a5786ec581
124 | languageName: node
125 | linkType: hard
126 |
127 | "@electron/universal@npm:2.0.1":
128 | version: 2.0.1
129 | resolution: "@electron/universal@npm:2.0.1"
130 | dependencies:
131 | "@electron/asar": "npm:^3.2.7"
132 | "@malept/cross-spawn-promise": "npm:^2.0.0"
133 | debug: "npm:^4.3.1"
134 | dir-compare: "npm:^4.2.0"
135 | fs-extra: "npm:^11.1.1"
136 | minimatch: "npm:^9.0.3"
137 | plist: "npm:^3.1.0"
138 | checksum: 10c0/d3cd87184ee561e4fa4bddbd8a2f9f8db4b3f7c92fe108bcd3e06eef2dd6bdfc378eaf0758b85e8066b3f88f9dd9775d83b3ac9281b491017747786c5cce50a4
139 | languageName: node
140 | linkType: hard
141 |
142 | "@gar/promisify@npm:^1.1.3":
143 | version: 1.1.3
144 | resolution: "@gar/promisify@npm:1.1.3"
145 | checksum: 10c0/0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff
146 | languageName: node
147 | linkType: hard
148 |
149 | "@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0":
150 | version: 9.3.0
151 | resolution: "@hapi/hoek@npm:9.3.0"
152 | checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055
153 | languageName: node
154 | linkType: hard
155 |
156 | "@hapi/topo@npm:^5.1.0":
157 | version: 5.1.0
158 | resolution: "@hapi/topo@npm:5.1.0"
159 | dependencies:
160 | "@hapi/hoek": "npm:^9.0.0"
161 | checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f
162 | languageName: node
163 | linkType: hard
164 |
165 | "@isaacs/cliui@npm:^8.0.2":
166 | version: 8.0.2
167 | resolution: "@isaacs/cliui@npm:8.0.2"
168 | dependencies:
169 | string-width: "npm:^5.1.2"
170 | string-width-cjs: "npm:string-width@^4.2.0"
171 | strip-ansi: "npm:^7.0.1"
172 | strip-ansi-cjs: "npm:strip-ansi@^6.0.1"
173 | wrap-ansi: "npm:^8.1.0"
174 | wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0"
175 | checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e
176 | languageName: node
177 | linkType: hard
178 |
179 | "@isaacs/fs-minipass@npm:^4.0.0":
180 | version: 4.0.1
181 | resolution: "@isaacs/fs-minipass@npm:4.0.1"
182 | dependencies:
183 | minipass: "npm:^7.0.4"
184 | checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2
185 | languageName: node
186 | linkType: hard
187 |
188 | "@jridgewell/resolve-uri@npm:^3.0.3":
189 | version: 3.1.2
190 | resolution: "@jridgewell/resolve-uri@npm:3.1.2"
191 | checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e
192 | languageName: node
193 | linkType: hard
194 |
195 | "@jridgewell/sourcemap-codec@npm:^1.4.10":
196 | version: 1.5.0
197 | resolution: "@jridgewell/sourcemap-codec@npm:1.5.0"
198 | checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18
199 | languageName: node
200 | linkType: hard
201 |
202 | "@jridgewell/trace-mapping@npm:0.3.9":
203 | version: 0.3.9
204 | resolution: "@jridgewell/trace-mapping@npm:0.3.9"
205 | dependencies:
206 | "@jridgewell/resolve-uri": "npm:^3.0.3"
207 | "@jridgewell/sourcemap-codec": "npm:^1.4.10"
208 | checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b
209 | languageName: node
210 | linkType: hard
211 |
212 | "@malept/cross-spawn-promise@npm:^2.0.0":
213 | version: 2.0.0
214 | resolution: "@malept/cross-spawn-promise@npm:2.0.0"
215 | dependencies:
216 | cross-spawn: "npm:^7.0.1"
217 | checksum: 10c0/84d60b8d467f4252114849f0a33c3763f07898335269eec5c94978ccac9d5680e1e268d993dd1a6d25a91476f9e0992759d7e1f385f9f3a090d862f9bb949603
218 | languageName: node
219 | linkType: hard
220 |
221 | "@malept/flatpak-bundler@npm:^0.4.0":
222 | version: 0.4.0
223 | resolution: "@malept/flatpak-bundler@npm:0.4.0"
224 | dependencies:
225 | debug: "npm:^4.1.1"
226 | fs-extra: "npm:^9.0.0"
227 | lodash: "npm:^4.17.15"
228 | tmp-promise: "npm:^3.0.2"
229 | checksum: 10c0/b3c87f6482b1956411af1118c771afb39cd9a0568fbb5e86015547ff6d68d2e73a7f0d74b75a57f0a156391c347c8d0adc1037e75172b92da72b96e0a05a2f4f
230 | languageName: node
231 | linkType: hard
232 |
233 | "@npmcli/agent@npm:^3.0.0":
234 | version: 3.0.0
235 | resolution: "@npmcli/agent@npm:3.0.0"
236 | dependencies:
237 | agent-base: "npm:^7.1.0"
238 | http-proxy-agent: "npm:^7.0.0"
239 | https-proxy-agent: "npm:^7.0.1"
240 | lru-cache: "npm:^10.0.1"
241 | socks-proxy-agent: "npm:^8.0.3"
242 | checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271
243 | languageName: node
244 | linkType: hard
245 |
246 | "@npmcli/fs@npm:^2.1.0":
247 | version: 2.1.2
248 | resolution: "@npmcli/fs@npm:2.1.2"
249 | dependencies:
250 | "@gar/promisify": "npm:^1.1.3"
251 | semver: "npm:^7.3.5"
252 | checksum: 10c0/c50d087733d0d8df23be24f700f104b19922a28677aa66fdbe06ff6af6431cc4a5bb1e27683cbc661a5dafa9bafdc603e6a0378121506dfcd394b2b6dd76a187
253 | languageName: node
254 | linkType: hard
255 |
256 | "@npmcli/fs@npm:^4.0.0":
257 | version: 4.0.0
258 | resolution: "@npmcli/fs@npm:4.0.0"
259 | dependencies:
260 | semver: "npm:^7.3.5"
261 | checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5
262 | languageName: node
263 | linkType: hard
264 |
265 | "@npmcli/move-file@npm:^2.0.0":
266 | version: 2.0.1
267 | resolution: "@npmcli/move-file@npm:2.0.1"
268 | dependencies:
269 | mkdirp: "npm:^1.0.4"
270 | rimraf: "npm:^3.0.2"
271 | checksum: 10c0/11b2151e6d1de6f6eb23128de5aa8a429fd9097d839a5190cb77aa47a6b627022c42d50fa7c47a00f1c9f8f0c1560092b09b061855d293fa0741a2a94cfb174d
272 | languageName: node
273 | linkType: hard
274 |
275 | "@pkgjs/parseargs@npm:^0.11.0":
276 | version: 0.11.0
277 | resolution: "@pkgjs/parseargs@npm:0.11.0"
278 | checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd
279 | languageName: node
280 | linkType: hard
281 |
282 | "@sideway/address@npm:^4.1.5":
283 | version: 4.1.5
284 | resolution: "@sideway/address@npm:4.1.5"
285 | dependencies:
286 | "@hapi/hoek": "npm:^9.0.0"
287 | checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959
288 | languageName: node
289 | linkType: hard
290 |
291 | "@sideway/formula@npm:^3.0.1":
292 | version: 3.0.1
293 | resolution: "@sideway/formula@npm:3.0.1"
294 | checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c
295 | languageName: node
296 | linkType: hard
297 |
298 | "@sideway/pinpoint@npm:^2.0.0":
299 | version: 2.0.0
300 | resolution: "@sideway/pinpoint@npm:2.0.0"
301 | checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36
302 | languageName: node
303 | linkType: hard
304 |
305 | "@sindresorhus/is@npm:^4.0.0":
306 | version: 4.6.0
307 | resolution: "@sindresorhus/is@npm:4.6.0"
308 | checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e
309 | languageName: node
310 | linkType: hard
311 |
312 | "@szmarczak/http-timer@npm:^4.0.5":
313 | version: 4.0.6
314 | resolution: "@szmarczak/http-timer@npm:4.0.6"
315 | dependencies:
316 | defer-to-connect: "npm:^2.0.0"
317 | checksum: 10c0/73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f
318 | languageName: node
319 | linkType: hard
320 |
321 | "@tootallnate/once@npm:2":
322 | version: 2.0.0
323 | resolution: "@tootallnate/once@npm:2.0.0"
324 | checksum: 10c0/073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858
325 | languageName: node
326 | linkType: hard
327 |
328 | "@tsconfig/node10@npm:^1.0.7":
329 | version: 1.0.11
330 | resolution: "@tsconfig/node10@npm:1.0.11"
331 | checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c
332 | languageName: node
333 | linkType: hard
334 |
335 | "@tsconfig/node12@npm:^1.0.7":
336 | version: 1.0.11
337 | resolution: "@tsconfig/node12@npm:1.0.11"
338 | checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9
339 | languageName: node
340 | linkType: hard
341 |
342 | "@tsconfig/node14@npm:^1.0.0":
343 | version: 1.0.3
344 | resolution: "@tsconfig/node14@npm:1.0.3"
345 | checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44
346 | languageName: node
347 | linkType: hard
348 |
349 | "@tsconfig/node16@npm:^1.0.2":
350 | version: 1.0.4
351 | resolution: "@tsconfig/node16@npm:1.0.4"
352 | checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb
353 | languageName: node
354 | linkType: hard
355 |
356 | "@types/cacheable-request@npm:^6.0.1":
357 | version: 6.0.3
358 | resolution: "@types/cacheable-request@npm:6.0.3"
359 | dependencies:
360 | "@types/http-cache-semantics": "npm:*"
361 | "@types/keyv": "npm:^3.1.4"
362 | "@types/node": "npm:*"
363 | "@types/responselike": "npm:^1.0.0"
364 | checksum: 10c0/10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03
365 | languageName: node
366 | linkType: hard
367 |
368 | "@types/debug@npm:^4.1.6":
369 | version: 4.1.12
370 | resolution: "@types/debug@npm:4.1.12"
371 | dependencies:
372 | "@types/ms": "npm:*"
373 | checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f
374 | languageName: node
375 | linkType: hard
376 |
377 | "@types/fs-extra@npm:9.0.13, @types/fs-extra@npm:^9.0.11":
378 | version: 9.0.13
379 | resolution: "@types/fs-extra@npm:9.0.13"
380 | dependencies:
381 | "@types/node": "npm:*"
382 | checksum: 10c0/576d4e9d382393316ed815c593f7f5c157408ec5e184521d077fcb15d514b5a985245f153ef52142b9b976cb9bd8f801850d51238153ebd0dc9e96b7a7548588
383 | languageName: node
384 | linkType: hard
385 |
386 | "@types/http-cache-semantics@npm:*":
387 | version: 4.0.4
388 | resolution: "@types/http-cache-semantics@npm:4.0.4"
389 | checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6
390 | languageName: node
391 | linkType: hard
392 |
393 | "@types/keyv@npm:^3.1.4":
394 | version: 3.1.4
395 | resolution: "@types/keyv@npm:3.1.4"
396 | dependencies:
397 | "@types/node": "npm:*"
398 | checksum: 10c0/ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c
399 | languageName: node
400 | linkType: hard
401 |
402 | "@types/ms@npm:*":
403 | version: 0.7.34
404 | resolution: "@types/ms@npm:0.7.34"
405 | checksum: 10c0/ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc
406 | languageName: node
407 | linkType: hard
408 |
409 | "@types/node@npm:*":
410 | version: 22.10.2
411 | resolution: "@types/node@npm:22.10.2"
412 | dependencies:
413 | undici-types: "npm:~6.20.0"
414 | checksum: 10c0/2c7b71a040f1ef5320938eca8ebc946e6905caa9bbf3d5665d9b3774a8d15ea9fab1582b849a6d28c7fc80756a62c5666bc66b69f42f4d5dafd1ccb193cdb4ac
415 | languageName: node
416 | linkType: hard
417 |
418 | "@types/node@npm:^18.0.0":
419 | version: 18.19.68
420 | resolution: "@types/node@npm:18.19.68"
421 | dependencies:
422 | undici-types: "npm:~5.26.4"
423 | checksum: 10c0/8c7f01be218c6e3c1e643173662af27e9a2b568f36c0fe83e4295cf7674fe2a0abb4a1c5d7c7abd3345b9114581387dfd3f14b6d0338daebdce9273cd7ba59ab
424 | languageName: node
425 | linkType: hard
426 |
427 | "@types/node@npm:^20.9.0":
428 | version: 20.17.10
429 | resolution: "@types/node@npm:20.17.10"
430 | dependencies:
431 | undici-types: "npm:~6.19.2"
432 | checksum: 10c0/458ec725319e57d4692cbb56d81f1a90f9074cef9ec185c59e6f6c557a3d2ded57c5e443b1e82eba923d53dda4db18797fb131ee6e46fdb3d7d2f54d54aaebe3
433 | languageName: node
434 | linkType: hard
435 |
436 | "@types/plist@npm:^3.0.1":
437 | version: 3.0.5
438 | resolution: "@types/plist@npm:3.0.5"
439 | dependencies:
440 | "@types/node": "npm:*"
441 | xmlbuilder: "npm:>=11.0.1"
442 | checksum: 10c0/2a929f4482e3bea8c3288a46ae589a2ae2d01df5b7841ead7032d7baa79d79af6c875a5798c90705eea9306c2fb1544d7ed12ab3c905c5626d5dd5dc9f464b94
443 | languageName: node
444 | linkType: hard
445 |
446 | "@types/responselike@npm:^1.0.0":
447 | version: 1.0.3
448 | resolution: "@types/responselike@npm:1.0.3"
449 | dependencies:
450 | "@types/node": "npm:*"
451 | checksum: 10c0/a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129
452 | languageName: node
453 | linkType: hard
454 |
455 | "@types/verror@npm:^1.10.3":
456 | version: 1.10.10
457 | resolution: "@types/verror@npm:1.10.10"
458 | checksum: 10c0/413c0c0370ed6a796d630fbcdae20049ab3e26558c62bc5f53327830ddb0965aaadedb92f4933b28ee8fc8089e1293b742a0efbf6b264d15ce3930c6b83b0984
459 | languageName: node
460 | linkType: hard
461 |
462 | "@types/yauzl@npm:^2.9.1":
463 | version: 2.10.3
464 | resolution: "@types/yauzl@npm:2.10.3"
465 | dependencies:
466 | "@types/node": "npm:*"
467 | checksum: 10c0/f1b7c1b99fef9f2fe7f1985ef7426d0cebe48cd031f1780fcdc7451eec7e31ac97028f16f50121a59bcf53086a1fc8c856fd5b7d3e00970e43d92ae27d6b43dc
468 | languageName: node
469 | linkType: hard
470 |
471 | "@xmldom/xmldom@npm:^0.8.8":
472 | version: 0.8.10
473 | resolution: "@xmldom/xmldom@npm:0.8.10"
474 | checksum: 10c0/c7647c442502720182b0d65b17d45d2d95317c1c8c497626fe524bda79b4fb768a9aa4fae2da919f308e7abcff7d67c058b102a9d641097e9a57f0b80187851f
475 | languageName: node
476 | linkType: hard
477 |
478 | "abbrev@npm:^1.0.0":
479 | version: 1.1.1
480 | resolution: "abbrev@npm:1.1.1"
481 | checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6
482 | languageName: node
483 | linkType: hard
484 |
485 | "abbrev@npm:^3.0.0":
486 | version: 3.0.0
487 | resolution: "abbrev@npm:3.0.0"
488 | checksum: 10c0/049704186396f571650eb7b22ed3627b77a5aedf98bb83caf2eac81ca2a3e25e795394b0464cfb2d6076df3db6a5312139eac5b6a126ca296ac53c5008069c28
489 | languageName: node
490 | linkType: hard
491 |
492 | "acorn-walk@npm:^8.1.1":
493 | version: 8.3.4
494 | resolution: "acorn-walk@npm:8.3.4"
495 | dependencies:
496 | acorn: "npm:^8.11.0"
497 | checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62
498 | languageName: node
499 | linkType: hard
500 |
501 | "acorn@npm:^8.11.0, acorn@npm:^8.4.1":
502 | version: 8.14.0
503 | resolution: "acorn@npm:8.14.0"
504 | bin:
505 | acorn: bin/acorn
506 | checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7
507 | languageName: node
508 | linkType: hard
509 |
510 | "agent-base@npm:6, agent-base@npm:^6.0.2":
511 | version: 6.0.2
512 | resolution: "agent-base@npm:6.0.2"
513 | dependencies:
514 | debug: "npm:4"
515 | checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261
516 | languageName: node
517 | linkType: hard
518 |
519 | "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2":
520 | version: 7.1.3
521 | resolution: "agent-base@npm:7.1.3"
522 | checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11
523 | languageName: node
524 | linkType: hard
525 |
526 | "agentkeepalive@npm:^4.2.1":
527 | version: 4.5.0
528 | resolution: "agentkeepalive@npm:4.5.0"
529 | dependencies:
530 | humanize-ms: "npm:^1.2.1"
531 | checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612
532 | languageName: node
533 | linkType: hard
534 |
535 | "aggregate-error@npm:^3.0.0":
536 | version: 3.1.0
537 | resolution: "aggregate-error@npm:3.1.0"
538 | dependencies:
539 | clean-stack: "npm:^2.0.0"
540 | indent-string: "npm:^4.0.0"
541 | checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039
542 | languageName: node
543 | linkType: hard
544 |
545 | "ajv-formats@npm:^2.1.1":
546 | version: 2.1.1
547 | resolution: "ajv-formats@npm:2.1.1"
548 | dependencies:
549 | ajv: "npm:^8.0.0"
550 | peerDependencies:
551 | ajv: ^8.0.0
552 | peerDependenciesMeta:
553 | ajv:
554 | optional: true
555 | checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662
556 | languageName: node
557 | linkType: hard
558 |
559 | "ajv-keywords@npm:^3.4.1":
560 | version: 3.5.2
561 | resolution: "ajv-keywords@npm:3.5.2"
562 | peerDependencies:
563 | ajv: ^6.9.1
564 | checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360
565 | languageName: node
566 | linkType: hard
567 |
568 | "ajv@npm:^6.10.0, ajv@npm:^6.12.0":
569 | version: 6.12.6
570 | resolution: "ajv@npm:6.12.6"
571 | dependencies:
572 | fast-deep-equal: "npm:^3.1.1"
573 | fast-json-stable-stringify: "npm:^2.0.0"
574 | json-schema-traverse: "npm:^0.4.1"
575 | uri-js: "npm:^4.2.2"
576 | checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71
577 | languageName: node
578 | linkType: hard
579 |
580 | "ajv@npm:^8.0.0, ajv@npm:^8.6.3":
581 | version: 8.17.1
582 | resolution: "ajv@npm:8.17.1"
583 | dependencies:
584 | fast-deep-equal: "npm:^3.1.3"
585 | fast-uri: "npm:^3.0.1"
586 | json-schema-traverse: "npm:^1.0.0"
587 | require-from-string: "npm:^2.0.2"
588 | checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35
589 | languageName: node
590 | linkType: hard
591 |
592 | "ansi-regex@npm:^5.0.1":
593 | version: 5.0.1
594 | resolution: "ansi-regex@npm:5.0.1"
595 | checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737
596 | languageName: node
597 | linkType: hard
598 |
599 | "ansi-regex@npm:^6.0.1":
600 | version: 6.1.0
601 | resolution: "ansi-regex@npm:6.1.0"
602 | checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc
603 | languageName: node
604 | linkType: hard
605 |
606 | "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0":
607 | version: 4.3.0
608 | resolution: "ansi-styles@npm:4.3.0"
609 | dependencies:
610 | color-convert: "npm:^2.0.1"
611 | checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041
612 | languageName: node
613 | linkType: hard
614 |
615 | "ansi-styles@npm:^6.1.0":
616 | version: 6.2.1
617 | resolution: "ansi-styles@npm:6.2.1"
618 | checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c
619 | languageName: node
620 | linkType: hard
621 |
622 | "any-base@npm:^1.1.0":
623 | version: 1.1.0
624 | resolution: "any-base@npm:1.1.0"
625 | checksum: 10c0/1255cccb2c2ead4aa182eca000fd8aa0c1991d91781ff54e26323c132117ed23eb10eef057c0dcf1d919ab30d78e5b11bd8d88940352fc84586ecb961cc76466
626 | languageName: node
627 | linkType: hard
628 |
629 | "app-builder-bin@npm:5.0.0-alpha.10":
630 | version: 5.0.0-alpha.10
631 | resolution: "app-builder-bin@npm:5.0.0-alpha.10"
632 | checksum: 10c0/1c913f09c78769454f7fffa7f0d5f3644169c3a4d258d0af0d050fc3368a57054490482b190d533c66cecf66c693281895f08f0702bdbe497199de40d235b48f
633 | languageName: node
634 | linkType: hard
635 |
636 | "app-builder-lib@npm:25.1.8":
637 | version: 25.1.8
638 | resolution: "app-builder-lib@npm:25.1.8"
639 | dependencies:
640 | "@develar/schema-utils": "npm:~2.6.5"
641 | "@electron/notarize": "npm:2.5.0"
642 | "@electron/osx-sign": "npm:1.3.1"
643 | "@electron/rebuild": "npm:3.6.1"
644 | "@electron/universal": "npm:2.0.1"
645 | "@malept/flatpak-bundler": "npm:^0.4.0"
646 | "@types/fs-extra": "npm:9.0.13"
647 | async-exit-hook: "npm:^2.0.1"
648 | bluebird-lst: "npm:^1.0.9"
649 | builder-util: "npm:25.1.7"
650 | builder-util-runtime: "npm:9.2.10"
651 | chromium-pickle-js: "npm:^0.2.0"
652 | config-file-ts: "npm:0.2.8-rc1"
653 | debug: "npm:^4.3.4"
654 | dotenv: "npm:^16.4.5"
655 | dotenv-expand: "npm:^11.0.6"
656 | ejs: "npm:^3.1.8"
657 | electron-publish: "npm:25.1.7"
658 | form-data: "npm:^4.0.0"
659 | fs-extra: "npm:^10.1.0"
660 | hosted-git-info: "npm:^4.1.0"
661 | is-ci: "npm:^3.0.0"
662 | isbinaryfile: "npm:^5.0.0"
663 | js-yaml: "npm:^4.1.0"
664 | json5: "npm:^2.2.3"
665 | lazy-val: "npm:^1.0.5"
666 | minimatch: "npm:^10.0.0"
667 | resedit: "npm:^1.7.0"
668 | sanitize-filename: "npm:^1.6.3"
669 | semver: "npm:^7.3.8"
670 | tar: "npm:^6.1.12"
671 | temp-file: "npm:^3.4.0"
672 | peerDependencies:
673 | dmg-builder: 25.1.8
674 | electron-builder-squirrel-windows: 25.1.8
675 | checksum: 10c0/e646d4b45872b51ae562788df87024cf0b0c09db66538712837043561712976dbd511ecc56c1172114f676b14518c23b78c412db22173a91cc42f23e88c556d0
676 | languageName: node
677 | linkType: hard
678 |
679 | "aproba@npm:^1.0.3 || ^2.0.0":
680 | version: 2.0.0
681 | resolution: "aproba@npm:2.0.0"
682 | checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5
683 | languageName: node
684 | linkType: hard
685 |
686 | "are-we-there-yet@npm:^3.0.0":
687 | version: 3.0.1
688 | resolution: "are-we-there-yet@npm:3.0.1"
689 | dependencies:
690 | delegates: "npm:^1.0.0"
691 | readable-stream: "npm:^3.6.0"
692 | checksum: 10c0/8373f289ba42e4b5ec713bb585acdac14b5702c75f2a458dc985b9e4fa5762bc5b46b40a21b72418a3ed0cfb5e35bdc317ef1ae132f3035f633d581dd03168c3
693 | languageName: node
694 | linkType: hard
695 |
696 | "arg@npm:^4.1.0":
697 | version: 4.1.3
698 | resolution: "arg@npm:4.1.3"
699 | checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a
700 | languageName: node
701 | linkType: hard
702 |
703 | "argparse@npm:^2.0.1":
704 | version: 2.0.1
705 | resolution: "argparse@npm:2.0.1"
706 | checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e
707 | languageName: node
708 | linkType: hard
709 |
710 | "assert-plus@npm:^1.0.0":
711 | version: 1.0.0
712 | resolution: "assert-plus@npm:1.0.0"
713 | checksum: 10c0/b194b9d50c3a8f872ee85ab110784911e696a4d49f7ee6fc5fb63216dedbefd2c55999c70cb2eaeb4cf4a0e0338b44e9ace3627117b5bf0d42460e9132f21b91
714 | languageName: node
715 | linkType: hard
716 |
717 | "astral-regex@npm:^2.0.0":
718 | version: 2.0.0
719 | resolution: "astral-regex@npm:2.0.0"
720 | checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25
721 | languageName: node
722 | linkType: hard
723 |
724 | "async-exit-hook@npm:^2.0.1":
725 | version: 2.0.1
726 | resolution: "async-exit-hook@npm:2.0.1"
727 | checksum: 10c0/81407a440ef0aab328df2369f1a9d957ee53e9a5a43e3b3dcb2be05151a68de0e4ff5e927f4718c88abf85800731f5b3f69a47a6642ce135f5e7d43ca0fce41d
728 | languageName: node
729 | linkType: hard
730 |
731 | "async@npm:^3.2.3":
732 | version: 3.2.6
733 | resolution: "async@npm:3.2.6"
734 | checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70
735 | languageName: node
736 | linkType: hard
737 |
738 | "asynckit@npm:^0.4.0":
739 | version: 0.4.0
740 | resolution: "asynckit@npm:0.4.0"
741 | checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d
742 | languageName: node
743 | linkType: hard
744 |
745 | "at-least-node@npm:^1.0.0":
746 | version: 1.0.0
747 | resolution: "at-least-node@npm:1.0.0"
748 | checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef
749 | languageName: node
750 | linkType: hard
751 |
752 | "atomically@npm:^1.7.0":
753 | version: 1.7.0
754 | resolution: "atomically@npm:1.7.0"
755 | checksum: 10c0/31f5efd5d69474681268557af4024f9e10223bb6b39fdedb5f2e19405186c4b76284fac9f6c43c9af75013cad6437e93b7168268f5ddb7aaf1cfc5fdb415f227
756 | languageName: node
757 | linkType: hard
758 |
759 | "axios@npm:^1.6.1":
760 | version: 1.7.9
761 | resolution: "axios@npm:1.7.9"
762 | dependencies:
763 | follow-redirects: "npm:^1.15.6"
764 | form-data: "npm:^4.0.0"
765 | proxy-from-env: "npm:^1.1.0"
766 | checksum: 10c0/b7a41e24b59fee5f0f26c1fc844b45b17442832eb3a0fb42dd4f1430eb4abc571fe168e67913e8a1d91c993232bd1d1ab03e20e4d1fee8c6147649b576fc1b0b
767 | languageName: node
768 | linkType: hard
769 |
770 | "balanced-match@npm:^1.0.0":
771 | version: 1.0.2
772 | resolution: "balanced-match@npm:1.0.2"
773 | checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee
774 | languageName: node
775 | linkType: hard
776 |
777 | "base64-js@npm:^1.3.1, base64-js@npm:^1.5.1":
778 | version: 1.5.1
779 | resolution: "base64-js@npm:1.5.1"
780 | checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf
781 | languageName: node
782 | linkType: hard
783 |
784 | "bl@npm:^4.1.0":
785 | version: 4.1.0
786 | resolution: "bl@npm:4.1.0"
787 | dependencies:
788 | buffer: "npm:^5.5.0"
789 | inherits: "npm:^2.0.4"
790 | readable-stream: "npm:^3.4.0"
791 | checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f
792 | languageName: node
793 | linkType: hard
794 |
795 | "bluebird-lst@npm:^1.0.9":
796 | version: 1.0.9
797 | resolution: "bluebird-lst@npm:1.0.9"
798 | dependencies:
799 | bluebird: "npm:^3.5.5"
800 | checksum: 10c0/701eef18f37a53277adeacb21281a70fc4536e521fe0deb665a284f4d8480056c6932988c3dfa6a0c46b4d55f4599f716a15873f30ed5fc2470928093438f87e
801 | languageName: node
802 | linkType: hard
803 |
804 | "bluebird@npm:^3.5.5":
805 | version: 3.7.2
806 | resolution: "bluebird@npm:3.7.2"
807 | checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2
808 | languageName: node
809 | linkType: hard
810 |
811 | "boolean@npm:^3.0.1":
812 | version: 3.2.0
813 | resolution: "boolean@npm:3.2.0"
814 | checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf
815 | languageName: node
816 | linkType: hard
817 |
818 | "brace-expansion@npm:^1.1.7":
819 | version: 1.1.11
820 | resolution: "brace-expansion@npm:1.1.11"
821 | dependencies:
822 | balanced-match: "npm:^1.0.0"
823 | concat-map: "npm:0.0.1"
824 | checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668
825 | languageName: node
826 | linkType: hard
827 |
828 | "brace-expansion@npm:^2.0.1":
829 | version: 2.0.1
830 | resolution: "brace-expansion@npm:2.0.1"
831 | dependencies:
832 | balanced-match: "npm:^1.0.0"
833 | checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f
834 | languageName: node
835 | linkType: hard
836 |
837 | "buffer-crc32@npm:~0.2.3":
838 | version: 0.2.13
839 | resolution: "buffer-crc32@npm:0.2.13"
840 | checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150
841 | languageName: node
842 | linkType: hard
843 |
844 | "buffer-from@npm:^1.0.0":
845 | version: 1.1.2
846 | resolution: "buffer-from@npm:1.1.2"
847 | checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34
848 | languageName: node
849 | linkType: hard
850 |
851 | "buffer@npm:^5.1.0, buffer@npm:^5.5.0":
852 | version: 5.7.1
853 | resolution: "buffer@npm:5.7.1"
854 | dependencies:
855 | base64-js: "npm:^1.3.1"
856 | ieee754: "npm:^1.1.13"
857 | checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e
858 | languageName: node
859 | linkType: hard
860 |
861 | "builder-util-runtime@npm:9.2.10":
862 | version: 9.2.10
863 | resolution: "builder-util-runtime@npm:9.2.10"
864 | dependencies:
865 | debug: "npm:^4.3.4"
866 | sax: "npm:^1.2.4"
867 | checksum: 10c0/28681b8037ad0fb6a33c79532656f7eeddcf7c1d3c922253630d8794929c20a78adc6e4028111708643a1d10e25812c65ac1241886570ff12d6aa6308abe9015
868 | languageName: node
869 | linkType: hard
870 |
871 | "builder-util@npm:25.1.7":
872 | version: 25.1.7
873 | resolution: "builder-util@npm:25.1.7"
874 | dependencies:
875 | 7zip-bin: "npm:~5.2.0"
876 | "@types/debug": "npm:^4.1.6"
877 | app-builder-bin: "npm:5.0.0-alpha.10"
878 | bluebird-lst: "npm:^1.0.9"
879 | builder-util-runtime: "npm:9.2.10"
880 | chalk: "npm:^4.1.2"
881 | cross-spawn: "npm:^7.0.3"
882 | debug: "npm:^4.3.4"
883 | fs-extra: "npm:^10.1.0"
884 | http-proxy-agent: "npm:^7.0.0"
885 | https-proxy-agent: "npm:^7.0.0"
886 | is-ci: "npm:^3.0.0"
887 | js-yaml: "npm:^4.1.0"
888 | source-map-support: "npm:^0.5.19"
889 | stat-mode: "npm:^1.0.0"
890 | temp-file: "npm:^3.4.0"
891 | checksum: 10c0/30766b5fc6cacf90f20086bc2cff6a4a1b3e149a2c1072ce50de2e28c4608211aa3687a60208fd462a6ab4a3f6723a236e311aa5b6524102d75528e4a8a2b482
892 | languageName: node
893 | linkType: hard
894 |
895 | "cacache@npm:^16.1.0":
896 | version: 16.1.3
897 | resolution: "cacache@npm:16.1.3"
898 | dependencies:
899 | "@npmcli/fs": "npm:^2.1.0"
900 | "@npmcli/move-file": "npm:^2.0.0"
901 | chownr: "npm:^2.0.0"
902 | fs-minipass: "npm:^2.1.0"
903 | glob: "npm:^8.0.1"
904 | infer-owner: "npm:^1.0.4"
905 | lru-cache: "npm:^7.7.1"
906 | minipass: "npm:^3.1.6"
907 | minipass-collect: "npm:^1.0.2"
908 | minipass-flush: "npm:^1.0.5"
909 | minipass-pipeline: "npm:^1.2.4"
910 | mkdirp: "npm:^1.0.4"
911 | p-map: "npm:^4.0.0"
912 | promise-inflight: "npm:^1.0.1"
913 | rimraf: "npm:^3.0.2"
914 | ssri: "npm:^9.0.0"
915 | tar: "npm:^6.1.11"
916 | unique-filename: "npm:^2.0.0"
917 | checksum: 10c0/cdf6836e1c457d2a5616abcaf5d8240c0346b1f5bd6fdb8866b9d84b6dff0b54e973226dc11e0d099f35394213d24860d1989c8358d2a41b39eb912b3000e749
918 | languageName: node
919 | linkType: hard
920 |
921 | "cacache@npm:^19.0.1":
922 | version: 19.0.1
923 | resolution: "cacache@npm:19.0.1"
924 | dependencies:
925 | "@npmcli/fs": "npm:^4.0.0"
926 | fs-minipass: "npm:^3.0.0"
927 | glob: "npm:^10.2.2"
928 | lru-cache: "npm:^10.0.1"
929 | minipass: "npm:^7.0.3"
930 | minipass-collect: "npm:^2.0.1"
931 | minipass-flush: "npm:^1.0.5"
932 | minipass-pipeline: "npm:^1.2.4"
933 | p-map: "npm:^7.0.2"
934 | ssri: "npm:^12.0.0"
935 | tar: "npm:^7.4.3"
936 | unique-filename: "npm:^4.0.0"
937 | checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c
938 | languageName: node
939 | linkType: hard
940 |
941 | "cacheable-lookup@npm:^5.0.3":
942 | version: 5.0.4
943 | resolution: "cacheable-lookup@npm:5.0.4"
944 | checksum: 10c0/a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c
945 | languageName: node
946 | linkType: hard
947 |
948 | "cacheable-request@npm:^7.0.2":
949 | version: 7.0.4
950 | resolution: "cacheable-request@npm:7.0.4"
951 | dependencies:
952 | clone-response: "npm:^1.0.2"
953 | get-stream: "npm:^5.1.0"
954 | http-cache-semantics: "npm:^4.0.0"
955 | keyv: "npm:^4.0.0"
956 | lowercase-keys: "npm:^2.0.0"
957 | normalize-url: "npm:^6.0.1"
958 | responselike: "npm:^2.0.0"
959 | checksum: 10c0/0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41
960 | languageName: node
961 | linkType: hard
962 |
963 | "chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2":
964 | version: 4.1.2
965 | resolution: "chalk@npm:4.1.2"
966 | dependencies:
967 | ansi-styles: "npm:^4.1.0"
968 | supports-color: "npm:^7.1.0"
969 | checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880
970 | languageName: node
971 | linkType: hard
972 |
973 | "chownr@npm:^2.0.0":
974 | version: 2.0.0
975 | resolution: "chownr@npm:2.0.0"
976 | checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6
977 | languageName: node
978 | linkType: hard
979 |
980 | "chownr@npm:^3.0.0":
981 | version: 3.0.0
982 | resolution: "chownr@npm:3.0.0"
983 | checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10
984 | languageName: node
985 | linkType: hard
986 |
987 | "chromium-pickle-js@npm:^0.2.0":
988 | version: 0.2.0
989 | resolution: "chromium-pickle-js@npm:0.2.0"
990 | checksum: 10c0/0a95bd280acdf05b0e08fa1a0e1db58c815dd24e92d639add8f494d23a8a49c26e4829721224d68f2f0e57a69047714db29bcff6deb5d029332321223416cb29
991 | languageName: node
992 | linkType: hard
993 |
994 | "ci-info@npm:^3.2.0":
995 | version: 3.9.0
996 | resolution: "ci-info@npm:3.9.0"
997 | checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a
998 | languageName: node
999 | linkType: hard
1000 |
1001 | "clean-stack@npm:^2.0.0":
1002 | version: 2.2.0
1003 | resolution: "clean-stack@npm:2.2.0"
1004 | checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1
1005 | languageName: node
1006 | linkType: hard
1007 |
1008 | "cli-cursor@npm:^3.1.0":
1009 | version: 3.1.0
1010 | resolution: "cli-cursor@npm:3.1.0"
1011 | dependencies:
1012 | restore-cursor: "npm:^3.1.0"
1013 | checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111
1014 | languageName: node
1015 | linkType: hard
1016 |
1017 | "cli-spinners@npm:^2.5.0":
1018 | version: 2.9.2
1019 | resolution: "cli-spinners@npm:2.9.2"
1020 | checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3
1021 | languageName: node
1022 | linkType: hard
1023 |
1024 | "cli-truncate@npm:^2.1.0":
1025 | version: 2.1.0
1026 | resolution: "cli-truncate@npm:2.1.0"
1027 | dependencies:
1028 | slice-ansi: "npm:^3.0.0"
1029 | string-width: "npm:^4.2.0"
1030 | checksum: 10c0/dfaa3df675bcef7a3254773de768712b590250420345a4c7ac151f041a4bacb4c25864b1377bee54a39b5925a030c00eabf014e312e3a4ac130952ed3b3879e9
1031 | languageName: node
1032 | linkType: hard
1033 |
1034 | "cliui@npm:^8.0.1":
1035 | version: 8.0.1
1036 | resolution: "cliui@npm:8.0.1"
1037 | dependencies:
1038 | string-width: "npm:^4.2.0"
1039 | strip-ansi: "npm:^6.0.1"
1040 | wrap-ansi: "npm:^7.0.0"
1041 | checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5
1042 | languageName: node
1043 | linkType: hard
1044 |
1045 | "clone-response@npm:^1.0.2":
1046 | version: 1.0.3
1047 | resolution: "clone-response@npm:1.0.3"
1048 | dependencies:
1049 | mimic-response: "npm:^1.0.0"
1050 | checksum: 10c0/06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087
1051 | languageName: node
1052 | linkType: hard
1053 |
1054 | "clone@npm:^1.0.2":
1055 | version: 1.0.4
1056 | resolution: "clone@npm:1.0.4"
1057 | checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b
1058 | languageName: node
1059 | linkType: hard
1060 |
1061 | "color-convert@npm:^2.0.1":
1062 | version: 2.0.1
1063 | resolution: "color-convert@npm:2.0.1"
1064 | dependencies:
1065 | color-name: "npm:~1.1.4"
1066 | checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7
1067 | languageName: node
1068 | linkType: hard
1069 |
1070 | "color-name@npm:~1.1.4":
1071 | version: 1.1.4
1072 | resolution: "color-name@npm:1.1.4"
1073 | checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95
1074 | languageName: node
1075 | linkType: hard
1076 |
1077 | "color-support@npm:^1.1.3":
1078 | version: 1.1.3
1079 | resolution: "color-support@npm:1.1.3"
1080 | bin:
1081 | color-support: bin.js
1082 | checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6
1083 | languageName: node
1084 | linkType: hard
1085 |
1086 | "combined-stream@npm:^1.0.8":
1087 | version: 1.0.8
1088 | resolution: "combined-stream@npm:1.0.8"
1089 | dependencies:
1090 | delayed-stream: "npm:~1.0.0"
1091 | checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5
1092 | languageName: node
1093 | linkType: hard
1094 |
1095 | "commander@npm:^5.0.0":
1096 | version: 5.1.0
1097 | resolution: "commander@npm:5.1.0"
1098 | checksum: 10c0/da9d71dbe4ce039faf1fe9eac3771dca8c11d66963341f62602f7b66e36d2a3f8883407af4f9a37b1db1a55c59c0c1325f186425764c2e963dc1d67aec2a4b6d
1099 | languageName: node
1100 | linkType: hard
1101 |
1102 | "compare-version@npm:^0.1.2":
1103 | version: 0.1.2
1104 | resolution: "compare-version@npm:0.1.2"
1105 | checksum: 10c0/f38b853cf0d244c0af5f444409abde3d2198cd97312efa1dbc4ab41b520009327c2a63db59bbaf2d69288eff6167ef22be9788dc5476157d073ecdff1a8eeb2d
1106 | languageName: node
1107 | linkType: hard
1108 |
1109 | "concat-map@npm:0.0.1":
1110 | version: 0.0.1
1111 | resolution: "concat-map@npm:0.0.1"
1112 | checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f
1113 | languageName: node
1114 | linkType: hard
1115 |
1116 | "concurrently@npm:^8.0.0":
1117 | version: 8.2.2
1118 | resolution: "concurrently@npm:8.2.2"
1119 | dependencies:
1120 | chalk: "npm:^4.1.2"
1121 | date-fns: "npm:^2.30.0"
1122 | lodash: "npm:^4.17.21"
1123 | rxjs: "npm:^7.8.1"
1124 | shell-quote: "npm:^1.8.1"
1125 | spawn-command: "npm:0.0.2"
1126 | supports-color: "npm:^8.1.1"
1127 | tree-kill: "npm:^1.2.2"
1128 | yargs: "npm:^17.7.2"
1129 | bin:
1130 | conc: dist/bin/concurrently.js
1131 | concurrently: dist/bin/concurrently.js
1132 | checksum: 10c0/0e9683196fe9c071d944345d21d8f34aa6c0cc50c0dd897e95619f2f1c9eb4871dca851b2569da17888235b7335b4c821ca19deed35bebcd9a131ee5d247f34c
1133 | languageName: node
1134 | linkType: hard
1135 |
1136 | "conf@npm:^10.2.0":
1137 | version: 10.2.0
1138 | resolution: "conf@npm:10.2.0"
1139 | dependencies:
1140 | ajv: "npm:^8.6.3"
1141 | ajv-formats: "npm:^2.1.1"
1142 | atomically: "npm:^1.7.0"
1143 | debounce-fn: "npm:^4.0.0"
1144 | dot-prop: "npm:^6.0.1"
1145 | env-paths: "npm:^2.2.1"
1146 | json-schema-typed: "npm:^7.0.3"
1147 | onetime: "npm:^5.1.2"
1148 | pkg-up: "npm:^3.1.0"
1149 | semver: "npm:^7.3.5"
1150 | checksum: 10c0/d608d8c54ba7fad368eac640e77f2ce0334ec27cfd62ac39f44e361af8af9915eaa6c2ada81fbc25c3219273d972b4868bc752e8e2116cb6e12d35df72dc25a4
1151 | languageName: node
1152 | linkType: hard
1153 |
1154 | "config-file-ts@npm:0.2.8-rc1":
1155 | version: 0.2.8-rc1
1156 | resolution: "config-file-ts@npm:0.2.8-rc1"
1157 | dependencies:
1158 | glob: "npm:^10.3.12"
1159 | typescript: "npm:^5.4.3"
1160 | checksum: 10c0/9839a8e33111156665c45c4e5dd6bfa81ee80596f9dc0a078465769b951e28c0fa4bd75bb9bc56f747da285b993fb7998c4c07c0f368ab6bdb019d203764cdc8
1161 | languageName: node
1162 | linkType: hard
1163 |
1164 | "console-control-strings@npm:^1.1.0":
1165 | version: 1.1.0
1166 | resolution: "console-control-strings@npm:1.1.0"
1167 | checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50
1168 | languageName: node
1169 | linkType: hard
1170 |
1171 | "core-util-is@npm:1.0.2":
1172 | version: 1.0.2
1173 | resolution: "core-util-is@npm:1.0.2"
1174 | checksum: 10c0/980a37a93956d0de8a828ce508f9b9e3317039d68922ca79995421944146700e4aaf490a6dbfebcb1c5292a7184600c7710b957d724be1e37b8254c6bc0fe246
1175 | languageName: node
1176 | linkType: hard
1177 |
1178 | "crc@npm:^3.8.0":
1179 | version: 3.8.0
1180 | resolution: "crc@npm:3.8.0"
1181 | dependencies:
1182 | buffer: "npm:^5.1.0"
1183 | checksum: 10c0/1a0da36e5f95b19cd2a7b2eab5306a08f1c47bdd22da6f761ab764e2222e8e90a877398907cea94108bd5e41a6d311ea84d7914eaca67da2baa4050bd6384b3d
1184 | languageName: node
1185 | linkType: hard
1186 |
1187 | "create-require@npm:^1.1.0":
1188 | version: 1.1.1
1189 | resolution: "create-require@npm:1.1.1"
1190 | checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91
1191 | languageName: node
1192 | linkType: hard
1193 |
1194 | "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.3":
1195 | version: 7.0.6
1196 | resolution: "cross-spawn@npm:7.0.6"
1197 | dependencies:
1198 | path-key: "npm:^3.1.0"
1199 | shebang-command: "npm:^2.0.0"
1200 | which: "npm:^2.0.1"
1201 | checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1
1202 | languageName: node
1203 | linkType: hard
1204 |
1205 | "date-fns@npm:^2.30.0":
1206 | version: 2.30.0
1207 | resolution: "date-fns@npm:2.30.0"
1208 | dependencies:
1209 | "@babel/runtime": "npm:^7.21.0"
1210 | checksum: 10c0/e4b521fbf22bc8c3db332bbfb7b094fd3e7627de0259a9d17c7551e2d2702608a7307a449206065916538e384f37b181565447ce2637ae09828427aed9cb5581
1211 | languageName: node
1212 | linkType: hard
1213 |
1214 | "debounce-fn@npm:^4.0.0":
1215 | version: 4.0.0
1216 | resolution: "debounce-fn@npm:4.0.0"
1217 | dependencies:
1218 | mimic-fn: "npm:^3.0.0"
1219 | checksum: 10c0/bcbd8eb253bdb6ee2f32759c95973c62bc479e74efbe1a44e17acfb0ea7d4bcbe615bf7e34aab80247ac08669c1ab72f7da0f384ceb7f15c18333d31d9030384
1220 | languageName: node
1221 | linkType: hard
1222 |
1223 | "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4":
1224 | version: 4.4.0
1225 | resolution: "debug@npm:4.4.0"
1226 | dependencies:
1227 | ms: "npm:^2.1.3"
1228 | peerDependenciesMeta:
1229 | supports-color:
1230 | optional: true
1231 | checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de
1232 | languageName: node
1233 | linkType: hard
1234 |
1235 | "decompress-response@npm:^6.0.0":
1236 | version: 6.0.0
1237 | resolution: "decompress-response@npm:6.0.0"
1238 | dependencies:
1239 | mimic-response: "npm:^3.1.0"
1240 | checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e
1241 | languageName: node
1242 | linkType: hard
1243 |
1244 | "defaults@npm:^1.0.3":
1245 | version: 1.0.4
1246 | resolution: "defaults@npm:1.0.4"
1247 | dependencies:
1248 | clone: "npm:^1.0.2"
1249 | checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a
1250 | languageName: node
1251 | linkType: hard
1252 |
1253 | "defer-to-connect@npm:^2.0.0":
1254 | version: 2.0.1
1255 | resolution: "defer-to-connect@npm:2.0.1"
1256 | checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782
1257 | languageName: node
1258 | linkType: hard
1259 |
1260 | "define-data-property@npm:^1.0.1":
1261 | version: 1.1.4
1262 | resolution: "define-data-property@npm:1.1.4"
1263 | dependencies:
1264 | es-define-property: "npm:^1.0.0"
1265 | es-errors: "npm:^1.3.0"
1266 | gopd: "npm:^1.0.1"
1267 | checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37
1268 | languageName: node
1269 | linkType: hard
1270 |
1271 | "define-properties@npm:^1.2.1":
1272 | version: 1.2.1
1273 | resolution: "define-properties@npm:1.2.1"
1274 | dependencies:
1275 | define-data-property: "npm:^1.0.1"
1276 | has-property-descriptors: "npm:^1.0.0"
1277 | object-keys: "npm:^1.1.1"
1278 | checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3
1279 | languageName: node
1280 | linkType: hard
1281 |
1282 | "delayed-stream@npm:~1.0.0":
1283 | version: 1.0.0
1284 | resolution: "delayed-stream@npm:1.0.0"
1285 | checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19
1286 | languageName: node
1287 | linkType: hard
1288 |
1289 | "delegates@npm:^1.0.0":
1290 | version: 1.0.0
1291 | resolution: "delegates@npm:1.0.0"
1292 | checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5
1293 | languageName: node
1294 | linkType: hard
1295 |
1296 | "detect-libc@npm:^2.0.1":
1297 | version: 2.0.3
1298 | resolution: "detect-libc@npm:2.0.3"
1299 | checksum: 10c0/88095bda8f90220c95f162bf92cad70bd0e424913e655c20578600e35b91edc261af27531cf160a331e185c0ced93944bc7e09939143225f56312d7fd800fdb7
1300 | languageName: node
1301 | linkType: hard
1302 |
1303 | "detect-node@npm:^2.0.4":
1304 | version: 2.1.0
1305 | resolution: "detect-node@npm:2.1.0"
1306 | checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09
1307 | languageName: node
1308 | linkType: hard
1309 |
1310 | "diff@npm:^4.0.1":
1311 | version: 4.0.2
1312 | resolution: "diff@npm:4.0.2"
1313 | checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1
1314 | languageName: node
1315 | linkType: hard
1316 |
1317 | "dir-compare@npm:^4.2.0":
1318 | version: 4.2.0
1319 | resolution: "dir-compare@npm:4.2.0"
1320 | dependencies:
1321 | minimatch: "npm:^3.0.5"
1322 | p-limit: "npm:^3.1.0 "
1323 | checksum: 10c0/615c6f6804095f912d98d49f9b56798ceebbc83612d660b7faa6bdb4894d978c02cfa1a30853a7319a269141e4f2a2034d4988a1985b58382614a3942f94e5b2
1324 | languageName: node
1325 | linkType: hard
1326 |
1327 | "dmg-builder@npm:25.1.8":
1328 | version: 25.1.8
1329 | resolution: "dmg-builder@npm:25.1.8"
1330 | dependencies:
1331 | app-builder-lib: "npm:25.1.8"
1332 | builder-util: "npm:25.1.7"
1333 | builder-util-runtime: "npm:9.2.10"
1334 | dmg-license: "npm:^1.0.11"
1335 | fs-extra: "npm:^10.1.0"
1336 | iconv-lite: "npm:^0.6.2"
1337 | js-yaml: "npm:^4.1.0"
1338 | dependenciesMeta:
1339 | dmg-license:
1340 | optional: true
1341 | checksum: 10c0/a472aba3398664259713f4baf6557509ce0a3832ff49fae2f580e97168a33dcee8f99be2f990a15d795cd28b5477b10fbb8a17bed4f8d410c8181b4b9e2d0063
1342 | languageName: node
1343 | linkType: hard
1344 |
1345 | "dmg-license@npm:^1.0.11":
1346 | version: 1.0.11
1347 | resolution: "dmg-license@npm:1.0.11"
1348 | dependencies:
1349 | "@types/plist": "npm:^3.0.1"
1350 | "@types/verror": "npm:^1.10.3"
1351 | ajv: "npm:^6.10.0"
1352 | crc: "npm:^3.8.0"
1353 | iconv-corefoundation: "npm:^1.1.7"
1354 | plist: "npm:^3.0.4"
1355 | smart-buffer: "npm:^4.0.2"
1356 | verror: "npm:^1.10.0"
1357 | bin:
1358 | dmg-license: bin/dmg-license.js
1359 | conditions: os=darwin
1360 | languageName: node
1361 | linkType: hard
1362 |
1363 | "dot-prop@npm:^6.0.1":
1364 | version: 6.0.1
1365 | resolution: "dot-prop@npm:6.0.1"
1366 | dependencies:
1367 | is-obj: "npm:^2.0.0"
1368 | checksum: 10c0/30e51ec6408978a6951b21e7bc4938aad01a86f2fdf779efe52330205c6bb8a8ea12f35925c2029d6dc9d1df22f916f32f828ce1e9b259b1371c580541c22b5a
1369 | languageName: node
1370 | linkType: hard
1371 |
1372 | "dotenv-expand@npm:^11.0.6":
1373 | version: 11.0.7
1374 | resolution: "dotenv-expand@npm:11.0.7"
1375 | dependencies:
1376 | dotenv: "npm:^16.4.5"
1377 | checksum: 10c0/d80b8a7be085edf351270b96ac0e794bc3ddd7f36157912939577cb4d33ba6492ebee349d59798b71b90e36f498d24a2a564fb4aa00073b2ef4c2a3a49c467b1
1378 | languageName: node
1379 | linkType: hard
1380 |
1381 | "dotenv@npm:^16.4.5":
1382 | version: 16.4.7
1383 | resolution: "dotenv@npm:16.4.7"
1384 | checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462
1385 | languageName: node
1386 | linkType: hard
1387 |
1388 | "eastasianwidth@npm:^0.2.0":
1389 | version: 0.2.0
1390 | resolution: "eastasianwidth@npm:0.2.0"
1391 | checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39
1392 | languageName: node
1393 | linkType: hard
1394 |
1395 | "ejs@npm:^3.1.8":
1396 | version: 3.1.10
1397 | resolution: "ejs@npm:3.1.10"
1398 | dependencies:
1399 | jake: "npm:^10.8.5"
1400 | bin:
1401 | ejs: bin/cli.js
1402 | checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1
1403 | languageName: node
1404 | linkType: hard
1405 |
1406 | "electron-builder@npm:^25.1.8":
1407 | version: 25.1.8
1408 | resolution: "electron-builder@npm:25.1.8"
1409 | dependencies:
1410 | app-builder-lib: "npm:25.1.8"
1411 | builder-util: "npm:25.1.7"
1412 | builder-util-runtime: "npm:9.2.10"
1413 | chalk: "npm:^4.1.2"
1414 | dmg-builder: "npm:25.1.8"
1415 | fs-extra: "npm:^10.1.0"
1416 | is-ci: "npm:^3.0.0"
1417 | lazy-val: "npm:^1.0.5"
1418 | simple-update-notifier: "npm:2.0.0"
1419 | yargs: "npm:^17.6.2"
1420 | bin:
1421 | electron-builder: cli.js
1422 | install-app-deps: install-app-deps.js
1423 | checksum: 10c0/9602a19f8c647fb75b07e44dc856012d2b1fe1afcb257ffd24cf17e07d7ae3b51405cf31da10403965ddcc7b194d60aca6bc5d7890e367b1be2ec95219edcbe8
1424 | languageName: node
1425 | linkType: hard
1426 |
1427 | "electron-publish@npm:25.1.7":
1428 | version: 25.1.7
1429 | resolution: "electron-publish@npm:25.1.7"
1430 | dependencies:
1431 | "@types/fs-extra": "npm:^9.0.11"
1432 | builder-util: "npm:25.1.7"
1433 | builder-util-runtime: "npm:9.2.10"
1434 | chalk: "npm:^4.1.2"
1435 | fs-extra: "npm:^10.1.0"
1436 | lazy-val: "npm:^1.0.5"
1437 | mime: "npm:^2.5.2"
1438 | checksum: 10c0/cdb58049c24b38ba7879514224cfd2245fd364e125391ed6e12eeed2a96d95ede192a1ad961ff1287f344ca7b3b62e1096ce4a4c41be40fd402d0688fcf5c505
1439 | languageName: node
1440 | linkType: hard
1441 |
1442 | "electron-store@npm:^8.0.0":
1443 | version: 8.2.0
1444 | resolution: "electron-store@npm:8.2.0"
1445 | dependencies:
1446 | conf: "npm:^10.2.0"
1447 | type-fest: "npm:^2.17.0"
1448 | checksum: 10c0/a4d19827e96ab67bf6c2a375910f51b147b23f4a0468da5cfeeb069acdfdbcd3a9f5650248a62a05aa0967149e4d1c47f2d0ba7582205e5eb38952c93b6882e1
1449 | languageName: node
1450 | linkType: hard
1451 |
1452 | "electron@npm:^33.2.1":
1453 | version: 33.2.1
1454 | resolution: "electron@npm:33.2.1"
1455 | dependencies:
1456 | "@electron/get": "npm:^2.0.0"
1457 | "@types/node": "npm:^20.9.0"
1458 | extract-zip: "npm:^2.0.1"
1459 | bin:
1460 | electron: cli.js
1461 | checksum: 10c0/25111ab9b48bf95a24b916292c8d4f4d05309b12823d5e942636f377a8033c9c47d466f686895bfe4619b80d222470a439d9b0227516740c8e19fa14991b880b
1462 | languageName: node
1463 | linkType: hard
1464 |
1465 | "emoji-regex@npm:^8.0.0":
1466 | version: 8.0.0
1467 | resolution: "emoji-regex@npm:8.0.0"
1468 | checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010
1469 | languageName: node
1470 | linkType: hard
1471 |
1472 | "emoji-regex@npm:^9.2.2":
1473 | version: 9.2.2
1474 | resolution: "emoji-regex@npm:9.2.2"
1475 | checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639
1476 | languageName: node
1477 | linkType: hard
1478 |
1479 | "encoding@npm:^0.1.13":
1480 | version: 0.1.13
1481 | resolution: "encoding@npm:0.1.13"
1482 | dependencies:
1483 | iconv-lite: "npm:^0.6.2"
1484 | checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039
1485 | languageName: node
1486 | linkType: hard
1487 |
1488 | "end-of-stream@npm:^1.1.0":
1489 | version: 1.4.4
1490 | resolution: "end-of-stream@npm:1.4.4"
1491 | dependencies:
1492 | once: "npm:^1.4.0"
1493 | checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975
1494 | languageName: node
1495 | linkType: hard
1496 |
1497 | "env-paths@npm:^2.2.0, env-paths@npm:^2.2.1":
1498 | version: 2.2.1
1499 | resolution: "env-paths@npm:2.2.1"
1500 | checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4
1501 | languageName: node
1502 | linkType: hard
1503 |
1504 | "err-code@npm:^2.0.2":
1505 | version: 2.0.3
1506 | resolution: "err-code@npm:2.0.3"
1507 | checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66
1508 | languageName: node
1509 | linkType: hard
1510 |
1511 | "es-define-property@npm:^1.0.0":
1512 | version: 1.0.1
1513 | resolution: "es-define-property@npm:1.0.1"
1514 | checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c
1515 | languageName: node
1516 | linkType: hard
1517 |
1518 | "es-errors@npm:^1.3.0":
1519 | version: 1.3.0
1520 | resolution: "es-errors@npm:1.3.0"
1521 | checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85
1522 | languageName: node
1523 | linkType: hard
1524 |
1525 | "es6-error@npm:^4.1.1":
1526 | version: 4.1.1
1527 | resolution: "es6-error@npm:4.1.1"
1528 | checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef
1529 | languageName: node
1530 | linkType: hard
1531 |
1532 | "escalade@npm:^3.1.1":
1533 | version: 3.2.0
1534 | resolution: "escalade@npm:3.2.0"
1535 | checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65
1536 | languageName: node
1537 | linkType: hard
1538 |
1539 | "escape-string-regexp@npm:^4.0.0":
1540 | version: 4.0.0
1541 | resolution: "escape-string-regexp@npm:4.0.0"
1542 | checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9
1543 | languageName: node
1544 | linkType: hard
1545 |
1546 | "exponential-backoff@npm:^3.1.1":
1547 | version: 3.1.1
1548 | resolution: "exponential-backoff@npm:3.1.1"
1549 | checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579
1550 | languageName: node
1551 | linkType: hard
1552 |
1553 | "extract-zip@npm:^2.0.1":
1554 | version: 2.0.1
1555 | resolution: "extract-zip@npm:2.0.1"
1556 | dependencies:
1557 | "@types/yauzl": "npm:^2.9.1"
1558 | debug: "npm:^4.1.1"
1559 | get-stream: "npm:^5.1.0"
1560 | yauzl: "npm:^2.10.0"
1561 | dependenciesMeta:
1562 | "@types/yauzl":
1563 | optional: true
1564 | bin:
1565 | extract-zip: cli.js
1566 | checksum: 10c0/9afbd46854aa15a857ae0341a63a92743a7b89c8779102c3b4ffc207516b2019337353962309f85c66ee3d9092202a83cdc26dbf449a11981272038443974aee
1567 | languageName: node
1568 | linkType: hard
1569 |
1570 | "extsprintf@npm:^1.2.0":
1571 | version: 1.4.1
1572 | resolution: "extsprintf@npm:1.4.1"
1573 | checksum: 10c0/e10e2769985d0e9b6c7199b053a9957589d02e84de42832c295798cb422a025e6d4a92e0259c1fb4d07090f5bfde6b55fd9f880ac5855bd61d775f8ab75a7ab0
1574 | languageName: node
1575 | linkType: hard
1576 |
1577 | "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
1578 | version: 3.1.3
1579 | resolution: "fast-deep-equal@npm:3.1.3"
1580 | checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0
1581 | languageName: node
1582 | linkType: hard
1583 |
1584 | "fast-json-stable-stringify@npm:^2.0.0":
1585 | version: 2.1.0
1586 | resolution: "fast-json-stable-stringify@npm:2.1.0"
1587 | checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b
1588 | languageName: node
1589 | linkType: hard
1590 |
1591 | "fast-uri@npm:^3.0.1":
1592 | version: 3.0.3
1593 | resolution: "fast-uri@npm:3.0.3"
1594 | checksum: 10c0/4b2c5ce681a062425eae4f15cdc8fc151fd310b2f69b1f96680677820a8b49c3cd6e80661a406e19d50f0c40a3f8bffdd458791baf66f4a879d80be28e10a320
1595 | languageName: node
1596 | linkType: hard
1597 |
1598 | "fd-slicer@npm:~1.1.0":
1599 | version: 1.1.0
1600 | resolution: "fd-slicer@npm:1.1.0"
1601 | dependencies:
1602 | pend: "npm:~1.2.0"
1603 | checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e
1604 | languageName: node
1605 | linkType: hard
1606 |
1607 | "filelist@npm:^1.0.4":
1608 | version: 1.0.4
1609 | resolution: "filelist@npm:1.0.4"
1610 | dependencies:
1611 | minimatch: "npm:^5.0.1"
1612 | checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41
1613 | languageName: node
1614 | linkType: hard
1615 |
1616 | "find-up@npm:^3.0.0":
1617 | version: 3.0.0
1618 | resolution: "find-up@npm:3.0.0"
1619 | dependencies:
1620 | locate-path: "npm:^3.0.0"
1621 | checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3
1622 | languageName: node
1623 | linkType: hard
1624 |
1625 | "follow-redirects@npm:^1.15.6":
1626 | version: 1.15.9
1627 | resolution: "follow-redirects@npm:1.15.9"
1628 | peerDependenciesMeta:
1629 | debug:
1630 | optional: true
1631 | checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f
1632 | languageName: node
1633 | linkType: hard
1634 |
1635 | "foreground-child@npm:^3.1.0":
1636 | version: 3.3.0
1637 | resolution: "foreground-child@npm:3.3.0"
1638 | dependencies:
1639 | cross-spawn: "npm:^7.0.0"
1640 | signal-exit: "npm:^4.0.1"
1641 | checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2
1642 | languageName: node
1643 | linkType: hard
1644 |
1645 | "form-data@npm:^4.0.0":
1646 | version: 4.0.1
1647 | resolution: "form-data@npm:4.0.1"
1648 | dependencies:
1649 | asynckit: "npm:^0.4.0"
1650 | combined-stream: "npm:^1.0.8"
1651 | mime-types: "npm:^2.1.12"
1652 | checksum: 10c0/bb102d570be8592c23f4ea72d7df9daa50c7792eb0cf1c5d7e506c1706e7426a4e4ae48a35b109e91c85f1c0ec63774a21ae252b66f4eb981cb8efef7d0463c8
1653 | languageName: node
1654 | linkType: hard
1655 |
1656 | "fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0":
1657 | version: 10.1.0
1658 | resolution: "fs-extra@npm:10.1.0"
1659 | dependencies:
1660 | graceful-fs: "npm:^4.2.0"
1661 | jsonfile: "npm:^6.0.1"
1662 | universalify: "npm:^2.0.0"
1663 | checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e
1664 | languageName: node
1665 | linkType: hard
1666 |
1667 | "fs-extra@npm:^11.1.1":
1668 | version: 11.2.0
1669 | resolution: "fs-extra@npm:11.2.0"
1670 | dependencies:
1671 | graceful-fs: "npm:^4.2.0"
1672 | jsonfile: "npm:^6.0.1"
1673 | universalify: "npm:^2.0.0"
1674 | checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398
1675 | languageName: node
1676 | linkType: hard
1677 |
1678 | "fs-extra@npm:^8.1.0":
1679 | version: 8.1.0
1680 | resolution: "fs-extra@npm:8.1.0"
1681 | dependencies:
1682 | graceful-fs: "npm:^4.2.0"
1683 | jsonfile: "npm:^4.0.0"
1684 | universalify: "npm:^0.1.0"
1685 | checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423
1686 | languageName: node
1687 | linkType: hard
1688 |
1689 | "fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1":
1690 | version: 9.1.0
1691 | resolution: "fs-extra@npm:9.1.0"
1692 | dependencies:
1693 | at-least-node: "npm:^1.0.0"
1694 | graceful-fs: "npm:^4.2.0"
1695 | jsonfile: "npm:^6.0.1"
1696 | universalify: "npm:^2.0.0"
1697 | checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92
1698 | languageName: node
1699 | linkType: hard
1700 |
1701 | "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0":
1702 | version: 2.1.0
1703 | resolution: "fs-minipass@npm:2.1.0"
1704 | dependencies:
1705 | minipass: "npm:^3.0.0"
1706 | checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004
1707 | languageName: node
1708 | linkType: hard
1709 |
1710 | "fs-minipass@npm:^3.0.0":
1711 | version: 3.0.3
1712 | resolution: "fs-minipass@npm:3.0.3"
1713 | dependencies:
1714 | minipass: "npm:^7.0.3"
1715 | checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94
1716 | languageName: node
1717 | linkType: hard
1718 |
1719 | "fs.realpath@npm:^1.0.0":
1720 | version: 1.0.0
1721 | resolution: "fs.realpath@npm:1.0.0"
1722 | checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948
1723 | languageName: node
1724 | linkType: hard
1725 |
1726 | "gauge@npm:^4.0.3":
1727 | version: 4.0.4
1728 | resolution: "gauge@npm:4.0.4"
1729 | dependencies:
1730 | aproba: "npm:^1.0.3 || ^2.0.0"
1731 | color-support: "npm:^1.1.3"
1732 | console-control-strings: "npm:^1.1.0"
1733 | has-unicode: "npm:^2.0.1"
1734 | signal-exit: "npm:^3.0.7"
1735 | string-width: "npm:^4.2.3"
1736 | strip-ansi: "npm:^6.0.1"
1737 | wide-align: "npm:^1.1.5"
1738 | checksum: 10c0/ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c
1739 | languageName: node
1740 | linkType: hard
1741 |
1742 | "get-caller-file@npm:^2.0.5":
1743 | version: 2.0.5
1744 | resolution: "get-caller-file@npm:2.0.5"
1745 | checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde
1746 | languageName: node
1747 | linkType: hard
1748 |
1749 | "get-stream@npm:^5.1.0":
1750 | version: 5.2.0
1751 | resolution: "get-stream@npm:5.2.0"
1752 | dependencies:
1753 | pump: "npm:^3.0.0"
1754 | checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80
1755 | languageName: node
1756 | linkType: hard
1757 |
1758 | "glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.12, glob@npm:^10.3.7":
1759 | version: 10.4.5
1760 | resolution: "glob@npm:10.4.5"
1761 | dependencies:
1762 | foreground-child: "npm:^3.1.0"
1763 | jackspeak: "npm:^3.1.2"
1764 | minimatch: "npm:^9.0.4"
1765 | minipass: "npm:^7.1.2"
1766 | package-json-from-dist: "npm:^1.0.0"
1767 | path-scurry: "npm:^1.11.1"
1768 | bin:
1769 | glob: dist/esm/bin.mjs
1770 | checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e
1771 | languageName: node
1772 | linkType: hard
1773 |
1774 | "glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6":
1775 | version: 7.2.3
1776 | resolution: "glob@npm:7.2.3"
1777 | dependencies:
1778 | fs.realpath: "npm:^1.0.0"
1779 | inflight: "npm:^1.0.4"
1780 | inherits: "npm:2"
1781 | minimatch: "npm:^3.1.1"
1782 | once: "npm:^1.3.0"
1783 | path-is-absolute: "npm:^1.0.0"
1784 | checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe
1785 | languageName: node
1786 | linkType: hard
1787 |
1788 | "glob@npm:^8.0.1":
1789 | version: 8.1.0
1790 | resolution: "glob@npm:8.1.0"
1791 | dependencies:
1792 | fs.realpath: "npm:^1.0.0"
1793 | inflight: "npm:^1.0.4"
1794 | inherits: "npm:2"
1795 | minimatch: "npm:^5.0.1"
1796 | once: "npm:^1.3.0"
1797 | checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f
1798 | languageName: node
1799 | linkType: hard
1800 |
1801 | "global-agent@npm:^3.0.0":
1802 | version: 3.0.0
1803 | resolution: "global-agent@npm:3.0.0"
1804 | dependencies:
1805 | boolean: "npm:^3.0.1"
1806 | es6-error: "npm:^4.1.1"
1807 | matcher: "npm:^3.0.0"
1808 | roarr: "npm:^2.15.3"
1809 | semver: "npm:^7.3.2"
1810 | serialize-error: "npm:^7.0.1"
1811 | checksum: 10c0/bb8750d026b25da437072762fd739098bad92ff72f66483c3929db4579e072f5523960f7e7fd70ee0d75db48898067b5dc1c9c1d17888128cff008fcc34d1bd3
1812 | languageName: node
1813 | linkType: hard
1814 |
1815 | "globalthis@npm:^1.0.1":
1816 | version: 1.0.4
1817 | resolution: "globalthis@npm:1.0.4"
1818 | dependencies:
1819 | define-properties: "npm:^1.2.1"
1820 | gopd: "npm:^1.0.1"
1821 | checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846
1822 | languageName: node
1823 | linkType: hard
1824 |
1825 | "gopd@npm:^1.0.1":
1826 | version: 1.2.0
1827 | resolution: "gopd@npm:1.2.0"
1828 | checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead
1829 | languageName: node
1830 | linkType: hard
1831 |
1832 | "got@npm:^11.7.0, got@npm:^11.8.5":
1833 | version: 11.8.6
1834 | resolution: "got@npm:11.8.6"
1835 | dependencies:
1836 | "@sindresorhus/is": "npm:^4.0.0"
1837 | "@szmarczak/http-timer": "npm:^4.0.5"
1838 | "@types/cacheable-request": "npm:^6.0.1"
1839 | "@types/responselike": "npm:^1.0.0"
1840 | cacheable-lookup: "npm:^5.0.3"
1841 | cacheable-request: "npm:^7.0.2"
1842 | decompress-response: "npm:^6.0.0"
1843 | http2-wrapper: "npm:^1.0.0-beta.5.2"
1844 | lowercase-keys: "npm:^2.0.0"
1845 | p-cancelable: "npm:^2.0.0"
1846 | responselike: "npm:^2.0.0"
1847 | checksum: 10c0/754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1
1848 | languageName: node
1849 | linkType: hard
1850 |
1851 | "graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6":
1852 | version: 4.2.11
1853 | resolution: "graceful-fs@npm:4.2.11"
1854 | checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2
1855 | languageName: node
1856 | linkType: hard
1857 |
1858 | "has-flag@npm:^4.0.0":
1859 | version: 4.0.0
1860 | resolution: "has-flag@npm:4.0.0"
1861 | checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1
1862 | languageName: node
1863 | linkType: hard
1864 |
1865 | "has-property-descriptors@npm:^1.0.0":
1866 | version: 1.0.2
1867 | resolution: "has-property-descriptors@npm:1.0.2"
1868 | dependencies:
1869 | es-define-property: "npm:^1.0.0"
1870 | checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236
1871 | languageName: node
1872 | linkType: hard
1873 |
1874 | "has-unicode@npm:^2.0.1":
1875 | version: 2.0.1
1876 | resolution: "has-unicode@npm:2.0.1"
1877 | checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c
1878 | languageName: node
1879 | linkType: hard
1880 |
1881 | "hosted-git-info@npm:^4.1.0":
1882 | version: 4.1.0
1883 | resolution: "hosted-git-info@npm:4.1.0"
1884 | dependencies:
1885 | lru-cache: "npm:^6.0.0"
1886 | checksum: 10c0/150fbcb001600336d17fdbae803264abed013548eea7946c2264c49ebe2ebd8c4441ba71dd23dd8e18c65de79d637f98b22d4760ba5fb2e0b15d62543d0fff07
1887 | languageName: node
1888 | linkType: hard
1889 |
1890 | "http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1":
1891 | version: 4.1.1
1892 | resolution: "http-cache-semantics@npm:4.1.1"
1893 | checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc
1894 | languageName: node
1895 | linkType: hard
1896 |
1897 | "http-proxy-agent@npm:^5.0.0":
1898 | version: 5.0.0
1899 | resolution: "http-proxy-agent@npm:5.0.0"
1900 | dependencies:
1901 | "@tootallnate/once": "npm:2"
1902 | agent-base: "npm:6"
1903 | debug: "npm:4"
1904 | checksum: 10c0/32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32
1905 | languageName: node
1906 | linkType: hard
1907 |
1908 | "http-proxy-agent@npm:^7.0.0":
1909 | version: 7.0.2
1910 | resolution: "http-proxy-agent@npm:7.0.2"
1911 | dependencies:
1912 | agent-base: "npm:^7.1.0"
1913 | debug: "npm:^4.3.4"
1914 | checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921
1915 | languageName: node
1916 | linkType: hard
1917 |
1918 | "http2-wrapper@npm:^1.0.0-beta.5.2":
1919 | version: 1.0.3
1920 | resolution: "http2-wrapper@npm:1.0.3"
1921 | dependencies:
1922 | quick-lru: "npm:^5.1.1"
1923 | resolve-alpn: "npm:^1.0.0"
1924 | checksum: 10c0/6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1
1925 | languageName: node
1926 | linkType: hard
1927 |
1928 | "https-proxy-agent@npm:^5.0.0":
1929 | version: 5.0.1
1930 | resolution: "https-proxy-agent@npm:5.0.1"
1931 | dependencies:
1932 | agent-base: "npm:6"
1933 | debug: "npm:4"
1934 | checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1
1935 | languageName: node
1936 | linkType: hard
1937 |
1938 | "https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1":
1939 | version: 7.0.6
1940 | resolution: "https-proxy-agent@npm:7.0.6"
1941 | dependencies:
1942 | agent-base: "npm:^7.1.2"
1943 | debug: "npm:4"
1944 | checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac
1945 | languageName: node
1946 | linkType: hard
1947 |
1948 | "humanize-ms@npm:^1.2.1":
1949 | version: 1.2.1
1950 | resolution: "humanize-ms@npm:1.2.1"
1951 | dependencies:
1952 | ms: "npm:^2.0.0"
1953 | checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a
1954 | languageName: node
1955 | linkType: hard
1956 |
1957 | "iconv-corefoundation@npm:^1.1.7":
1958 | version: 1.1.7
1959 | resolution: "iconv-corefoundation@npm:1.1.7"
1960 | dependencies:
1961 | cli-truncate: "npm:^2.1.0"
1962 | node-addon-api: "npm:^1.6.3"
1963 | conditions: os=darwin
1964 | languageName: node
1965 | linkType: hard
1966 |
1967 | "iconv-lite@npm:^0.6.2":
1968 | version: 0.6.3
1969 | resolution: "iconv-lite@npm:0.6.3"
1970 | dependencies:
1971 | safer-buffer: "npm:>= 2.1.2 < 3.0.0"
1972 | checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1
1973 | languageName: node
1974 | linkType: hard
1975 |
1976 | "ieee754@npm:^1.1.13":
1977 | version: 1.2.1
1978 | resolution: "ieee754@npm:1.2.1"
1979 | checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb
1980 | languageName: node
1981 | linkType: hard
1982 |
1983 | "imurmurhash@npm:^0.1.4":
1984 | version: 0.1.4
1985 | resolution: "imurmurhash@npm:0.1.4"
1986 | checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6
1987 | languageName: node
1988 | linkType: hard
1989 |
1990 | "indent-string@npm:^4.0.0":
1991 | version: 4.0.0
1992 | resolution: "indent-string@npm:4.0.0"
1993 | checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f
1994 | languageName: node
1995 | linkType: hard
1996 |
1997 | "infer-owner@npm:^1.0.4":
1998 | version: 1.0.4
1999 | resolution: "infer-owner@npm:1.0.4"
2000 | checksum: 10c0/a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9
2001 | languageName: node
2002 | linkType: hard
2003 |
2004 | "inflight@npm:^1.0.4":
2005 | version: 1.0.6
2006 | resolution: "inflight@npm:1.0.6"
2007 | dependencies:
2008 | once: "npm:^1.3.0"
2009 | wrappy: "npm:1"
2010 | checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2
2011 | languageName: node
2012 | linkType: hard
2013 |
2014 | "inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4":
2015 | version: 2.0.4
2016 | resolution: "inherits@npm:2.0.4"
2017 | checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2
2018 | languageName: node
2019 | linkType: hard
2020 |
2021 | "ip-address@npm:^9.0.5":
2022 | version: 9.0.5
2023 | resolution: "ip-address@npm:9.0.5"
2024 | dependencies:
2025 | jsbn: "npm:1.1.0"
2026 | sprintf-js: "npm:^1.1.3"
2027 | checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc
2028 | languageName: node
2029 | linkType: hard
2030 |
2031 | "is-ci@npm:^3.0.0":
2032 | version: 3.0.1
2033 | resolution: "is-ci@npm:3.0.1"
2034 | dependencies:
2035 | ci-info: "npm:^3.2.0"
2036 | bin:
2037 | is-ci: bin.js
2038 | checksum: 10c0/0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051
2039 | languageName: node
2040 | linkType: hard
2041 |
2042 | "is-fullwidth-code-point@npm:^3.0.0":
2043 | version: 3.0.0
2044 | resolution: "is-fullwidth-code-point@npm:3.0.0"
2045 | checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc
2046 | languageName: node
2047 | linkType: hard
2048 |
2049 | "is-interactive@npm:^1.0.0":
2050 | version: 1.0.0
2051 | resolution: "is-interactive@npm:1.0.0"
2052 | checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d
2053 | languageName: node
2054 | linkType: hard
2055 |
2056 | "is-lambda@npm:^1.0.1":
2057 | version: 1.0.1
2058 | resolution: "is-lambda@npm:1.0.1"
2059 | checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d
2060 | languageName: node
2061 | linkType: hard
2062 |
2063 | "is-obj@npm:^2.0.0":
2064 | version: 2.0.0
2065 | resolution: "is-obj@npm:2.0.0"
2066 | checksum: 10c0/85044ed7ba8bd169e2c2af3a178cacb92a97aa75de9569d02efef7f443a824b5e153eba72b9ae3aca6f8ce81955271aa2dc7da67a8b720575d3e38104208cb4e
2067 | languageName: node
2068 | linkType: hard
2069 |
2070 | "is-unicode-supported@npm:^0.1.0":
2071 | version: 0.1.0
2072 | resolution: "is-unicode-supported@npm:0.1.0"
2073 | checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453
2074 | languageName: node
2075 | linkType: hard
2076 |
2077 | "isbinaryfile@npm:^4.0.8":
2078 | version: 4.0.10
2079 | resolution: "isbinaryfile@npm:4.0.10"
2080 | checksum: 10c0/0703d8cfeb69ed79e6d173120f327450011a066755150a6bbf97ffecec1069a5f2092777868315b21359098c84b54984871cad1abce877ad9141fb2caf3dcabf
2081 | languageName: node
2082 | linkType: hard
2083 |
2084 | "isbinaryfile@npm:^5.0.0":
2085 | version: 5.0.4
2086 | resolution: "isbinaryfile@npm:5.0.4"
2087 | checksum: 10c0/fea255bfae67ff4827e8dd2238d6700d4803d02b4d892b72eeac4541487284e901251a3427966af5018d4eb29fa155b036dcb75dd217634146a072991afbc2c2
2088 | languageName: node
2089 | linkType: hard
2090 |
2091 | "isexe@npm:^2.0.0":
2092 | version: 2.0.0
2093 | resolution: "isexe@npm:2.0.0"
2094 | checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d
2095 | languageName: node
2096 | linkType: hard
2097 |
2098 | "isexe@npm:^3.1.1":
2099 | version: 3.1.1
2100 | resolution: "isexe@npm:3.1.1"
2101 | checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7
2102 | languageName: node
2103 | linkType: hard
2104 |
2105 | "jackspeak@npm:^3.1.2":
2106 | version: 3.4.3
2107 | resolution: "jackspeak@npm:3.4.3"
2108 | dependencies:
2109 | "@isaacs/cliui": "npm:^8.0.2"
2110 | "@pkgjs/parseargs": "npm:^0.11.0"
2111 | dependenciesMeta:
2112 | "@pkgjs/parseargs":
2113 | optional: true
2114 | checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9
2115 | languageName: node
2116 | linkType: hard
2117 |
2118 | "jake@npm:^10.8.5":
2119 | version: 10.9.2
2120 | resolution: "jake@npm:10.9.2"
2121 | dependencies:
2122 | async: "npm:^3.2.3"
2123 | chalk: "npm:^4.0.2"
2124 | filelist: "npm:^1.0.4"
2125 | minimatch: "npm:^3.1.2"
2126 | bin:
2127 | jake: bin/cli.js
2128 | checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31
2129 | languageName: node
2130 | linkType: hard
2131 |
2132 | "joi@npm:^17.11.0":
2133 | version: 17.13.3
2134 | resolution: "joi@npm:17.13.3"
2135 | dependencies:
2136 | "@hapi/hoek": "npm:^9.3.0"
2137 | "@hapi/topo": "npm:^5.1.0"
2138 | "@sideway/address": "npm:^4.1.5"
2139 | "@sideway/formula": "npm:^3.0.1"
2140 | "@sideway/pinpoint": "npm:^2.0.0"
2141 | checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f
2142 | languageName: node
2143 | linkType: hard
2144 |
2145 | "js-yaml@npm:^4.1.0":
2146 | version: 4.1.0
2147 | resolution: "js-yaml@npm:4.1.0"
2148 | dependencies:
2149 | argparse: "npm:^2.0.1"
2150 | bin:
2151 | js-yaml: bin/js-yaml.js
2152 | checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f
2153 | languageName: node
2154 | linkType: hard
2155 |
2156 | "jsbn@npm:1.1.0":
2157 | version: 1.1.0
2158 | resolution: "jsbn@npm:1.1.0"
2159 | checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96
2160 | languageName: node
2161 | linkType: hard
2162 |
2163 | "json-buffer@npm:3.0.1":
2164 | version: 3.0.1
2165 | resolution: "json-buffer@npm:3.0.1"
2166 | checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7
2167 | languageName: node
2168 | linkType: hard
2169 |
2170 | "json-schema-traverse@npm:^0.4.1":
2171 | version: 0.4.1
2172 | resolution: "json-schema-traverse@npm:0.4.1"
2173 | checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce
2174 | languageName: node
2175 | linkType: hard
2176 |
2177 | "json-schema-traverse@npm:^1.0.0":
2178 | version: 1.0.0
2179 | resolution: "json-schema-traverse@npm:1.0.0"
2180 | checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6
2181 | languageName: node
2182 | linkType: hard
2183 |
2184 | "json-schema-typed@npm:^7.0.3":
2185 | version: 7.0.3
2186 | resolution: "json-schema-typed@npm:7.0.3"
2187 | checksum: 10c0/b4a6d984dd91f9aba72df8768c5ced99e789b8e17b55ee24afb3a687ce55b70a7b3f4360cac67939e1ff98e136ca26f3aa530635c13ef371ae5edc48b69a65f6
2188 | languageName: node
2189 | linkType: hard
2190 |
2191 | "json-stringify-safe@npm:^5.0.1":
2192 | version: 5.0.1
2193 | resolution: "json-stringify-safe@npm:5.0.1"
2194 | checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37
2195 | languageName: node
2196 | linkType: hard
2197 |
2198 | "json5@npm:^2.2.3":
2199 | version: 2.2.3
2200 | resolution: "json5@npm:2.2.3"
2201 | bin:
2202 | json5: lib/cli.js
2203 | checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c
2204 | languageName: node
2205 | linkType: hard
2206 |
2207 | "jsonfile@npm:^4.0.0":
2208 | version: 4.0.0
2209 | resolution: "jsonfile@npm:4.0.0"
2210 | dependencies:
2211 | graceful-fs: "npm:^4.1.6"
2212 | dependenciesMeta:
2213 | graceful-fs:
2214 | optional: true
2215 | checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480
2216 | languageName: node
2217 | linkType: hard
2218 |
2219 | "jsonfile@npm:^6.0.1":
2220 | version: 6.1.0
2221 | resolution: "jsonfile@npm:6.1.0"
2222 | dependencies:
2223 | graceful-fs: "npm:^4.1.6"
2224 | universalify: "npm:^2.0.0"
2225 | dependenciesMeta:
2226 | graceful-fs:
2227 | optional: true
2228 | checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865
2229 | languageName: node
2230 | linkType: hard
2231 |
2232 | "keyv@npm:^4.0.0":
2233 | version: 4.5.4
2234 | resolution: "keyv@npm:4.5.4"
2235 | dependencies:
2236 | json-buffer: "npm:3.0.1"
2237 | checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e
2238 | languageName: node
2239 | linkType: hard
2240 |
2241 | "lazy-val@npm:^1.0.5":
2242 | version: 1.0.5
2243 | resolution: "lazy-val@npm:1.0.5"
2244 | checksum: 10c0/28ba7a0e704895a444eed47d110274090f485b991f2ea6fff2ab0878c529c53f60f2eb2d944cbbd68b91408e7455eabc62861c48289d4757fa9c818b97454f24
2245 | languageName: node
2246 | linkType: hard
2247 |
2248 | "locate-path@npm:^3.0.0":
2249 | version: 3.0.0
2250 | resolution: "locate-path@npm:3.0.0"
2251 | dependencies:
2252 | p-locate: "npm:^3.0.0"
2253 | path-exists: "npm:^3.0.0"
2254 | checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b
2255 | languageName: node
2256 | linkType: hard
2257 |
2258 | "lodash@npm:^4.17.15, lodash@npm:^4.17.21":
2259 | version: 4.17.21
2260 | resolution: "lodash@npm:4.17.21"
2261 | checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c
2262 | languageName: node
2263 | linkType: hard
2264 |
2265 | "log-symbols@npm:^4.1.0":
2266 | version: 4.1.0
2267 | resolution: "log-symbols@npm:4.1.0"
2268 | dependencies:
2269 | chalk: "npm:^4.1.0"
2270 | is-unicode-supported: "npm:^0.1.0"
2271 | checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6
2272 | languageName: node
2273 | linkType: hard
2274 |
2275 | "lowercase-keys@npm:^2.0.0":
2276 | version: 2.0.0
2277 | resolution: "lowercase-keys@npm:2.0.0"
2278 | checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082
2279 | languageName: node
2280 | linkType: hard
2281 |
2282 | "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
2283 | version: 10.4.3
2284 | resolution: "lru-cache@npm:10.4.3"
2285 | checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb
2286 | languageName: node
2287 | linkType: hard
2288 |
2289 | "lru-cache@npm:^6.0.0":
2290 | version: 6.0.0
2291 | resolution: "lru-cache@npm:6.0.0"
2292 | dependencies:
2293 | yallist: "npm:^4.0.0"
2294 | checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9
2295 | languageName: node
2296 | linkType: hard
2297 |
2298 | "lru-cache@npm:^7.7.1":
2299 | version: 7.18.3
2300 | resolution: "lru-cache@npm:7.18.3"
2301 | checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed
2302 | languageName: node
2303 | linkType: hard
2304 |
2305 | "make-error@npm:^1.1.1":
2306 | version: 1.3.6
2307 | resolution: "make-error@npm:1.3.6"
2308 | checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f
2309 | languageName: node
2310 | linkType: hard
2311 |
2312 | "make-fetch-happen@npm:^10.0.3":
2313 | version: 10.2.1
2314 | resolution: "make-fetch-happen@npm:10.2.1"
2315 | dependencies:
2316 | agentkeepalive: "npm:^4.2.1"
2317 | cacache: "npm:^16.1.0"
2318 | http-cache-semantics: "npm:^4.1.0"
2319 | http-proxy-agent: "npm:^5.0.0"
2320 | https-proxy-agent: "npm:^5.0.0"
2321 | is-lambda: "npm:^1.0.1"
2322 | lru-cache: "npm:^7.7.1"
2323 | minipass: "npm:^3.1.6"
2324 | minipass-collect: "npm:^1.0.2"
2325 | minipass-fetch: "npm:^2.0.3"
2326 | minipass-flush: "npm:^1.0.5"
2327 | minipass-pipeline: "npm:^1.2.4"
2328 | negotiator: "npm:^0.6.3"
2329 | promise-retry: "npm:^2.0.1"
2330 | socks-proxy-agent: "npm:^7.0.0"
2331 | ssri: "npm:^9.0.0"
2332 | checksum: 10c0/28ec392f63ab93511f400839dcee83107eeecfaad737d1e8487ea08b4332cd89a8f3319584222edd9f6f1d0833cf516691469496d46491863f9e88c658013949
2333 | languageName: node
2334 | linkType: hard
2335 |
2336 | "make-fetch-happen@npm:^14.0.3":
2337 | version: 14.0.3
2338 | resolution: "make-fetch-happen@npm:14.0.3"
2339 | dependencies:
2340 | "@npmcli/agent": "npm:^3.0.0"
2341 | cacache: "npm:^19.0.1"
2342 | http-cache-semantics: "npm:^4.1.1"
2343 | minipass: "npm:^7.0.2"
2344 | minipass-fetch: "npm:^4.0.0"
2345 | minipass-flush: "npm:^1.0.5"
2346 | minipass-pipeline: "npm:^1.2.4"
2347 | negotiator: "npm:^1.0.0"
2348 | proc-log: "npm:^5.0.0"
2349 | promise-retry: "npm:^2.0.1"
2350 | ssri: "npm:^12.0.0"
2351 | checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0
2352 | languageName: node
2353 | linkType: hard
2354 |
2355 | "matcher@npm:^3.0.0":
2356 | version: 3.0.0
2357 | resolution: "matcher@npm:3.0.0"
2358 | dependencies:
2359 | escape-string-regexp: "npm:^4.0.0"
2360 | checksum: 10c0/2edf24194a2879690bcdb29985fc6bc0d003df44e04df21ebcac721fa6ce2f6201c579866bb92f9380bffe946f11ecd8cd31f34117fb67ebf8aca604918e127e
2361 | languageName: node
2362 | linkType: hard
2363 |
2364 | "mime-db@npm:1.52.0":
2365 | version: 1.52.0
2366 | resolution: "mime-db@npm:1.52.0"
2367 | checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa
2368 | languageName: node
2369 | linkType: hard
2370 |
2371 | "mime-types@npm:^2.1.12":
2372 | version: 2.1.35
2373 | resolution: "mime-types@npm:2.1.35"
2374 | dependencies:
2375 | mime-db: "npm:1.52.0"
2376 | checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2
2377 | languageName: node
2378 | linkType: hard
2379 |
2380 | "mime@npm:^2.5.2":
2381 | version: 2.6.0
2382 | resolution: "mime@npm:2.6.0"
2383 | bin:
2384 | mime: cli.js
2385 | checksum: 10c0/a7f2589900d9c16e3bdf7672d16a6274df903da958c1643c9c45771f0478f3846dcb1097f31eb9178452570271361e2149310931ec705c037210fc69639c8e6c
2386 | languageName: node
2387 | linkType: hard
2388 |
2389 | "mimic-fn@npm:^2.1.0":
2390 | version: 2.1.0
2391 | resolution: "mimic-fn@npm:2.1.0"
2392 | checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4
2393 | languageName: node
2394 | linkType: hard
2395 |
2396 | "mimic-fn@npm:^3.0.0":
2397 | version: 3.1.0
2398 | resolution: "mimic-fn@npm:3.1.0"
2399 | checksum: 10c0/a07cdd8ed6490c2dff5b11f889b245d9556b80f5a653a552a651d17cff5a2d156e632d235106c2369f00cccef4071704589574cf3601bc1b1400a1f620dff067
2400 | languageName: node
2401 | linkType: hard
2402 |
2403 | "mimic-response@npm:^1.0.0":
2404 | version: 1.0.1
2405 | resolution: "mimic-response@npm:1.0.1"
2406 | checksum: 10c0/c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa
2407 | languageName: node
2408 | linkType: hard
2409 |
2410 | "mimic-response@npm:^3.1.0":
2411 | version: 3.1.0
2412 | resolution: "mimic-response@npm:3.1.0"
2413 | checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362
2414 | languageName: node
2415 | linkType: hard
2416 |
2417 | "minimatch@npm:^10.0.0":
2418 | version: 10.0.1
2419 | resolution: "minimatch@npm:10.0.1"
2420 | dependencies:
2421 | brace-expansion: "npm:^2.0.1"
2422 | checksum: 10c0/e6c29a81fe83e1877ad51348306be2e8aeca18c88fdee7a99df44322314279e15799e41d7cb274e4e8bb0b451a3bc622d6182e157dfa1717d6cda75e9cd8cd5d
2423 | languageName: node
2424 | linkType: hard
2425 |
2426 | "minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
2427 | version: 3.1.2
2428 | resolution: "minimatch@npm:3.1.2"
2429 | dependencies:
2430 | brace-expansion: "npm:^1.1.7"
2431 | checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311
2432 | languageName: node
2433 | linkType: hard
2434 |
2435 | "minimatch@npm:^5.0.1":
2436 | version: 5.1.6
2437 | resolution: "minimatch@npm:5.1.6"
2438 | dependencies:
2439 | brace-expansion: "npm:^2.0.1"
2440 | checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3
2441 | languageName: node
2442 | linkType: hard
2443 |
2444 | "minimatch@npm:^9.0.3, minimatch@npm:^9.0.4":
2445 | version: 9.0.5
2446 | resolution: "minimatch@npm:9.0.5"
2447 | dependencies:
2448 | brace-expansion: "npm:^2.0.1"
2449 | checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed
2450 | languageName: node
2451 | linkType: hard
2452 |
2453 | "minimist@npm:^1.2.6, minimist@npm:^1.2.8":
2454 | version: 1.2.8
2455 | resolution: "minimist@npm:1.2.8"
2456 | checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6
2457 | languageName: node
2458 | linkType: hard
2459 |
2460 | "minipass-collect@npm:^1.0.2":
2461 | version: 1.0.2
2462 | resolution: "minipass-collect@npm:1.0.2"
2463 | dependencies:
2464 | minipass: "npm:^3.0.0"
2465 | checksum: 10c0/8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898
2466 | languageName: node
2467 | linkType: hard
2468 |
2469 | "minipass-collect@npm:^2.0.1":
2470 | version: 2.0.1
2471 | resolution: "minipass-collect@npm:2.0.1"
2472 | dependencies:
2473 | minipass: "npm:^7.0.3"
2474 | checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e
2475 | languageName: node
2476 | linkType: hard
2477 |
2478 | "minipass-fetch@npm:^2.0.3":
2479 | version: 2.1.2
2480 | resolution: "minipass-fetch@npm:2.1.2"
2481 | dependencies:
2482 | encoding: "npm:^0.1.13"
2483 | minipass: "npm:^3.1.6"
2484 | minipass-sized: "npm:^1.0.3"
2485 | minizlib: "npm:^2.1.2"
2486 | dependenciesMeta:
2487 | encoding:
2488 | optional: true
2489 | checksum: 10c0/33ab2c5bdb3d91b9cb8bc6ae42d7418f4f00f7f7beae14b3bb21ea18f9224e792f560a6e17b6f1be12bbeb70dbe99a269f4204c60e5d99130a0777b153505c43
2490 | languageName: node
2491 | linkType: hard
2492 |
2493 | "minipass-fetch@npm:^4.0.0":
2494 | version: 4.0.0
2495 | resolution: "minipass-fetch@npm:4.0.0"
2496 | dependencies:
2497 | encoding: "npm:^0.1.13"
2498 | minipass: "npm:^7.0.3"
2499 | minipass-sized: "npm:^1.0.3"
2500 | minizlib: "npm:^3.0.1"
2501 | dependenciesMeta:
2502 | encoding:
2503 | optional: true
2504 | checksum: 10c0/7fa30ce7c373fb6f94c086b374fff1589fd7e78451855d2d06c2e2d9df936d131e73e952163063016592ed3081444bd8d1ea608533313b0149156ce23311da4b
2505 | languageName: node
2506 | linkType: hard
2507 |
2508 | "minipass-flush@npm:^1.0.5":
2509 | version: 1.0.5
2510 | resolution: "minipass-flush@npm:1.0.5"
2511 | dependencies:
2512 | minipass: "npm:^3.0.0"
2513 | checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd
2514 | languageName: node
2515 | linkType: hard
2516 |
2517 | "minipass-pipeline@npm:^1.2.4":
2518 | version: 1.2.4
2519 | resolution: "minipass-pipeline@npm:1.2.4"
2520 | dependencies:
2521 | minipass: "npm:^3.0.0"
2522 | checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2
2523 | languageName: node
2524 | linkType: hard
2525 |
2526 | "minipass-sized@npm:^1.0.3":
2527 | version: 1.0.3
2528 | resolution: "minipass-sized@npm:1.0.3"
2529 | dependencies:
2530 | minipass: "npm:^3.0.0"
2531 | checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb
2532 | languageName: node
2533 | linkType: hard
2534 |
2535 | "minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6":
2536 | version: 3.3.6
2537 | resolution: "minipass@npm:3.3.6"
2538 | dependencies:
2539 | yallist: "npm:^4.0.0"
2540 | checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c
2541 | languageName: node
2542 | linkType: hard
2543 |
2544 | "minipass@npm:^5.0.0":
2545 | version: 5.0.0
2546 | resolution: "minipass@npm:5.0.0"
2547 | checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462
2548 | languageName: node
2549 | linkType: hard
2550 |
2551 | "minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2":
2552 | version: 7.1.2
2553 | resolution: "minipass@npm:7.1.2"
2554 | checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557
2555 | languageName: node
2556 | linkType: hard
2557 |
2558 | "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
2559 | version: 2.1.2
2560 | resolution: "minizlib@npm:2.1.2"
2561 | dependencies:
2562 | minipass: "npm:^3.0.0"
2563 | yallist: "npm:^4.0.0"
2564 | checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78
2565 | languageName: node
2566 | linkType: hard
2567 |
2568 | "minizlib@npm:^3.0.1":
2569 | version: 3.0.1
2570 | resolution: "minizlib@npm:3.0.1"
2571 | dependencies:
2572 | minipass: "npm:^7.0.4"
2573 | rimraf: "npm:^5.0.5"
2574 | checksum: 10c0/82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093
2575 | languageName: node
2576 | linkType: hard
2577 |
2578 | "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4":
2579 | version: 1.0.4
2580 | resolution: "mkdirp@npm:1.0.4"
2581 | bin:
2582 | mkdirp: bin/cmd.js
2583 | checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf
2584 | languageName: node
2585 | linkType: hard
2586 |
2587 | "mkdirp@npm:^3.0.1":
2588 | version: 3.0.1
2589 | resolution: "mkdirp@npm:3.0.1"
2590 | bin:
2591 | mkdirp: dist/cjs/src/bin.js
2592 | checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d
2593 | languageName: node
2594 | linkType: hard
2595 |
2596 | "ms@npm:^2.0.0, ms@npm:^2.1.3":
2597 | version: 2.1.3
2598 | resolution: "ms@npm:2.1.3"
2599 | checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48
2600 | languageName: node
2601 | linkType: hard
2602 |
2603 | "negotiator@npm:^0.6.3":
2604 | version: 0.6.4
2605 | resolution: "negotiator@npm:0.6.4"
2606 | checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea
2607 | languageName: node
2608 | linkType: hard
2609 |
2610 | "negotiator@npm:^1.0.0":
2611 | version: 1.0.0
2612 | resolution: "negotiator@npm:1.0.0"
2613 | checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b
2614 | languageName: node
2615 | linkType: hard
2616 |
2617 | "node-abi@npm:^3.45.0":
2618 | version: 3.71.0
2619 | resolution: "node-abi@npm:3.71.0"
2620 | dependencies:
2621 | semver: "npm:^7.3.5"
2622 | checksum: 10c0/dbd0792ea729329cd9d099f28a5681ff9e8a6db48cf64e1437bf6a7fd669009d1e758a784619a1c4cc8bfd1ed17162f042c787654edf19a1f64b5018457c9c1f
2623 | languageName: node
2624 | linkType: hard
2625 |
2626 | "node-addon-api@npm:^1.6.3":
2627 | version: 1.7.2
2628 | resolution: "node-addon-api@npm:1.7.2"
2629 | dependencies:
2630 | node-gyp: "npm:latest"
2631 | checksum: 10c0/bcf526f2ce788182730d3c3df5206585873d1e837a6e1378ff84abccf2f19cf3f93a8274f9c1245af0de63a0dbd1bb95ca2f767ecf5c678d6930326aaf396c4e
2632 | languageName: node
2633 | linkType: hard
2634 |
2635 | "node-api-version@npm:^0.2.0":
2636 | version: 0.2.0
2637 | resolution: "node-api-version@npm:0.2.0"
2638 | dependencies:
2639 | semver: "npm:^7.3.5"
2640 | checksum: 10c0/a5bdc7559237d2acebadc9ac0f29dd1279726e4226a8b3256ea605f6ad4a5c48528a2b6684d09237d33f0b714a95573d7f14a2a628642d31e05c79395e2c7873
2641 | languageName: node
2642 | linkType: hard
2643 |
2644 | "node-gyp@npm:^9.0.0":
2645 | version: 9.4.1
2646 | resolution: "node-gyp@npm:9.4.1"
2647 | dependencies:
2648 | env-paths: "npm:^2.2.0"
2649 | exponential-backoff: "npm:^3.1.1"
2650 | glob: "npm:^7.1.4"
2651 | graceful-fs: "npm:^4.2.6"
2652 | make-fetch-happen: "npm:^10.0.3"
2653 | nopt: "npm:^6.0.0"
2654 | npmlog: "npm:^6.0.0"
2655 | rimraf: "npm:^3.0.2"
2656 | semver: "npm:^7.3.5"
2657 | tar: "npm:^6.1.2"
2658 | which: "npm:^2.0.2"
2659 | bin:
2660 | node-gyp: bin/node-gyp.js
2661 | checksum: 10c0/f7d676cfa79f27d35edf17fe9c80064123670362352d19729e5dc9393d7e99f1397491c3107eddc0c0e8941442a6244a7ba6c860cfbe4b433b4cae248a55fe10
2662 | languageName: node
2663 | linkType: hard
2664 |
2665 | "node-gyp@npm:latest":
2666 | version: 11.1.0
2667 | resolution: "node-gyp@npm:11.1.0"
2668 | dependencies:
2669 | env-paths: "npm:^2.2.0"
2670 | exponential-backoff: "npm:^3.1.1"
2671 | glob: "npm:^10.3.10"
2672 | graceful-fs: "npm:^4.2.6"
2673 | make-fetch-happen: "npm:^14.0.3"
2674 | nopt: "npm:^8.0.0"
2675 | proc-log: "npm:^5.0.0"
2676 | semver: "npm:^7.3.5"
2677 | tar: "npm:^7.4.3"
2678 | which: "npm:^5.0.0"
2679 | bin:
2680 | node-gyp: bin/node-gyp.js
2681 | checksum: 10c0/c38977ce502f1ea41ba2b8721bd5b49bc3d5b3f813eabfac8414082faf0620ccb5211e15c4daecc23ed9f5e3e9cc4da00e575a0bcfc2a95a069294f2afa1e0cd
2682 | languageName: node
2683 | linkType: hard
2684 |
2685 | "nopt@npm:^6.0.0":
2686 | version: 6.0.0
2687 | resolution: "nopt@npm:6.0.0"
2688 | dependencies:
2689 | abbrev: "npm:^1.0.0"
2690 | bin:
2691 | nopt: bin/nopt.js
2692 | checksum: 10c0/837b52c330df16fcaad816b1f54fec6b2854ab1aa771d935c1603fbcf9b023bb073f1466b1b67f48ea4dce127ae675b85b9d9355700e9b109de39db490919786
2693 | languageName: node
2694 | linkType: hard
2695 |
2696 | "nopt@npm:^8.0.0":
2697 | version: 8.1.0
2698 | resolution: "nopt@npm:8.1.0"
2699 | dependencies:
2700 | abbrev: "npm:^3.0.0"
2701 | bin:
2702 | nopt: bin/nopt.js
2703 | checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef
2704 | languageName: node
2705 | linkType: hard
2706 |
2707 | "normalize-url@npm:^6.0.1":
2708 | version: 6.1.0
2709 | resolution: "normalize-url@npm:6.1.0"
2710 | checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23
2711 | languageName: node
2712 | linkType: hard
2713 |
2714 | "npmlog@npm:^6.0.0":
2715 | version: 6.0.2
2716 | resolution: "npmlog@npm:6.0.2"
2717 | dependencies:
2718 | are-we-there-yet: "npm:^3.0.0"
2719 | console-control-strings: "npm:^1.1.0"
2720 | gauge: "npm:^4.0.3"
2721 | set-blocking: "npm:^2.0.0"
2722 | checksum: 10c0/0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890
2723 | languageName: node
2724 | linkType: hard
2725 |
2726 | "object-keys@npm:^1.1.1":
2727 | version: 1.1.1
2728 | resolution: "object-keys@npm:1.1.1"
2729 | checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d
2730 | languageName: node
2731 | linkType: hard
2732 |
2733 | "once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0":
2734 | version: 1.4.0
2735 | resolution: "once@npm:1.4.0"
2736 | dependencies:
2737 | wrappy: "npm:1"
2738 | checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0
2739 | languageName: node
2740 | linkType: hard
2741 |
2742 | "onetime@npm:^5.1.0, onetime@npm:^5.1.2":
2743 | version: 5.1.2
2744 | resolution: "onetime@npm:5.1.2"
2745 | dependencies:
2746 | mimic-fn: "npm:^2.1.0"
2747 | checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f
2748 | languageName: node
2749 | linkType: hard
2750 |
2751 | "ora@npm:^5.1.0":
2752 | version: 5.4.1
2753 | resolution: "ora@npm:5.4.1"
2754 | dependencies:
2755 | bl: "npm:^4.1.0"
2756 | chalk: "npm:^4.1.0"
2757 | cli-cursor: "npm:^3.1.0"
2758 | cli-spinners: "npm:^2.5.0"
2759 | is-interactive: "npm:^1.0.0"
2760 | is-unicode-supported: "npm:^0.1.0"
2761 | log-symbols: "npm:^4.1.0"
2762 | strip-ansi: "npm:^6.0.0"
2763 | wcwidth: "npm:^1.0.1"
2764 | checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85
2765 | languageName: node
2766 | linkType: hard
2767 |
2768 | "p-cancelable@npm:^2.0.0":
2769 | version: 2.1.1
2770 | resolution: "p-cancelable@npm:2.1.1"
2771 | checksum: 10c0/8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01
2772 | languageName: node
2773 | linkType: hard
2774 |
2775 | "p-limit@npm:^2.0.0":
2776 | version: 2.3.0
2777 | resolution: "p-limit@npm:2.3.0"
2778 | dependencies:
2779 | p-try: "npm:^2.0.0"
2780 | checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12
2781 | languageName: node
2782 | linkType: hard
2783 |
2784 | "p-limit@npm:^3.1.0 ":
2785 | version: 3.1.0
2786 | resolution: "p-limit@npm:3.1.0"
2787 | dependencies:
2788 | yocto-queue: "npm:^0.1.0"
2789 | checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a
2790 | languageName: node
2791 | linkType: hard
2792 |
2793 | "p-locate@npm:^3.0.0":
2794 | version: 3.0.0
2795 | resolution: "p-locate@npm:3.0.0"
2796 | dependencies:
2797 | p-limit: "npm:^2.0.0"
2798 | checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8
2799 | languageName: node
2800 | linkType: hard
2801 |
2802 | "p-map@npm:^4.0.0":
2803 | version: 4.0.0
2804 | resolution: "p-map@npm:4.0.0"
2805 | dependencies:
2806 | aggregate-error: "npm:^3.0.0"
2807 | checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75
2808 | languageName: node
2809 | linkType: hard
2810 |
2811 | "p-map@npm:^7.0.2":
2812 | version: 7.0.3
2813 | resolution: "p-map@npm:7.0.3"
2814 | checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c
2815 | languageName: node
2816 | linkType: hard
2817 |
2818 | "p-try@npm:^2.0.0":
2819 | version: 2.2.0
2820 | resolution: "p-try@npm:2.2.0"
2821 | checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f
2822 | languageName: node
2823 | linkType: hard
2824 |
2825 | "package-json-from-dist@npm:^1.0.0":
2826 | version: 1.0.1
2827 | resolution: "package-json-from-dist@npm:1.0.1"
2828 | checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b
2829 | languageName: node
2830 | linkType: hard
2831 |
2832 | "path-exists@npm:^3.0.0":
2833 | version: 3.0.0
2834 | resolution: "path-exists@npm:3.0.0"
2835 | checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167
2836 | languageName: node
2837 | linkType: hard
2838 |
2839 | "path-is-absolute@npm:^1.0.0":
2840 | version: 1.0.1
2841 | resolution: "path-is-absolute@npm:1.0.1"
2842 | checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078
2843 | languageName: node
2844 | linkType: hard
2845 |
2846 | "path-key@npm:^3.1.0":
2847 | version: 3.1.1
2848 | resolution: "path-key@npm:3.1.1"
2849 | checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c
2850 | languageName: node
2851 | linkType: hard
2852 |
2853 | "path-scurry@npm:^1.11.1":
2854 | version: 1.11.1
2855 | resolution: "path-scurry@npm:1.11.1"
2856 | dependencies:
2857 | lru-cache: "npm:^10.2.0"
2858 | minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
2859 | checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d
2860 | languageName: node
2861 | linkType: hard
2862 |
2863 | "pe-library@npm:^0.4.1":
2864 | version: 0.4.1
2865 | resolution: "pe-library@npm:0.4.1"
2866 | checksum: 10c0/75c772e74c75d9710a2bf6b7e88fb57e4c26788422abd3b38c8100c796e311c72102ef71159b9e0b56f05f616a968e11b8ec218bcd625c896df067235af8da77
2867 | languageName: node
2868 | linkType: hard
2869 |
2870 | "pend@npm:~1.2.0":
2871 | version: 1.2.0
2872 | resolution: "pend@npm:1.2.0"
2873 | checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458
2874 | languageName: node
2875 | linkType: hard
2876 |
2877 | "pkg-up@npm:^3.1.0":
2878 | version: 3.1.0
2879 | resolution: "pkg-up@npm:3.1.0"
2880 | dependencies:
2881 | find-up: "npm:^3.0.0"
2882 | checksum: 10c0/ecb60e1f8e1f611c0bdf1a0b6a474d6dfb51185567dc6f29cdef37c8d480ecba5362e006606bb290519bbb6f49526c403fabea93c3090c20368d98bb90c999ab
2883 | languageName: node
2884 | linkType: hard
2885 |
2886 | "plist@npm:^3.0.4, plist@npm:^3.0.5, plist@npm:^3.1.0":
2887 | version: 3.1.0
2888 | resolution: "plist@npm:3.1.0"
2889 | dependencies:
2890 | "@xmldom/xmldom": "npm:^0.8.8"
2891 | base64-js: "npm:^1.5.1"
2892 | xmlbuilder: "npm:^15.1.1"
2893 | checksum: 10c0/db19ba50faafc4103df8e79bcd6b08004a56db2a9dd30b3e5c8b0ef30398ef44344a674e594d012c8fc39e539a2b72cb58c60a76b4b4401cbbc7c8f6b028d93d
2894 | languageName: node
2895 | linkType: hard
2896 |
2897 | "prettier@npm:^3.3.3":
2898 | version: 3.4.2
2899 | resolution: "prettier@npm:3.4.2"
2900 | bin:
2901 | prettier: bin/prettier.cjs
2902 | checksum: 10c0/99e076a26ed0aba4ebc043880d0f08bbb8c59a4c6641cdee6cdadf2205bdd87aa1d7823f50c3aea41e015e99878d37c58d7b5f0e663bba0ef047f94e36b96446
2903 | languageName: node
2904 | linkType: hard
2905 |
2906 | "proc-log@npm:^5.0.0":
2907 | version: 5.0.0
2908 | resolution: "proc-log@npm:5.0.0"
2909 | checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3
2910 | languageName: node
2911 | linkType: hard
2912 |
2913 | "progress@npm:^2.0.3":
2914 | version: 2.0.3
2915 | resolution: "progress@npm:2.0.3"
2916 | checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c
2917 | languageName: node
2918 | linkType: hard
2919 |
2920 | "promise-inflight@npm:^1.0.1":
2921 | version: 1.0.1
2922 | resolution: "promise-inflight@npm:1.0.1"
2923 | checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc
2924 | languageName: node
2925 | linkType: hard
2926 |
2927 | "promise-retry@npm:^2.0.1":
2928 | version: 2.0.1
2929 | resolution: "promise-retry@npm:2.0.1"
2930 | dependencies:
2931 | err-code: "npm:^2.0.2"
2932 | retry: "npm:^0.12.0"
2933 | checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96
2934 | languageName: node
2935 | linkType: hard
2936 |
2937 | "proxy-from-env@npm:^1.1.0":
2938 | version: 1.1.0
2939 | resolution: "proxy-from-env@npm:1.1.0"
2940 | checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b
2941 | languageName: node
2942 | linkType: hard
2943 |
2944 | "pump@npm:^3.0.0":
2945 | version: 3.0.2
2946 | resolution: "pump@npm:3.0.2"
2947 | dependencies:
2948 | end-of-stream: "npm:^1.1.0"
2949 | once: "npm:^1.3.1"
2950 | checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f
2951 | languageName: node
2952 | linkType: hard
2953 |
2954 | "punycode@npm:^2.1.0":
2955 | version: 2.3.1
2956 | resolution: "punycode@npm:2.3.1"
2957 | checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9
2958 | languageName: node
2959 | linkType: hard
2960 |
2961 | "quick-lru@npm:^5.1.1":
2962 | version: 5.1.1
2963 | resolution: "quick-lru@npm:5.1.1"
2964 | checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da
2965 | languageName: node
2966 | linkType: hard
2967 |
2968 | "read-binary-file-arch@npm:^1.0.6":
2969 | version: 1.0.6
2970 | resolution: "read-binary-file-arch@npm:1.0.6"
2971 | dependencies:
2972 | debug: "npm:^4.3.4"
2973 | bin:
2974 | read-binary-file-arch: cli.js
2975 | checksum: 10c0/7665cb4ec61da1f4da7ba6c0fb64f53f6e739373d427dd0e1c4d19f240b3ebff0f596377c01e290a6370f611899b82df09edafa758200bf31216d855e3230058
2976 | languageName: node
2977 | linkType: hard
2978 |
2979 | "readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0":
2980 | version: 3.6.2
2981 | resolution: "readable-stream@npm:3.6.2"
2982 | dependencies:
2983 | inherits: "npm:^2.0.3"
2984 | string_decoder: "npm:^1.1.1"
2985 | util-deprecate: "npm:^1.0.1"
2986 | checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7
2987 | languageName: node
2988 | linkType: hard
2989 |
2990 | "regenerator-runtime@npm:^0.14.0":
2991 | version: 0.14.1
2992 | resolution: "regenerator-runtime@npm:0.14.1"
2993 | checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4
2994 | languageName: node
2995 | linkType: hard
2996 |
2997 | "require-directory@npm:^2.1.1":
2998 | version: 2.1.1
2999 | resolution: "require-directory@npm:2.1.1"
3000 | checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99
3001 | languageName: node
3002 | linkType: hard
3003 |
3004 | "require-from-string@npm:^2.0.2":
3005 | version: 2.0.2
3006 | resolution: "require-from-string@npm:2.0.2"
3007 | checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2
3008 | languageName: node
3009 | linkType: hard
3010 |
3011 | "resedit@npm:^1.7.0":
3012 | version: 1.7.2
3013 | resolution: "resedit@npm:1.7.2"
3014 | dependencies:
3015 | pe-library: "npm:^0.4.1"
3016 | checksum: 10c0/1d21438d22ca9010611b8db3d0b122122b9d3588fa6e608eaadca38ab86d5d1c0348f7656a9c2e7f2609c30db62d1f62ddc9184e7e11920d47d2c238b1587847
3017 | languageName: node
3018 | linkType: hard
3019 |
3020 | "resolve-alpn@npm:^1.0.0":
3021 | version: 1.2.1
3022 | resolution: "resolve-alpn@npm:1.2.1"
3023 | checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4
3024 | languageName: node
3025 | linkType: hard
3026 |
3027 | "responselike@npm:^2.0.0":
3028 | version: 2.0.1
3029 | resolution: "responselike@npm:2.0.1"
3030 | dependencies:
3031 | lowercase-keys: "npm:^2.0.0"
3032 | checksum: 10c0/360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5
3033 | languageName: node
3034 | linkType: hard
3035 |
3036 | "restore-cursor@npm:^3.1.0":
3037 | version: 3.1.0
3038 | resolution: "restore-cursor@npm:3.1.0"
3039 | dependencies:
3040 | onetime: "npm:^5.1.0"
3041 | signal-exit: "npm:^3.0.2"
3042 | checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f
3043 | languageName: node
3044 | linkType: hard
3045 |
3046 | "retry@npm:^0.12.0":
3047 | version: 0.12.0
3048 | resolution: "retry@npm:0.12.0"
3049 | checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe
3050 | languageName: node
3051 | linkType: hard
3052 |
3053 | "rimraf@npm:^3.0.2":
3054 | version: 3.0.2
3055 | resolution: "rimraf@npm:3.0.2"
3056 | dependencies:
3057 | glob: "npm:^7.1.3"
3058 | bin:
3059 | rimraf: bin.js
3060 | checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8
3061 | languageName: node
3062 | linkType: hard
3063 |
3064 | "rimraf@npm:^5.0.5":
3065 | version: 5.0.10
3066 | resolution: "rimraf@npm:5.0.10"
3067 | dependencies:
3068 | glob: "npm:^10.3.7"
3069 | bin:
3070 | rimraf: dist/esm/bin.mjs
3071 | checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc
3072 | languageName: node
3073 | linkType: hard
3074 |
3075 | "roarr@npm:^2.15.3":
3076 | version: 2.15.4
3077 | resolution: "roarr@npm:2.15.4"
3078 | dependencies:
3079 | boolean: "npm:^3.0.1"
3080 | detect-node: "npm:^2.0.4"
3081 | globalthis: "npm:^1.0.1"
3082 | json-stringify-safe: "npm:^5.0.1"
3083 | semver-compare: "npm:^1.0.0"
3084 | sprintf-js: "npm:^1.1.2"
3085 | checksum: 10c0/7d01d4c14513c461778dd673a8f9e53255221f8d04173aafeb8e11b23d8b659bb83f1c90cfe81af7f9c213b8084b404b918108fd792bda76678f555340cc64ec
3086 | languageName: node
3087 | linkType: hard
3088 |
3089 | "rxjs@npm:^7.8.1":
3090 | version: 7.8.1
3091 | resolution: "rxjs@npm:7.8.1"
3092 | dependencies:
3093 | tslib: "npm:^2.1.0"
3094 | checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68
3095 | languageName: node
3096 | linkType: hard
3097 |
3098 | "safe-buffer@npm:~5.2.0":
3099 | version: 5.2.1
3100 | resolution: "safe-buffer@npm:5.2.1"
3101 | checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3
3102 | languageName: node
3103 | linkType: hard
3104 |
3105 | "safer-buffer@npm:>= 2.1.2 < 3.0.0":
3106 | version: 2.1.2
3107 | resolution: "safer-buffer@npm:2.1.2"
3108 | checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4
3109 | languageName: node
3110 | linkType: hard
3111 |
3112 | "sanitize-filename@npm:^1.6.3":
3113 | version: 1.6.3
3114 | resolution: "sanitize-filename@npm:1.6.3"
3115 | dependencies:
3116 | truncate-utf8-bytes: "npm:^1.0.0"
3117 | checksum: 10c0/16ff47556a6e54e228c28db096bedd303da67b030d4bea4925fd71324932d6b02c7b0446f00ad33987b25b6414f24ae968e01a1a1679ce599542e82c4b07eb1f
3118 | languageName: node
3119 | linkType: hard
3120 |
3121 | "sax@npm:^1.2.4":
3122 | version: 1.4.1
3123 | resolution: "sax@npm:1.4.1"
3124 | checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c
3125 | languageName: node
3126 | linkType: hard
3127 |
3128 | "screendeck@workspace:.":
3129 | version: 0.0.0-use.local
3130 | resolution: "screendeck@workspace:."
3131 | dependencies:
3132 | "@electron/notarize": "npm:^2.5.0"
3133 | "@types/node": "npm:^18.0.0"
3134 | concurrently: "npm:^8.0.0"
3135 | electron: "npm:^33.2.1"
3136 | electron-builder: "npm:^25.1.8"
3137 | electron-store: "npm:^8.0.0"
3138 | prettier: "npm:^3.3.3"
3139 | short-uuid: "npm:^5.2.0"
3140 | ts-node: "npm:^10.0.0"
3141 | typescript: "npm:^5.0.0"
3142 | wait-on: "npm:^7.0.0"
3143 | languageName: unknown
3144 | linkType: soft
3145 |
3146 | "semver-compare@npm:^1.0.0":
3147 | version: 1.0.0
3148 | resolution: "semver-compare@npm:1.0.0"
3149 | checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1
3150 | languageName: node
3151 | linkType: hard
3152 |
3153 | "semver@npm:^6.2.0":
3154 | version: 6.3.1
3155 | resolution: "semver@npm:6.3.1"
3156 | bin:
3157 | semver: bin/semver.js
3158 | checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d
3159 | languageName: node
3160 | linkType: hard
3161 |
3162 | "semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.3":
3163 | version: 7.6.3
3164 | resolution: "semver@npm:7.6.3"
3165 | bin:
3166 | semver: bin/semver.js
3167 | checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf
3168 | languageName: node
3169 | linkType: hard
3170 |
3171 | "serialize-error@npm:^7.0.1":
3172 | version: 7.0.1
3173 | resolution: "serialize-error@npm:7.0.1"
3174 | dependencies:
3175 | type-fest: "npm:^0.13.1"
3176 | checksum: 10c0/7982937d578cd901276c8ab3e2c6ed8a4c174137730f1fb0402d005af209a0e84d04acc874e317c936724c7b5b26c7a96ff7e4b8d11a469f4924a4b0ea814c05
3177 | languageName: node
3178 | linkType: hard
3179 |
3180 | "set-blocking@npm:^2.0.0":
3181 | version: 2.0.0
3182 | resolution: "set-blocking@npm:2.0.0"
3183 | checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454
3184 | languageName: node
3185 | linkType: hard
3186 |
3187 | "shebang-command@npm:^2.0.0":
3188 | version: 2.0.0
3189 | resolution: "shebang-command@npm:2.0.0"
3190 | dependencies:
3191 | shebang-regex: "npm:^3.0.0"
3192 | checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e
3193 | languageName: node
3194 | linkType: hard
3195 |
3196 | "shebang-regex@npm:^3.0.0":
3197 | version: 3.0.0
3198 | resolution: "shebang-regex@npm:3.0.0"
3199 | checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690
3200 | languageName: node
3201 | linkType: hard
3202 |
3203 | "shell-quote@npm:^1.8.1":
3204 | version: 1.8.2
3205 | resolution: "shell-quote@npm:1.8.2"
3206 | checksum: 10c0/85fdd44f2ad76e723d34eb72c753f04d847ab64e9f1f10677e3f518d0e5b0752a176fd805297b30bb8c3a1556ebe6e77d2288dbd7b7b0110c7e941e9e9c20ce1
3207 | languageName: node
3208 | linkType: hard
3209 |
3210 | "short-uuid@npm:^5.2.0":
3211 | version: 5.2.0
3212 | resolution: "short-uuid@npm:5.2.0"
3213 | dependencies:
3214 | any-base: "npm:^1.1.0"
3215 | uuid: "npm:^9.0.1"
3216 | checksum: 10c0/24f9c34b9c0bb9daf2ed2167a78ff5e3467859ac52d5a783f2881c4c0d09b1224bbbd009f480fbc1c18a3fe8b7e73110275d8d2befa5d585a86997b14099ee93
3217 | languageName: node
3218 | linkType: hard
3219 |
3220 | "signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7":
3221 | version: 3.0.7
3222 | resolution: "signal-exit@npm:3.0.7"
3223 | checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912
3224 | languageName: node
3225 | linkType: hard
3226 |
3227 | "signal-exit@npm:^4.0.1":
3228 | version: 4.1.0
3229 | resolution: "signal-exit@npm:4.1.0"
3230 | checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83
3231 | languageName: node
3232 | linkType: hard
3233 |
3234 | "simple-update-notifier@npm:2.0.0":
3235 | version: 2.0.0
3236 | resolution: "simple-update-notifier@npm:2.0.0"
3237 | dependencies:
3238 | semver: "npm:^7.5.3"
3239 | checksum: 10c0/2a00bd03bfbcbf8a737c47ab230d7920f8bfb92d1159d421bdd194479f6d01ebc995d13fbe13d45dace23066a78a3dc6642999b4e3b38b847e6664191575b20c
3240 | languageName: node
3241 | linkType: hard
3242 |
3243 | "slice-ansi@npm:^3.0.0":
3244 | version: 3.0.0
3245 | resolution: "slice-ansi@npm:3.0.0"
3246 | dependencies:
3247 | ansi-styles: "npm:^4.0.0"
3248 | astral-regex: "npm:^2.0.0"
3249 | is-fullwidth-code-point: "npm:^3.0.0"
3250 | checksum: 10c0/88083c9d0ca67d09f8b4c78f68833d69cabbb7236b74df5d741ad572bbf022deaf243fa54009cd434350622a1174ab267710fcc80a214ecc7689797fe00cb27c
3251 | languageName: node
3252 | linkType: hard
3253 |
3254 | "smart-buffer@npm:^4.0.2, smart-buffer@npm:^4.2.0":
3255 | version: 4.2.0
3256 | resolution: "smart-buffer@npm:4.2.0"
3257 | checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539
3258 | languageName: node
3259 | linkType: hard
3260 |
3261 | "socks-proxy-agent@npm:^7.0.0":
3262 | version: 7.0.0
3263 | resolution: "socks-proxy-agent@npm:7.0.0"
3264 | dependencies:
3265 | agent-base: "npm:^6.0.2"
3266 | debug: "npm:^4.3.3"
3267 | socks: "npm:^2.6.2"
3268 | checksum: 10c0/b859f7eb8e96ec2c4186beea233ae59c02404094f3eb009946836af27d6e5c1627d1975a69b4d2e20611729ed543b6db3ae8481eb38603433c50d0345c987600
3269 | languageName: node
3270 | linkType: hard
3271 |
3272 | "socks-proxy-agent@npm:^8.0.3":
3273 | version: 8.0.5
3274 | resolution: "socks-proxy-agent@npm:8.0.5"
3275 | dependencies:
3276 | agent-base: "npm:^7.1.2"
3277 | debug: "npm:^4.3.4"
3278 | socks: "npm:^2.8.3"
3279 | checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6
3280 | languageName: node
3281 | linkType: hard
3282 |
3283 | "socks@npm:^2.6.2":
3284 | version: 2.8.3
3285 | resolution: "socks@npm:2.8.3"
3286 | dependencies:
3287 | ip-address: "npm:^9.0.5"
3288 | smart-buffer: "npm:^4.2.0"
3289 | checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7
3290 | languageName: node
3291 | linkType: hard
3292 |
3293 | "socks@npm:^2.8.3":
3294 | version: 2.8.4
3295 | resolution: "socks@npm:2.8.4"
3296 | dependencies:
3297 | ip-address: "npm:^9.0.5"
3298 | smart-buffer: "npm:^4.2.0"
3299 | checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5
3300 | languageName: node
3301 | linkType: hard
3302 |
3303 | "source-map-support@npm:^0.5.19":
3304 | version: 0.5.21
3305 | resolution: "source-map-support@npm:0.5.21"
3306 | dependencies:
3307 | buffer-from: "npm:^1.0.0"
3308 | source-map: "npm:^0.6.0"
3309 | checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d
3310 | languageName: node
3311 | linkType: hard
3312 |
3313 | "source-map@npm:^0.6.0":
3314 | version: 0.6.1
3315 | resolution: "source-map@npm:0.6.1"
3316 | checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011
3317 | languageName: node
3318 | linkType: hard
3319 |
3320 | "spawn-command@npm:0.0.2":
3321 | version: 0.0.2
3322 | resolution: "spawn-command@npm:0.0.2"
3323 | checksum: 10c0/b22f2d71239e6e628a400831861ba747750bbb40c0a53323754cf7b84330b73d81e40ff1f9055e6d1971818679510208a9302e13d9ff3b32feb67e74d7a1b3ef
3324 | languageName: node
3325 | linkType: hard
3326 |
3327 | "sprintf-js@npm:^1.1.2, sprintf-js@npm:^1.1.3":
3328 | version: 1.1.3
3329 | resolution: "sprintf-js@npm:1.1.3"
3330 | checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec
3331 | languageName: node
3332 | linkType: hard
3333 |
3334 | "ssri@npm:^12.0.0":
3335 | version: 12.0.0
3336 | resolution: "ssri@npm:12.0.0"
3337 | dependencies:
3338 | minipass: "npm:^7.0.3"
3339 | checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d
3340 | languageName: node
3341 | linkType: hard
3342 |
3343 | "ssri@npm:^9.0.0":
3344 | version: 9.0.1
3345 | resolution: "ssri@npm:9.0.1"
3346 | dependencies:
3347 | minipass: "npm:^3.1.1"
3348 | checksum: 10c0/c5d153ce03b5980d683ecaa4d805f6a03d8dc545736213803e168a1907650c46c08a4e5ce6d670a0205482b35c35713d9d286d9133bdd79853a406e22ad81f04
3349 | languageName: node
3350 | linkType: hard
3351 |
3352 | "stat-mode@npm:^1.0.0":
3353 | version: 1.0.0
3354 | resolution: "stat-mode@npm:1.0.0"
3355 | checksum: 10c0/89b66a538dbfd45038fefdaf5b2104dc6e911605af1c201793e9629592ed9fdc7bdd1bca42806d0d4167c6d9cacac1f3fda41ddfe334a5c1f898113da38fae74
3356 | languageName: node
3357 | linkType: hard
3358 |
3359 | "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":
3360 | version: 4.2.3
3361 | resolution: "string-width@npm:4.2.3"
3362 | dependencies:
3363 | emoji-regex: "npm:^8.0.0"
3364 | is-fullwidth-code-point: "npm:^3.0.0"
3365 | strip-ansi: "npm:^6.0.1"
3366 | checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b
3367 | languageName: node
3368 | linkType: hard
3369 |
3370 | "string-width@npm:^5.0.1, string-width@npm:^5.1.2":
3371 | version: 5.1.2
3372 | resolution: "string-width@npm:5.1.2"
3373 | dependencies:
3374 | eastasianwidth: "npm:^0.2.0"
3375 | emoji-regex: "npm:^9.2.2"
3376 | strip-ansi: "npm:^7.0.1"
3377 | checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca
3378 | languageName: node
3379 | linkType: hard
3380 |
3381 | "string_decoder@npm:^1.1.1":
3382 | version: 1.3.0
3383 | resolution: "string_decoder@npm:1.3.0"
3384 | dependencies:
3385 | safe-buffer: "npm:~5.2.0"
3386 | checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d
3387 | languageName: node
3388 | linkType: hard
3389 |
3390 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1":
3391 | version: 6.0.1
3392 | resolution: "strip-ansi@npm:6.0.1"
3393 | dependencies:
3394 | ansi-regex: "npm:^5.0.1"
3395 | checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952
3396 | languageName: node
3397 | linkType: hard
3398 |
3399 | "strip-ansi@npm:^7.0.1":
3400 | version: 7.1.0
3401 | resolution: "strip-ansi@npm:7.1.0"
3402 | dependencies:
3403 | ansi-regex: "npm:^6.0.1"
3404 | checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4
3405 | languageName: node
3406 | linkType: hard
3407 |
3408 | "sumchecker@npm:^3.0.1":
3409 | version: 3.0.1
3410 | resolution: "sumchecker@npm:3.0.1"
3411 | dependencies:
3412 | debug: "npm:^4.1.0"
3413 | checksum: 10c0/43c387be9dfe22dbeaf39dfa4ffb279847aeb37a42a8988c0b066f548bbd209aa8c65e03da29f2b29be1a66b577801bf89fff0007df4183db2f286263a9569e5
3414 | languageName: node
3415 | linkType: hard
3416 |
3417 | "supports-color@npm:^7.1.0":
3418 | version: 7.2.0
3419 | resolution: "supports-color@npm:7.2.0"
3420 | dependencies:
3421 | has-flag: "npm:^4.0.0"
3422 | checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124
3423 | languageName: node
3424 | linkType: hard
3425 |
3426 | "supports-color@npm:^8.1.1":
3427 | version: 8.1.1
3428 | resolution: "supports-color@npm:8.1.1"
3429 | dependencies:
3430 | has-flag: "npm:^4.0.0"
3431 | checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89
3432 | languageName: node
3433 | linkType: hard
3434 |
3435 | "tar@npm:^6.0.5, tar@npm:^6.1.11, tar@npm:^6.1.12, tar@npm:^6.1.2":
3436 | version: 6.2.1
3437 | resolution: "tar@npm:6.2.1"
3438 | dependencies:
3439 | chownr: "npm:^2.0.0"
3440 | fs-minipass: "npm:^2.0.0"
3441 | minipass: "npm:^5.0.0"
3442 | minizlib: "npm:^2.1.1"
3443 | mkdirp: "npm:^1.0.3"
3444 | yallist: "npm:^4.0.0"
3445 | checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537
3446 | languageName: node
3447 | linkType: hard
3448 |
3449 | "tar@npm:^7.4.3":
3450 | version: 7.4.3
3451 | resolution: "tar@npm:7.4.3"
3452 | dependencies:
3453 | "@isaacs/fs-minipass": "npm:^4.0.0"
3454 | chownr: "npm:^3.0.0"
3455 | minipass: "npm:^7.1.2"
3456 | minizlib: "npm:^3.0.1"
3457 | mkdirp: "npm:^3.0.1"
3458 | yallist: "npm:^5.0.0"
3459 | checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d
3460 | languageName: node
3461 | linkType: hard
3462 |
3463 | "temp-file@npm:^3.4.0":
3464 | version: 3.4.0
3465 | resolution: "temp-file@npm:3.4.0"
3466 | dependencies:
3467 | async-exit-hook: "npm:^2.0.1"
3468 | fs-extra: "npm:^10.0.0"
3469 | checksum: 10c0/70e441909097346a930ae02278df9b0133cd02dddf0b49e5ddaade735fef1410a50a448a2a812106f97c045294c99cc19f26943eb88f1d728d41fbc445a40298
3470 | languageName: node
3471 | linkType: hard
3472 |
3473 | "tmp-promise@npm:^3.0.2":
3474 | version: 3.0.3
3475 | resolution: "tmp-promise@npm:3.0.3"
3476 | dependencies:
3477 | tmp: "npm:^0.2.0"
3478 | checksum: 10c0/23b47dcb2e82b14bbd8f61ed7a9d9353cdb6a6f09d7716616cfd27d0087040cd40152965a518e598d7aabe1489b9569bf1eebde0c5fadeaf3ec8098adcebea4e
3479 | languageName: node
3480 | linkType: hard
3481 |
3482 | "tmp@npm:^0.2.0":
3483 | version: 0.2.3
3484 | resolution: "tmp@npm:0.2.3"
3485 | checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125
3486 | languageName: node
3487 | linkType: hard
3488 |
3489 | "tree-kill@npm:^1.2.2":
3490 | version: 1.2.2
3491 | resolution: "tree-kill@npm:1.2.2"
3492 | bin:
3493 | tree-kill: cli.js
3494 | checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2
3495 | languageName: node
3496 | linkType: hard
3497 |
3498 | "truncate-utf8-bytes@npm:^1.0.0":
3499 | version: 1.0.2
3500 | resolution: "truncate-utf8-bytes@npm:1.0.2"
3501 | dependencies:
3502 | utf8-byte-length: "npm:^1.0.1"
3503 | checksum: 10c0/af2b431fc4314f119b551e5fccfad49d4c0ef82e13ba9ca61be6567801195b08e732ce9643542e8ad1b3df44f3df2d7345b3dd34f723954b6bb43a14584d6b3c
3504 | languageName: node
3505 | linkType: hard
3506 |
3507 | "ts-node@npm:^10.0.0":
3508 | version: 10.9.2
3509 | resolution: "ts-node@npm:10.9.2"
3510 | dependencies:
3511 | "@cspotcode/source-map-support": "npm:^0.8.0"
3512 | "@tsconfig/node10": "npm:^1.0.7"
3513 | "@tsconfig/node12": "npm:^1.0.7"
3514 | "@tsconfig/node14": "npm:^1.0.0"
3515 | "@tsconfig/node16": "npm:^1.0.2"
3516 | acorn: "npm:^8.4.1"
3517 | acorn-walk: "npm:^8.1.1"
3518 | arg: "npm:^4.1.0"
3519 | create-require: "npm:^1.1.0"
3520 | diff: "npm:^4.0.1"
3521 | make-error: "npm:^1.1.1"
3522 | v8-compile-cache-lib: "npm:^3.0.1"
3523 | yn: "npm:3.1.1"
3524 | peerDependencies:
3525 | "@swc/core": ">=1.2.50"
3526 | "@swc/wasm": ">=1.2.50"
3527 | "@types/node": "*"
3528 | typescript: ">=2.7"
3529 | peerDependenciesMeta:
3530 | "@swc/core":
3531 | optional: true
3532 | "@swc/wasm":
3533 | optional: true
3534 | bin:
3535 | ts-node: dist/bin.js
3536 | ts-node-cwd: dist/bin-cwd.js
3537 | ts-node-esm: dist/bin-esm.js
3538 | ts-node-script: dist/bin-script.js
3539 | ts-node-transpile-only: dist/bin-transpile.js
3540 | ts-script: dist/bin-script-deprecated.js
3541 | checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2
3542 | languageName: node
3543 | linkType: hard
3544 |
3545 | "tslib@npm:^2.1.0":
3546 | version: 2.8.1
3547 | resolution: "tslib@npm:2.8.1"
3548 | checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62
3549 | languageName: node
3550 | linkType: hard
3551 |
3552 | "type-fest@npm:^0.13.1":
3553 | version: 0.13.1
3554 | resolution: "type-fest@npm:0.13.1"
3555 | checksum: 10c0/0c0fa07ae53d4e776cf4dac30d25ad799443e9eef9226f9fddbb69242db86b08584084a99885cfa5a9dfe4c063ebdc9aa7b69da348e735baede8d43f1aeae93b
3556 | languageName: node
3557 | linkType: hard
3558 |
3559 | "type-fest@npm:^2.17.0":
3560 | version: 2.19.0
3561 | resolution: "type-fest@npm:2.19.0"
3562 | checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb
3563 | languageName: node
3564 | linkType: hard
3565 |
3566 | "typescript@npm:^5.0.0, typescript@npm:^5.4.3":
3567 | version: 5.7.2
3568 | resolution: "typescript@npm:5.7.2"
3569 | bin:
3570 | tsc: bin/tsc
3571 | tsserver: bin/tsserver
3572 | checksum: 10c0/a873118b5201b2ef332127ef5c63fb9d9c155e6fdbe211cbd9d8e65877283797cca76546bad742eea36ed7efbe3424a30376818f79c7318512064e8625d61622
3573 | languageName: node
3574 | linkType: hard
3575 |
3576 | "typescript@patch:typescript@npm%3A^5.0.0#optional!builtin, typescript@patch:typescript@npm%3A^5.4.3#optional!builtin":
3577 | version: 5.7.2
3578 | resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=5786d5"
3579 | bin:
3580 | tsc: bin/tsc
3581 | tsserver: bin/tsserver
3582 | checksum: 10c0/f3b8082c9d1d1629a215245c9087df56cb784f9fb6f27b5d55577a20e68afe2a889c040aacff6d27e35be165ecf9dca66e694c42eb9a50b3b2c451b36b5675cb
3583 | languageName: node
3584 | linkType: hard
3585 |
3586 | "undici-types@npm:~5.26.4":
3587 | version: 5.26.5
3588 | resolution: "undici-types@npm:5.26.5"
3589 | checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501
3590 | languageName: node
3591 | linkType: hard
3592 |
3593 | "undici-types@npm:~6.19.2":
3594 | version: 6.19.8
3595 | resolution: "undici-types@npm:6.19.8"
3596 | checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344
3597 | languageName: node
3598 | linkType: hard
3599 |
3600 | "undici-types@npm:~6.20.0":
3601 | version: 6.20.0
3602 | resolution: "undici-types@npm:6.20.0"
3603 | checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf
3604 | languageName: node
3605 | linkType: hard
3606 |
3607 | "unique-filename@npm:^2.0.0":
3608 | version: 2.0.1
3609 | resolution: "unique-filename@npm:2.0.1"
3610 | dependencies:
3611 | unique-slug: "npm:^3.0.0"
3612 | checksum: 10c0/55d95cd670c4a86117ebc34d394936d712d43b56db6bc511f9ca00f666373818bf9f075fb0ab76bcbfaf134592ef26bb75aad20786c1ff1ceba4457eaba90fb8
3613 | languageName: node
3614 | linkType: hard
3615 |
3616 | "unique-filename@npm:^4.0.0":
3617 | version: 4.0.0
3618 | resolution: "unique-filename@npm:4.0.0"
3619 | dependencies:
3620 | unique-slug: "npm:^5.0.0"
3621 | checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc
3622 | languageName: node
3623 | linkType: hard
3624 |
3625 | "unique-slug@npm:^3.0.0":
3626 | version: 3.0.0
3627 | resolution: "unique-slug@npm:3.0.0"
3628 | dependencies:
3629 | imurmurhash: "npm:^0.1.4"
3630 | checksum: 10c0/617240eb921af803b47d322d75a71a363dacf2e56c29ae5d1404fad85f64f4ec81ef10ee4fd79215d0202cbe1e5a653edb0558d59c9c81d3bd538c2d58e4c026
3631 | languageName: node
3632 | linkType: hard
3633 |
3634 | "unique-slug@npm:^5.0.0":
3635 | version: 5.0.0
3636 | resolution: "unique-slug@npm:5.0.0"
3637 | dependencies:
3638 | imurmurhash: "npm:^0.1.4"
3639 | checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293
3640 | languageName: node
3641 | linkType: hard
3642 |
3643 | "universalify@npm:^0.1.0":
3644 | version: 0.1.2
3645 | resolution: "universalify@npm:0.1.2"
3646 | checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045
3647 | languageName: node
3648 | linkType: hard
3649 |
3650 | "universalify@npm:^2.0.0":
3651 | version: 2.0.1
3652 | resolution: "universalify@npm:2.0.1"
3653 | checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a
3654 | languageName: node
3655 | linkType: hard
3656 |
3657 | "uri-js@npm:^4.2.2":
3658 | version: 4.4.1
3659 | resolution: "uri-js@npm:4.4.1"
3660 | dependencies:
3661 | punycode: "npm:^2.1.0"
3662 | checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c
3663 | languageName: node
3664 | linkType: hard
3665 |
3666 | "utf8-byte-length@npm:^1.0.1":
3667 | version: 1.0.5
3668 | resolution: "utf8-byte-length@npm:1.0.5"
3669 | checksum: 10c0/e69bda3299608f4cc75976da9fb74ac94801a58b9ca29fdad03a20ec952e7477d7f226c12716b5f36bd4cff8151d1d152d02ee1df3752f017d4b2c725ce3e47a
3670 | languageName: node
3671 | linkType: hard
3672 |
3673 | "util-deprecate@npm:^1.0.1":
3674 | version: 1.0.2
3675 | resolution: "util-deprecate@npm:1.0.2"
3676 | checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942
3677 | languageName: node
3678 | linkType: hard
3679 |
3680 | "uuid@npm:^9.0.1":
3681 | version: 9.0.1
3682 | resolution: "uuid@npm:9.0.1"
3683 | bin:
3684 | uuid: dist/bin/uuid
3685 | checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b
3686 | languageName: node
3687 | linkType: hard
3688 |
3689 | "v8-compile-cache-lib@npm:^3.0.1":
3690 | version: 3.0.1
3691 | resolution: "v8-compile-cache-lib@npm:3.0.1"
3692 | checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391
3693 | languageName: node
3694 | linkType: hard
3695 |
3696 | "verror@npm:^1.10.0":
3697 | version: 1.10.1
3698 | resolution: "verror@npm:1.10.1"
3699 | dependencies:
3700 | assert-plus: "npm:^1.0.0"
3701 | core-util-is: "npm:1.0.2"
3702 | extsprintf: "npm:^1.2.0"
3703 | checksum: 10c0/293fb060a4c9b07965569a0c3e45efa954127818707995a8a4311f691b5d6687be99f972c759838ba6eecae717f9af28e3c49d2afc7bbdf5f0b675238f1426e8
3704 | languageName: node
3705 | linkType: hard
3706 |
3707 | "wait-on@npm:^7.0.0":
3708 | version: 7.2.0
3709 | resolution: "wait-on@npm:7.2.0"
3710 | dependencies:
3711 | axios: "npm:^1.6.1"
3712 | joi: "npm:^17.11.0"
3713 | lodash: "npm:^4.17.21"
3714 | minimist: "npm:^1.2.8"
3715 | rxjs: "npm:^7.8.1"
3716 | bin:
3717 | wait-on: bin/wait-on
3718 | checksum: 10c0/1eff2189b3e4b0975889f3e480c75ca2a0d4275072779a6329e7cae8b729620594aa044509ddd89967de6ab2162169501b67b8d9562c16cac517837ffce17337
3719 | languageName: node
3720 | linkType: hard
3721 |
3722 | "wcwidth@npm:^1.0.1":
3723 | version: 1.0.1
3724 | resolution: "wcwidth@npm:1.0.1"
3725 | dependencies:
3726 | defaults: "npm:^1.0.3"
3727 | checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4
3728 | languageName: node
3729 | linkType: hard
3730 |
3731 | "which@npm:^2.0.1, which@npm:^2.0.2":
3732 | version: 2.0.2
3733 | resolution: "which@npm:2.0.2"
3734 | dependencies:
3735 | isexe: "npm:^2.0.0"
3736 | bin:
3737 | node-which: ./bin/node-which
3738 | checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f
3739 | languageName: node
3740 | linkType: hard
3741 |
3742 | "which@npm:^5.0.0":
3743 | version: 5.0.0
3744 | resolution: "which@npm:5.0.0"
3745 | dependencies:
3746 | isexe: "npm:^3.1.1"
3747 | bin:
3748 | node-which: bin/which.js
3749 | checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b
3750 | languageName: node
3751 | linkType: hard
3752 |
3753 | "wide-align@npm:^1.1.5":
3754 | version: 1.1.5
3755 | resolution: "wide-align@npm:1.1.5"
3756 | dependencies:
3757 | string-width: "npm:^1.0.2 || 2 || 3 || 4"
3758 | checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95
3759 | languageName: node
3760 | linkType: hard
3761 |
3762 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
3763 | version: 7.0.0
3764 | resolution: "wrap-ansi@npm:7.0.0"
3765 | dependencies:
3766 | ansi-styles: "npm:^4.0.0"
3767 | string-width: "npm:^4.1.0"
3768 | strip-ansi: "npm:^6.0.0"
3769 | checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da
3770 | languageName: node
3771 | linkType: hard
3772 |
3773 | "wrap-ansi@npm:^8.1.0":
3774 | version: 8.1.0
3775 | resolution: "wrap-ansi@npm:8.1.0"
3776 | dependencies:
3777 | ansi-styles: "npm:^6.1.0"
3778 | string-width: "npm:^5.0.1"
3779 | strip-ansi: "npm:^7.0.1"
3780 | checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60
3781 | languageName: node
3782 | linkType: hard
3783 |
3784 | "wrappy@npm:1":
3785 | version: 1.0.2
3786 | resolution: "wrappy@npm:1.0.2"
3787 | checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0
3788 | languageName: node
3789 | linkType: hard
3790 |
3791 | "xmlbuilder@npm:>=11.0.1, xmlbuilder@npm:^15.1.1":
3792 | version: 15.1.1
3793 | resolution: "xmlbuilder@npm:15.1.1"
3794 | checksum: 10c0/665266a8916498ff8d82b3d46d3993913477a254b98149ff7cff060d9b7cc0db7cf5a3dae99aed92355254a808c0e2e3ec74ad1b04aa1061bdb8dfbea26c18b8
3795 | languageName: node
3796 | linkType: hard
3797 |
3798 | "y18n@npm:^5.0.5":
3799 | version: 5.0.8
3800 | resolution: "y18n@npm:5.0.8"
3801 | checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249
3802 | languageName: node
3803 | linkType: hard
3804 |
3805 | "yallist@npm:^4.0.0":
3806 | version: 4.0.0
3807 | resolution: "yallist@npm:4.0.0"
3808 | checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a
3809 | languageName: node
3810 | linkType: hard
3811 |
3812 | "yallist@npm:^5.0.0":
3813 | version: 5.0.0
3814 | resolution: "yallist@npm:5.0.0"
3815 | checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416
3816 | languageName: node
3817 | linkType: hard
3818 |
3819 | "yargs-parser@npm:^21.1.1":
3820 | version: 21.1.1
3821 | resolution: "yargs-parser@npm:21.1.1"
3822 | checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2
3823 | languageName: node
3824 | linkType: hard
3825 |
3826 | "yargs@npm:^17.0.1, yargs@npm:^17.6.2, yargs@npm:^17.7.2":
3827 | version: 17.7.2
3828 | resolution: "yargs@npm:17.7.2"
3829 | dependencies:
3830 | cliui: "npm:^8.0.1"
3831 | escalade: "npm:^3.1.1"
3832 | get-caller-file: "npm:^2.0.5"
3833 | require-directory: "npm:^2.1.1"
3834 | string-width: "npm:^4.2.3"
3835 | y18n: "npm:^5.0.5"
3836 | yargs-parser: "npm:^21.1.1"
3837 | checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05
3838 | languageName: node
3839 | linkType: hard
3840 |
3841 | "yauzl@npm:^2.10.0":
3842 | version: 2.10.0
3843 | resolution: "yauzl@npm:2.10.0"
3844 | dependencies:
3845 | buffer-crc32: "npm:~0.2.3"
3846 | fd-slicer: "npm:~1.1.0"
3847 | checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422
3848 | languageName: node
3849 | linkType: hard
3850 |
3851 | "yn@npm:3.1.1":
3852 | version: 3.1.1
3853 | resolution: "yn@npm:3.1.1"
3854 | checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443
3855 | languageName: node
3856 | linkType: hard
3857 |
3858 | "yocto-queue@npm:^0.1.0":
3859 | version: 0.1.0
3860 | resolution: "yocto-queue@npm:0.1.0"
3861 | checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f
3862 | languageName: node
3863 | linkType: hard
3864 |
--------------------------------------------------------------------------------