From d4cc96df1fd9568bc95a42b08f82fa281e927210 Mon Sep 17 00:00:00 2001 From: Satoshi Qazi Muhammed Date: Sun, 4 Oct 2026 03:36:53 +0400 Subject: [PATCH] Remove the unreleased Electron desktop package packages/apps-electron was never released, and electron 28, electron-builder and their tooling (got, tar, app-builder-lib, builder-util-runtime) were most of the dependency advisories left in this repo. Drop the package, its scripts, the build:electron CI step, its i18n namespace and the deps only it used (concurrently included). The shipped web bundle changes by one string: "apps-electron" leaves the i18n namespace list. Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/workflows/auto-merge.yml | 2 +- .github/workflows/pr-any.yml | 2 +- package.json | 22 +- packages/apps-electron/.gitignore | 3 - packages/apps-electron/.skip-build | 0 packages/apps-electron/.skip-npm | 0 packages/apps-electron/README.md | 17 - .../appleEntitlements/entitlements.mac.plist | 14 - packages/apps-electron/assets/icon.png | Bin 48058 -> 0 bytes packages/apps-electron/electron-builder.yml | 21 - packages/apps-electron/package.json | 37 - .../src/api/account-store-api.ts | 13 - .../src/api/electron-main-api.ts | 8 - .../src/api/global-exported-api.ts | 12 - .../apps-electron/src/electron/autoUpdater.ts | 18 - .../src/electron/contentSecurityPolicy.ts | 29 - packages/apps-electron/src/electron/index.ts | 26 - packages/apps-electron/src/electron/window.ts | 50 - packages/apps-electron/src/index.tsx | 37 - .../src/main/account-store.spec.ts | 72 - .../apps-electron/src/main/account-store.ts | 60 - .../src/main/ipc-main-handler.ts | 4 - .../src/main/register-ipc-handler.ts | 14 - packages/apps-electron/src/preload.ts | 17 - .../renderer/remote-electron-store.spec.ts | 95 -- .../src/renderer/remote-electron-store.ts | 42 - packages/apps-electron/tsconfig.build.json | 17 - packages/apps-electron/webpack.main.cjs | 62 - packages/apps-electron/webpack.renderer.cjs | 37 - .../apps/public/locales/en/apps-electron.json | 1 - packages/react-components/src/i18n/index.ts | 1 - tsconfig.build.json | 1 - tsconfig.json | 4 +- yarn.lock | 1169 +---------------- 34 files changed, 25 insertions(+), 1882 deletions(-) delete mode 100644 packages/apps-electron/.gitignore delete mode 100644 packages/apps-electron/.skip-build delete mode 100644 packages/apps-electron/.skip-npm delete mode 100644 packages/apps-electron/README.md delete mode 100644 packages/apps-electron/appleEntitlements/entitlements.mac.plist delete mode 100644 packages/apps-electron/assets/icon.png delete mode 100644 packages/apps-electron/electron-builder.yml delete mode 100644 packages/apps-electron/package.json delete mode 100644 packages/apps-electron/src/api/account-store-api.ts delete mode 100644 packages/apps-electron/src/api/electron-main-api.ts delete mode 100644 packages/apps-electron/src/api/global-exported-api.ts delete mode 100644 packages/apps-electron/src/electron/autoUpdater.ts delete mode 100644 packages/apps-electron/src/electron/contentSecurityPolicy.ts delete mode 100644 packages/apps-electron/src/electron/index.ts delete mode 100644 packages/apps-electron/src/electron/window.ts delete mode 100644 packages/apps-electron/src/index.tsx delete mode 100644 packages/apps-electron/src/main/account-store.spec.ts delete mode 100644 packages/apps-electron/src/main/account-store.ts delete mode 100644 packages/apps-electron/src/main/ipc-main-handler.ts delete mode 100644 packages/apps-electron/src/main/register-ipc-handler.ts delete mode 100644 packages/apps-electron/src/preload.ts delete mode 100644 packages/apps-electron/src/renderer/remote-electron-store.spec.ts delete mode 100644 packages/apps-electron/src/renderer/remote-electron-store.ts delete mode 100644 packages/apps-electron/tsconfig.build.json delete mode 100644 packages/apps-electron/webpack.main.cjs delete mode 100644 packages/apps-electron/webpack.renderer.cjs delete mode 100644 packages/apps/public/locales/en/apps-electron.json diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml index fa3bc95..82826bd 100644 --- a/.github/workflows/auto-merge.yml +++ b/.github/workflows/auto-merge.yml @@ -10,7 +10,7 @@ jobs: steps: - uses: jacogr/action-merge@d2d64b4545acd93b0a9575177d3d215ae3f92029 with: - checks: pr (build:code),pr (build:i18n),pr (build:electron),pr (lint),pr (test) + checks: pr (build:code),pr (build:i18n),pr (lint),pr (test) labels: -auto strategy: squash token: ${{ github.token }} diff --git a/.github/workflows/pr-any.yml b/.github/workflows/pr-any.yml index 60cb8f0..87bf736 100644 --- a/.github/workflows/pr-any.yml +++ b/.github/workflows/pr-any.yml @@ -6,7 +6,7 @@ jobs: continue-on-error: true strategy: matrix: - step: ['lint', 'test', 'build:code', 'build:i18n', 'build:electron'] + step: ['lint', 'test', 'build:code', 'build:i18n'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/package.json b/package.json index bc246f9..7d883e4 100644 --- a/package.json +++ b/package.json @@ -24,20 +24,13 @@ "workspaces": [ "packages/*" ], - "main": "packages/apps-electron/build/electron.js", "scripts": { "analyze": "yarn clean && BUILD_ANALYZE=1 yarn run build:code && yarn source-map-explorer packages/apps/build/app.*.js", "build": "yarn run build:i18n && yarn run build:code", "build:before": "yarn build:images && yarn build:typesBundle", "build:code": "NODE_ENV=production yarn pezkuwi-dev-build-ts", - "build:devElectronMain": "cd packages/apps-electron && yarn pezkuwi-exec-webpack --config webpack.main.cjs", - "build:devElectronRenderer": "cd packages/apps-electron && yarn pezkuwi-exec-webpack --config webpack.renderer.cjs", - "build:electron": "yarn clean:electronBuild && yarn build:electronMain && yarn build:electronRenderer", - "build:electronMain": "cd packages/apps-electron && NODE_ENV=production yarn pezkuwi-exec-webpack --config webpack.main.cjs", - "build:electronRenderer": "cd packages/apps-electron && NODE_ENV=production yarn pezkuwi-exec-webpack --config webpack.renderer.cjs", "build:i18n": "i18next-scanner --config i18next-scanner.config.cjs && node ./scripts/i18nSort.cjs", "build:images": "node scripts/imgConvert.mjs", - "build:release:electron": "yarn build && yarn build:electron && yarn postinstall:electron", "build:release:ghpages": "yarn pezkuwi-ci-ghact-docs", "build:release:ipfs": "node scripts/ipfsUpload.mjs", "build:release:www": "yarn pezkuwi-ci-ghact-build && yarn build:release:ghpages && yarn build:release:ipfs", @@ -47,21 +40,12 @@ "ci:chainEndpoints": "pezkuwi-dev-run-test --env node --logfile .github/chain-endpoints.md packages/apps-config/src/ci/chainEndpoints", "ci:chainTypes": "echo ok", "clean": "pezkuwi-dev-clean-build", - "clean:electronBuild": "cd packages/apps-electron && pezkuwi-dev-clean-build", - "clean:electronRelease": "cd packages/apps-electron && rm -rf release", "clean:i18n": "rm -rf packages/apps/public/locales/en && mkdir -p packages/apps/public/locales/en", "docs": "echo \"skipping docs\"", "lint": "pezkuwi-dev-run-lint", - "packElectron": "yarn build:release:electron && yarn clean:electronRelease && electron-builder build -mwl", - "packElectron:linux": "yarn build:release:electron && electron-builder build --linux --project packages/apps-electron", - "packElectron:mac": "yarn build:release:electron && electron-builder build --mac --project packages/apps-electron", - "packElectron:test": "yarn build:release:electron && electron-builder --dir --project packages/apps-electron", - "packElectron:win": "yarn build:release:electron && electron-builder build --win --project packages/apps-electron", "postinstall": "pezkuwi-dev-yarn-only", - "postinstall:electron": "electron-builder install-app-deps", "start": "yarn clean && cd packages/apps && yarn pezkuwi-exec-webpack serve --config webpack.serve.cjs --port 3000", - "start:electron": "yarn clean:electronBuild && concurrently 'yarn build:devElectronMain && cd packages/apps-electron && electron ./build/electron.js' 'yarn build:devElectronRenderer'", - "test": "pezkuwi-dev-run-test --env browser ^typesBundle ^chainEndpoints ^chainTypes ^page- ^react- ^apps-electron", + "test": "pezkuwi-dev-run-test --env browser ^typesBundle ^chainEndpoints ^chainTypes ^page- ^react-", "test:all": "pezkuwi-dev-run-test --env browser ^chainEndpoints ^chainTypes", "test:one": "pezkuwi-dev-run-test --env browser", "test:skipped": "echo 'tests skipped'" @@ -79,12 +63,8 @@ "@types/react-dom": "^18.2.18", "@types/react-router-dom": "^5.3.3", "@types/store": "^2.0.5", - "concurrently": "^8.2.2", "devtron": "^1.4.0", "dnslink-cloudflare": "^3.0.0", - "electron": "28.0.0", - "electron-builder": "24.10.0", - "electron-builder-notarize": "^1.5.1", "extensionless": "^1.9.6", "i18next-scanner": "^4.4.0", "react": "^18.2.0", diff --git a/packages/apps-electron/.gitignore b/packages/apps-electron/.gitignore deleted file mode 100644 index 775f4d1..0000000 --- a/packages/apps-electron/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -build -node_modules -release diff --git a/packages/apps-electron/.skip-build b/packages/apps-electron/.skip-build deleted file mode 100644 index e69de29..0000000 diff --git a/packages/apps-electron/.skip-npm b/packages/apps-electron/.skip-npm deleted file mode 100644 index e69de29..0000000 diff --git a/packages/apps-electron/README.md b/packages/apps-electron/README.md deleted file mode 100644 index ac60b52..0000000 --- a/packages/apps-electron/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @pezkuwi/apps-electron - -Desktop Pezkuwi apps client for Windows, Mac and Linux. - -## Installation - -[Download here](https://github.com/pezkuwichain/pezkuwi-apps/releases/latest) latest versions for Windows, Mac and Linux. - -## Development and testing - -Contributions are welcome! - -Follow steps described [here](https://github.com/pezkuwichain/pezkuwi-apps#development) to setup the project. - -* Run `yarn start:electron` to start the app in development mode. You will possibly see the `Not Found / 404` message. It's ok, just wait for the build to finish and refresh pressing `Ctrl+R`. -* Run `yarn test` to run tests -* Run `yarn packElectron:(mac|linux|windows)` with the OS you want to build for to create the app executable. Find the packages in `packages/apps-electron/release`. diff --git a/packages/apps-electron/appleEntitlements/entitlements.mac.plist b/packages/apps-electron/appleEntitlements/entitlements.mac.plist deleted file mode 100644 index 4c40ee7..0000000 --- a/packages/apps-electron/appleEntitlements/entitlements.mac.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.security.cs.allow-jit - - com.apple.security.cs.allow-unsigned-executable-memory - - com.apple.security.cs.allow-dyld-environment-variables - - com.apple.security.device.camera - - - diff --git a/packages/apps-electron/assets/icon.png b/packages/apps-electron/assets/icon.png deleted file mode 100644 index f282e5a90ed42fca8484ea648559d12bd1be6c4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48058 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", - "bugs": "https://git.pezkuwichain.io/pezkuwichain/pezkuwi-apps/issues", - "description": "An Apps portal into the Pezkuwi network", - "engines": { - "node": ">=18" - }, - "homepage": "https://git.pezkuwichain.io/pezkuwichain/pezkuwi-apps/tree/master/packages/apps-electron#readme", - "license": "Apache-2.0", - "name": "@pezkuwi/apps-electron", - "private": true, - "repository": { - "directory": "packages/apps-electron", - "type": "git", - "url": "https://git.pezkuwichain.io/pezkuwichain/pezkuwi-apps.git" - }, - "sideEffects": false, - "version": "1.0.2-1-x", - "main": "build/electron.js", - "dependencies": { - "electron-log": "^5.0.1", - "electron-updater": "^6.1.7" - }, - "devDependencies": { - "@pezkuwi/dev": "^0.85.2", - "@types/tmp": "^0.2.6", - "copy-webpack-plugin": "^11.0.0", - "electron": "28.0.0", - "electron-builder": "24.10.0", - "electron-builder-notarize": "^1.5.1", - "html-webpack-plugin": "^5.5.4", - "tmp": "^0.2.1" - }, - "peerDependencies": { - "webpack": "*" - } -} diff --git a/packages/apps-electron/src/api/account-store-api.ts b/packages/apps-electron/src/api/account-store-api.ts deleted file mode 100644 index 91b97e5..0000000 --- a/packages/apps-electron/src/api/account-store-api.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import type { KeyringJson } from '@pezkuwi/ui-keyring/types'; - -export interface AccountStoreApi { - all: () => Promise<{ key: string, value: KeyringJson }[]> - get: (key: string) => Promise - remove: (key: string) => Promise - set: (key: string, value: KeyringJson) => Promise -} diff --git a/packages/apps-electron/src/api/electron-main-api.ts b/packages/apps-electron/src/api/electron-main-api.ts deleted file mode 100644 index 982f62c..0000000 --- a/packages/apps-electron/src/api/electron-main-api.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import type { AccountStoreApi } from './account-store-api.js'; - -export interface ElectronMainApi { - accountStore: AccountStoreApi -} diff --git a/packages/apps-electron/src/api/global-exported-api.ts b/packages/apps-electron/src/api/global-exported-api.ts deleted file mode 100644 index 4f99999..0000000 --- a/packages/apps-electron/src/api/global-exported-api.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import type { ElectronMainApi } from './electron-main-api.js'; - -declare global { - interface Window { - ElectronMain: ElectronMainApi - } -} - -export const electronMainApi = window.ElectronMain; diff --git a/packages/apps-electron/src/electron/autoUpdater.ts b/packages/apps-electron/src/electron/autoUpdater.ts deleted file mode 100644 index f1902b7..0000000 --- a/packages/apps-electron/src/electron/autoUpdater.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import type { AppUpdater } from 'electron-updater'; - -export async function setupAutoUpdater (): Promise { - const { autoUpdater } = await import('electron-updater'); - - await setLogger(autoUpdater); - autoUpdater.checkForUpdatesAndNotify().catch(console.error); -} - -async function setLogger (autoUpdater: AppUpdater): Promise { - const log = await import('electron-log'); - - log.transports.file.level = 'debug'; - autoUpdater.logger = log; -} diff --git a/packages/apps-electron/src/electron/contentSecurityPolicy.ts b/packages/apps-electron/src/electron/contentSecurityPolicy.ts deleted file mode 100644 index f598ae0..0000000 --- a/packages/apps-electron/src/electron/contentSecurityPolicy.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import type { HeadersReceivedResponse } from 'electron'; - -import { session } from 'electron'; - -export function setupContentSecurityPolicy (_: string): void { - session.defaultSession.webRequest.onHeadersReceived((details, respond: (response: HeadersReceivedResponse) => void) => { - respond({ - responseHeaders: { - ...details.responseHeaders, - 'Content-Security-Policy': [ - "default-src 'self';" + - " style-src-elem 'self' https://fonts.googleapis.com/css 'unsafe-inline';" + - " font-src data: 'self' https://fonts.gstatic.com;" + - " style-src 'unsafe-inline';" + - " connect-src 'self' wss: ws:;" + - " img-src 'self' data:;" + - // react-qr-reader uses an embedded blob - " worker-src 'self' blob: filesystem:;" + - // unsafe-eval is needed for the WASM content - same as the extension - // script hashes here are for the window.top script (not technically needed) - " script-src 'self' 'unsafe-eval' 'sha256-02/ejyoV/iwRdJ4NAsxjzF6WVUtLMPM6Nv96EbAm6u8=' 'sha256-wW/WsLudCDaPo/ibpeK0KslHqYpCzcAKNFxFBXwCHJg='" - ] - } - }); - }); -} diff --git a/packages/apps-electron/src/electron/index.ts b/packages/apps-electron/src/electron/index.ts deleted file mode 100644 index 72e2664..0000000 --- a/packages/apps-electron/src/electron/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import { app } from 'electron'; - -import { registerAccountStoreHandlers } from '../main/account-store.js'; -import { setupAutoUpdater } from './autoUpdater.js'; -import { setupContentSecurityPolicy } from './contentSecurityPolicy.js'; -import { createWindow } from './window.js'; - -const ENV = process.env.NODE_ENV || 'production'; - -app.on('web-contents-created', (_, webContents): void => { - webContents.setWindowOpenHandler(() => ({ action: 'allow' })); -}); - -app - .whenReady() - .then(async (): Promise => { - registerAccountStoreHandlers(); - setupContentSecurityPolicy(ENV); - - await createWindow(ENV); - await setupAutoUpdater(); - }) - .catch(console.error); diff --git a/packages/apps-electron/src/electron/window.ts b/packages/apps-electron/src/electron/window.ts deleted file mode 100644 index d00e858..0000000 --- a/packages/apps-electron/src/electron/window.ts +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import { BrowserWindow, screen, shell } from 'electron'; -import path from 'path'; - -export function createWindow (environment: string): Promise { - const { height, width } = screen.getPrimaryDisplay().workAreaSize; - - const win = new BrowserWindow({ - height, - icon: path.join(__dirname, 'icon.png'), - webPreferences: { - contextIsolation: true, - nodeIntegration: false, - preload: path.join(__dirname, 'preload.js') - }, - width - }); - - if (environment === 'development') { - win.webContents.openDevTools(); - - return win.loadURL('http://127.0.0.1:3000/'); - } - - // Handle attempts to open a new window via window.open() - win.webContents.setWindowOpenHandler(({ url }) => { - // Open all http/https URLs externally - if (url.startsWith('http://') || url.startsWith('https://')) { - shell.openExternal(url).catch(console.log); - - return { action: 'deny' }; - } - - return { action: 'allow' }; - }); - - // Handle in-app navigation attempts, such as clicking on - win.webContents.on('will-navigate', (event, url) => { - if (url.startsWith('http://') || url.startsWith('https://')) { - event.preventDefault(); - shell.openExternal(url).catch(console.log); - } - }); - - const mainFilePath = path.resolve(__dirname, 'index.html'); - - return win.loadFile(mainFilePath); -} diff --git a/packages/apps-electron/src/index.tsx b/packages/apps-electron/src/index.tsx deleted file mode 100644 index aba29af..0000000 --- a/packages/apps-electron/src/index.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -// setup these right at front -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import '@pezkuwi/apps/initSettings'; -import 'semantic-ui-css/semantic.min.css'; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import '@pezkuwi/react-components/i18n'; - -import React from 'react'; -import { createRoot } from 'react-dom/client'; - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import Root from '@pezkuwi/apps/Root'; - -import { electronMainApi } from './api/global-exported-api.js'; -import { RemoteElectronStore } from './renderer/remote-electron-store.js'; - -const rootId = 'root'; -const rootElement = document.getElementById(rootId); - -if (!rootElement) { - throw new Error(`Unable to find element with id '${rootId}'`); -} - -const store = new RemoteElectronStore(electronMainApi.accountStore); - -createRoot(rootElement).render( - -); diff --git a/packages/apps-electron/src/main/account-store.spec.ts b/packages/apps-electron/src/main/account-store.spec.ts deleted file mode 100644 index 91be944..0000000 --- a/packages/apps-electron/src/main/account-store.spec.ts +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -/// - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import type { KeyringJson } from '@pezkuwi/ui-keyring/types'; -import type { IpcMainHandler } from './ipc-main-handler.js'; - -import * as tmp from 'tmp'; - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import { FileStore } from '@pezkuwi/ui-keyring/stores'; - -import { accountStoreIpcHandler } from './account-store.js'; - -const exampleAccount = (address: string): KeyringJson => ({ - address, - meta: {} -}); - -describe('Account store', () => { - let accountStore: IpcMainHandler; - let tmpDir: tmp.DirResult; - - beforeEach(() => { - tmpDir = tmp.dirSync({ unsafeCleanup: true }); - accountStore = accountStoreIpcHandler(new FileStore(tmpDir.name)); - }); - - afterEach(() => { - tmpDir.removeCallback(); - }); - - it('all returns empty array at first', () => { - expect(accountStore['account-store-all']()).toEqual([]); - }); - - it('after adding accounts, they become visible', async () => { - await accountStore['account-store-set']('1', exampleAccount('a')); - await accountStore['account-store-set']('2', exampleAccount('b')); - - expect(accountStore['account-store-all']()).toEqual([{ - key: '1', value: exampleAccount('a') - }, { - key: '2', value: exampleAccount('b') - }]); - }); - - it('get returns account if exists', async () => { - await accountStore['account-store-set']('1', exampleAccount('a')); - expect(await accountStore['account-store-get']('1')).toEqual(exampleAccount('a')); - }); - - it('get returns null if account does not exist', async () => { - // jest.spyOn(console, 'error').mockImplementationOnce(() => { /**/ }); - - expect(await accountStore['account-store-get']('1')).toEqual(null); - }); - - it('account disappears from list after it is removed', async () => { - // jest.spyOn(console, 'error').mockImplementationOnce(() => { /**/ }); - - await accountStore['account-store-set']('1', exampleAccount('a')); - await accountStore['account-store-remove']('1'); - - expect(await accountStore['account-store-get']('1')).toEqual(null); - expect(accountStore['account-store-all']()).toEqual([]); - }); -}); diff --git a/packages/apps-electron/src/main/account-store.ts b/packages/apps-electron/src/main/account-store.ts deleted file mode 100644 index c8d9992..0000000 --- a/packages/apps-electron/src/main/account-store.ts +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import type { KeyringJson } from '@pezkuwi/ui-keyring/types'; -import type { IpcMainHandler } from './ipc-main-handler.js'; - -import electron from 'electron'; -import path from 'path'; - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import { FileStore } from '@pezkuwi/ui-keyring/stores'; - -import { registerIpcHandler } from './register-ipc-handler.js'; - -const ACCOUNTS_SUBFOLDER = 'pezkuwi-accounts'; - -function safeWriteKey (key: string) { - return key.replace(/:/g, '-'); -} - -function safeReadKey (key: string) { - return key.replace(/-/g, ':'); -} - -export const accountStoreIpcHandler = (fileStore: FileStore): IpcMainHandler => ({ - 'account-store-all': () => { - let result: { key: string, value: KeyringJson }[] = []; - - const collect = (key: string, value: KeyringJson) => { - result = [...result, { key: safeReadKey(key), value }]; - }; - - fileStore.all(collect); - - return result; - }, - 'account-store-get': async (key: string) => new Promise((resolve) => { - try { - fileStore.get(safeWriteKey(key), resolve); - } catch { - resolve(null); - } - }), - 'account-store-remove': async (key: string) => new Promise((resolve) => - fileStore.remove(safeWriteKey(key), () => resolve(undefined)) - ), - 'account-store-set': async (key: string, value: KeyringJson) => new Promise((resolve) => - fileStore.set(safeWriteKey(key), value, () => resolve(undefined)) - ) -}); - -export const registerAccountStoreHandlers = (): void => { - const defaultStorePath = path.join(electron.app.getPath('userData'), ACCOUNTS_SUBFOLDER); - const fileStore = new FileStore(defaultStorePath); - - registerIpcHandler(accountStoreIpcHandler(fileStore)); -}; diff --git a/packages/apps-electron/src/main/ipc-main-handler.ts b/packages/apps-electron/src/main/ipc-main-handler.ts deleted file mode 100644 index 49b959c..0000000 --- a/packages/apps-electron/src/main/ipc-main-handler.ts +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -export type IpcMainHandler = Record unknown>; diff --git a/packages/apps-electron/src/main/register-ipc-handler.ts b/packages/apps-electron/src/main/register-ipc-handler.ts deleted file mode 100644 index c9ee234..0000000 --- a/packages/apps-electron/src/main/register-ipc-handler.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import type { IpcMainHandler } from './ipc-main-handler.js'; - -import electron from 'electron'; - -export const registerIpcHandler = (ipcHandler: IpcMainHandler): void => { - for (const [channel, listener] of Object.entries(ipcHandler)) { - electron.ipcMain.handle(channel, (_, ...args: unknown[]) => { - return listener(...args); - }); - } -}; diff --git a/packages/apps-electron/src/preload.ts b/packages/apps-electron/src/preload.ts deleted file mode 100644 index 8a7afa9..0000000 --- a/packages/apps-electron/src/preload.ts +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import type { KeyringJson } from '@pezkuwi/ui-keyring/types'; - -import { contextBridge, ipcRenderer } from 'electron'; - -contextBridge.exposeInMainWorld('ElectronMain', { - accountStore: { - all: () => ipcRenderer.invoke('account-store-all'), - get: (key: string) => ipcRenderer.invoke('account-store-get', key), - remove: (key: string) => ipcRenderer.invoke('account-store-remove', key), - set: (key: string, value: KeyringJson) => ipcRenderer.invoke('account-store-set', key, value) - } -}); diff --git a/packages/apps-electron/src/renderer/remote-electron-store.spec.ts b/packages/apps-electron/src/renderer/remote-electron-store.spec.ts deleted file mode 100644 index 2f4a391..0000000 --- a/packages/apps-electron/src/renderer/remote-electron-store.spec.ts +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -/// - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import type { KeyringJson } from '@pezkuwi/ui-keyring/types'; - -import { RemoteElectronStore } from './remote-electron-store.js'; - -describe('Remote Electron Store', () => { - const accountStore = { - all: jest.fn(), - get: jest.fn(), - remove: jest.fn(), - set: jest.fn() - }; - const remoteStore = new RemoteElectronStore(accountStore); - - beforeEach(() => { - accountStore.all.mockClear(); - accountStore.get.mockClear(); - accountStore.remove.mockClear(); - accountStore.set.mockClear(); - }); - - describe('all', () => { - it('calls callback for each returned account', async () => { - accountStore.all.mockResolvedValue([{ - key: 1, - value: 'a' - }, { - key: 2, - value: 'b' - }]); - const cb = jest.fn(); - - remoteStore.all(cb); - await Promise.resolve(); - - expect(cb).toHaveBeenNthCalledWith(1, 1, 'a'); - expect(cb).toHaveBeenNthCalledWith(2, 2, 'b'); - }); - }); - - describe('get', () => { - it('calls callback with returned account', async () => { - accountStore.get.mockResolvedValue('a'); - const cb = jest.fn(); - - remoteStore.get('1', cb); - await Promise.resolve(); - - expect(accountStore.get).toHaveBeenCalledWith('1'); - expect(cb).toHaveBeenCalledWith('a'); - }); - - it('calls callback with null if no accounts found', async () => { - accountStore.get.mockResolvedValue(null); - const cb = jest.fn(); - - remoteStore.get('1', cb); - await Promise.resolve(); - - expect(cb).toHaveBeenCalledWith(null); - }); - }); - - describe('remove', () => { - it('calls callback after success', async () => { - accountStore.remove.mockResolvedValue(null); - const cb = jest.fn(); - - remoteStore.remove('1', cb); - await Promise.resolve(); - - expect(accountStore.remove).toHaveBeenCalledWith('1'); - expect(cb).toHaveBeenCalledTimes(1); - }); - }); - - describe('set', () => { - it('calls callback after success', async () => { - accountStore.set.mockResolvedValue(null); - const cb = jest.fn(); - - remoteStore.set('1', 'a' as unknown as KeyringJson, cb); - await Promise.resolve(); - - expect(accountStore.set).toHaveBeenCalledWith('1', 'a'); - expect(cb).toHaveBeenCalledTimes(1); - }); - }); -}); diff --git a/packages/apps-electron/src/renderer/remote-electron-store.ts b/packages/apps-electron/src/renderer/remote-electron-store.ts deleted file mode 100644 index 4327fd5..0000000 --- a/packages/apps-electron/src/renderer/remote-electron-store.ts +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Warned on by nodenext resolution (while package does build in bundler mode) -import type { KeyringJson, KeyringStore } from '@pezkuwi/ui-keyring/types'; -import type { AccountStoreApi } from '../api/account-store-api.js'; - -export class RemoteElectronStore implements KeyringStore { - readonly #accountStore: AccountStoreApi; - - constructor (accountStore: AccountStoreApi) { - this.#accountStore = accountStore; - } - - all (cb: (key: string, value: KeyringJson) => void): void { - this.#accountStore.all() - .then((result: { key: string, value: KeyringJson }[]) => result?.forEach(({ key, value }) => cb(key, value))) - .catch((e: Error) => { - throw new Error(`error getting all accounts: ${e.message}`); - }); - } - - get (key: string, cb: (value: KeyringJson) => void): void { - this.#accountStore.get(key) - .then(cb).catch((e: Error) => { - throw new Error(`error storing account: ${e.message}`); - }); - } - - remove (key: string, cb: (() => void) | undefined): void { - this.#accountStore.remove(key).then(cb).catch((e: Error) => { - throw new Error(`error removing account: ${e.message}`); - }); - } - - set (key: string, value: KeyringJson, cb: (() => void) | undefined): void { - this.#accountStore.set(key, value).then(cb).catch((e: Error) => { - throw new Error(`error saving account: ${e.message}`); - }); - } -} diff --git a/packages/apps-electron/tsconfig.build.json b/packages/apps-electron/tsconfig.build.json deleted file mode 100644 index f2a41e9..0000000 --- a/packages/apps-electron/tsconfig.build.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "baseUrl": "..", - "outDir": "./build", - "rootDir": "./src", - /* Since this is a forced-by-electron-CJS-module, we have to switch this off */ - "verbatimModuleSyntax": false - }, - "exclude": [ - "webpack.*.cjs" - ], - "references": [ - { "path": "../apps/tsconfig.build.json" }, - { "path": "../react-components/tsconfig.build.json" } - ] -} diff --git a/packages/apps-electron/webpack.main.cjs b/packages/apps-electron/webpack.main.cjs deleted file mode 100644 index 6bf1dde..0000000 --- a/packages/apps-electron/webpack.main.cjs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps-electron authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const path = require('path'); - -function createWebpack () { - return [ - { - entry: { - electron: './src/electron', - preload: './src/preload.ts' - }, - mode: 'production', - module: { - rules: [ - { - include: /node_modules/, - test: /\.mjs$/, - type: 'javascript/auto' - }, - { - exclude: /(node_modules)/, - test: /\.(ts|tsx)$/, - use: [ - { - loader: require.resolve('ts-loader'), - options: { - configFile: 'tsconfig.webpack.json', - transpileOnly: true - } - } - ] - } - ] - }, - node: { - __dirname: false, - __filename: false - }, - output: { - filename: '[name].js', - path: path.join(__dirname, '/build') - }, - plugins: [ - new CopyWebpackPlugin({ patterns: [{ from: 'assets' }] }) - ], - resolve: { - alias: { - '@pezkuwi/hw-ledger-transports': require.resolve('@pezkuwi/hw-ledger-transports/node') - }, - extensionAlias: { - '.js': ['.ts', '.tsx', '.js'] - }, - extensions: ['.js', '.jsx', '.json', '.mjs', '.ts', '.tsx'] - }, - target: 'electron-main' - } - ]; -} - -module.exports = createWebpack(); diff --git a/packages/apps-electron/webpack.renderer.cjs b/packages/apps-electron/webpack.renderer.cjs deleted file mode 100644 index fb220a8..0000000 --- a/packages/apps-electron/webpack.renderer.cjs +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -/* eslint-disable camelcase */ - -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const path = require('path'); -const { merge } = require('webpack-merge'); - -const baseConfig = require('../apps/webpack.base.cjs'); - -const context = __dirname; - -module.exports = merge( - baseConfig(context, 'development'), - { - plugins: [ - // It must be placed before HtmlWebpackPlugin - new CopyWebpackPlugin({ - patterns: [{ - from: '../apps/public', - globOptions: { - dot: true, - ignore: ['**/index.html'] - } - }] - }), - new HtmlWebpackPlugin({ - PAGE_TITLE: 'Pezkuwi/Bizinikiwi Portal', - minify: false, - template: path.join(context, '../apps/public/index.html') - }) - ], - target: 'web' - } -); diff --git a/packages/apps/public/locales/en/apps-electron.json b/packages/apps/public/locales/en/apps-electron.json deleted file mode 100644 index 9e26dfe..0000000 --- a/packages/apps/public/locales/en/apps-electron.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/packages/react-components/src/i18n/index.ts b/packages/react-components/src/i18n/index.ts index db352f7..c9dc8d8 100644 --- a/packages/react-components/src/i18n/index.ts +++ b/packages/react-components/src/i18n/index.ts @@ -50,7 +50,6 @@ i18next ns: [ 'apps', 'apps-config', - 'apps-electron', 'apps-routing', 'app-accounts', 'app-claims', diff --git a/tsconfig.build.json b/tsconfig.build.json index fd27177..ac9994f 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -7,7 +7,6 @@ { "path": "./packages/apps/tsconfig.build.json" }, { "path": "./packages/apps-config/tsconfig.build.json" }, { "path": "./packages/apps-config/tsconfig.spec.json" }, - { "path": "./packages/apps-electron/tsconfig.build.json" }, { "path": "./packages/apps-routing/tsconfig.build.json" }, { "path": "./packages/page-accounts/tsconfig.build.json" }, { "path": "./packages/page-accounts/tsconfig.spec.json" }, diff --git a/tsconfig.json b/tsconfig.json index c0bea03..d769acf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,9 +4,7 @@ "baseUrl": "./packages", "composite": false, /* - * We have a couple of issues that forces us to disable this - - * 1. apps-electron is still CJS - * 2. some of our packaged dependencies are problematic + * Disabled since some of our packaged dependencies are problematic * * (also disabled in tsconfig.build.json) */ diff --git a/yarn.lock b/yarn.lock index 76cf2a4..97e42ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,13 +5,6 @@ __metadata: version: 8 cacheKey: 10 -"7zip-bin@npm:~5.2.0": - version: 5.2.0 - resolution: "7zip-bin@npm:5.2.0" - checksum: 10/5339c7a56f57f8d7d16ac8d15f588d155e5705cd4822e0d161ea45e6fbfe4a5226b464a331ec555a1ec9376ad04e5f61c125656cf3a1507900c1968ccbcfe80b - languageName: node - linkType: hard - "@acala-network/chopsticks-core@npm:^1.2.1": version: 1.2.5 resolution: "@acala-network/chopsticks-core@npm:1.2.5" @@ -117,7 +110,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.6, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.28.4, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.6, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.28.4, @babel/runtime@npm:^7.9.2": version: 7.28.6 resolution: "@babel/runtime@npm:7.28.6" checksum: 10/fbcd439cb74d4a681958eb064c509829e3f46d8a4bfaaf441baa81bb6733d1e680bccc676c813883d7741bcaada1d0d04b15aa320ef280b5734e2192b50decf9 @@ -388,16 +381,6 @@ __metadata: languageName: node linkType: hard -"@develar/schema-utils@npm:~2.6.5": - version: 2.6.5 - resolution: "@develar/schema-utils@npm:2.6.5" - dependencies: - ajv: "npm:^6.12.0" - ajv-keywords: "npm:^3.4.1" - checksum: 10/a219d60afca9abe708171d7b361907e36526fa8e6e7c480c6c8b05c6611d7e0989b11c1b21b7bceff5d7ccdc92315d364358ec3fd8bc5113d4e869288f32ae9c - languageName: node - linkType: hard - "@digitalnative/type-definitions@npm:1.1.27": version: 1.1.27 resolution: "@digitalnative/type-definitions@npm:1.1.27" @@ -429,81 +412,6 @@ __metadata: languageName: node linkType: hard -"@electron/asar@npm:^3.2.1": - version: 3.4.1 - resolution: "@electron/asar@npm:3.4.1" - dependencies: - commander: "npm:^5.0.0" - glob: "npm:^7.1.6" - minimatch: "npm:^3.0.4" - bin: - asar: bin/asar.js - checksum: 10/c41c6b0a5e112e0209b7f6b6eec7d83d3162a8061233375c76ca9f94afcff326a3447e5f53889b35049a855648a09f203c9850c2dbb6cd4690b54a2075eae266 - languageName: node - linkType: hard - -"@electron/get@npm:^2.0.0": - version: 2.0.3 - resolution: "@electron/get@npm:2.0.3" - dependencies: - debug: "npm:^4.1.1" - env-paths: "npm:^2.2.0" - fs-extra: "npm:^8.1.0" - global-agent: "npm:^3.0.0" - got: "npm:^11.8.5" - progress: "npm:^2.0.3" - semver: "npm:^6.2.0" - sumchecker: "npm:^3.0.1" - dependenciesMeta: - global-agent: - optional: true - checksum: 10/ac736cdeac52513b23038c761ebcb9fd315d443675f12c975805d7bcddcdabe5be492310ce5f6f1915d27013bcdcf19d0dac73c72353120948bbdf01fb3e11bf - languageName: node - linkType: hard - -"@electron/notarize@npm:2.1.0": - version: 2.1.0 - resolution: "@electron/notarize@npm:2.1.0" - dependencies: - debug: "npm:^4.1.1" - fs-extra: "npm:^9.0.1" - promise-retry: "npm:^2.0.1" - checksum: 10/0509c3bd922dd1ed6d1a2042dd78cefd3bd1530000b79c1b9983effb5d3816d5da7d22cfd1ec4d2191d536b1b9cd25f3bfb5202a6ffe58543b22fdf3b468c69f - languageName: node - linkType: hard - -"@electron/osx-sign@npm:1.0.5": - version: 1.0.5 - resolution: "@electron/osx-sign@npm:1.0.5" - dependencies: - compare-version: "npm:^0.1.2" - debug: "npm:^4.3.4" - fs-extra: "npm:^10.0.0" - isbinaryfile: "npm:^4.0.8" - minimist: "npm:^1.2.6" - plist: "npm:^3.0.5" - bin: - electron-osx-flat: bin/electron-osx-flat.js - electron-osx-sign: bin/electron-osx-sign.js - checksum: 10/b8df7c097954e754fec99544d5c6787bcc53de5125557399978ec17084bfb7e8d94b6857b5b2b14f6b2c030cd1086f05f816615a6480a7b581ac8584e2120fcf - languageName: node - linkType: hard - -"@electron/universal@npm:1.4.1": - version: 1.4.1 - resolution: "@electron/universal@npm:1.4.1" - dependencies: - "@electron/asar": "npm:^3.2.1" - "@malept/cross-spawn-promise": "npm:^1.1.0" - debug: "npm:^4.3.1" - dir-compare: "npm:^3.0.0" - fs-extra: "npm:^9.0.1" - minimatch: "npm:^3.0.4" - plist: "npm:^3.0.4" - checksum: 10/41c03ff5a1928c49c0f05e5f4a17278f1d7142f72530a2a7b9c4a49308dd4a280d7576f4961315ee9d45755a772f0d7fdff2d67f5f2e61e962b7c1aa94c40185 - languageName: node - linkType: hard - "@emnapi/core@npm:^1.4.3": version: 1.8.1 resolution: "@emnapi/core@npm:1.8.1" @@ -1305,27 +1213,6 @@ __metadata: languageName: node linkType: hard -"@malept/cross-spawn-promise@npm:^1.1.0": - version: 1.1.1 - resolution: "@malept/cross-spawn-promise@npm:1.1.1" - dependencies: - cross-spawn: "npm:^7.0.1" - checksum: 10/8f04dcbe023e7ee4e82040e32aa29c1774a2d79a36d4a1df2da381281f99419e51a950c77d54662cfd2bc9195db2fbb0068e0f790ac08d7ad981180687051e96 - languageName: node - linkType: hard - -"@malept/flatpak-bundler@npm:^0.4.0": - version: 0.4.0 - resolution: "@malept/flatpak-bundler@npm:0.4.0" - dependencies: - debug: "npm:^4.1.1" - fs-extra: "npm:^9.0.0" - lodash: "npm:^4.17.15" - tmp-promise: "npm:^3.0.2" - checksum: 10/14e04215bcc3dc4cafe8343893ab869f69ad768272563cbb39e7d2e876dc5e03dde9f0c1b0506308a4d90d945871491b05b77c26521b2b4b38245aeed8085d3b - languageName: node - linkType: hard - "@mangata-finance/type-definitions@npm:^2.1.2": version: 2.1.2 resolution: "@mangata-finance/type-definitions@npm:2.1.2" @@ -2436,25 +2323,6 @@ __metadata: languageName: unknown linkType: soft -"@pezkuwi/apps-electron@workspace:packages/apps-electron": - version: 0.0.0-use.local - resolution: "@pezkuwi/apps-electron@workspace:packages/apps-electron" - dependencies: - "@pezkuwi/dev": "npm:^0.85.2" - "@types/tmp": "npm:^0.2.6" - copy-webpack-plugin: "npm:^11.0.0" - electron: "npm:28.0.0" - electron-builder: "npm:24.10.0" - electron-builder-notarize: "npm:^1.5.1" - electron-log: "npm:^5.0.1" - electron-updater: "npm:^6.1.7" - html-webpack-plugin: "npm:^5.5.4" - tmp: "npm:^0.2.1" - peerDependencies: - webpack: "*" - languageName: unknown - linkType: soft - "@pezkuwi/apps-routing@npm:^1.0.2-1-x, @pezkuwi/apps-routing@workspace:packages/apps-routing": version: 0.0.0-use.local resolution: "@pezkuwi/apps-routing@workspace:packages/apps-routing" @@ -6615,13 +6483,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 10/ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 - languageName: node - linkType: hard - "@tsconfig/strictest@npm:^2.0.2": version: 2.0.8 resolution: "@tsconfig/strictest@npm:2.0.8" @@ -6740,7 +6601,7 @@ __metadata: languageName: node linkType: hard -"@types/debug@npm:^4.0.0, @types/debug@npm:^4.1.6": +"@types/debug@npm:^4.0.0": version: 4.1.12 resolution: "@types/debug@npm:4.1.12" dependencies: @@ -6860,15 +6721,6 @@ __metadata: languageName: node linkType: hard -"@types/fs-extra@npm:9.0.13, @types/fs-extra@npm:^9.0.11": - version: 9.0.13 - resolution: "@types/fs-extra@npm:9.0.13" - dependencies: - "@types/node": "npm:*" - checksum: 10/ac545e377248039c596ef27d9f277b813507ebdd95d05f32fe7e9c67eb1ed567dafb4ba59f5fdcb6601dd7fd396ff9ba24f8c122e89cef096cdc17987c50a7fa - languageName: node - linkType: hard - "@types/hast@npm:^3.0.0": version: 3.0.4 resolution: "@types/hast@npm:3.0.4" @@ -7065,16 +6917,6 @@ __metadata: languageName: node linkType: hard -"@types/plist@npm:^3.0.1": - version: 3.0.5 - resolution: "@types/plist@npm:3.0.5" - dependencies: - "@types/node": "npm:*" - xmlbuilder: "npm:>=11.0.1" - checksum: 10/71417189c9bc0d0cb4595106cea7c7a8a7274f64d2e9c4dd558efd7993bcfdada58be6917189e3be7c455fe4e5557004658fd13bd12254eafed8c56e0868b59e - languageName: node - linkType: hard - "@types/prismjs@npm:*, @types/prismjs@npm:^1.9.1": version: 1.26.5 resolution: "@types/prismjs@npm:1.26.5" @@ -7335,13 +7177,6 @@ __metadata: languageName: node linkType: hard -"@types/tmp@npm:^0.2.6": - version: 0.2.6 - resolution: "@types/tmp@npm:0.2.6" - checksum: 10/e14a094c10569d3b56805552b21417860ef21060d969000d5d5b53604a78c2bdac216f064b03797d4b07a081e0141dd3ab22bc36923e75300eb1c023f7252cc7 - languageName: node - linkType: hard - "@types/unist@npm:*, @types/unist@npm:^3.0.0": version: 3.0.3 resolution: "@types/unist@npm:3.0.3" @@ -7363,13 +7198,6 @@ __metadata: languageName: node linkType: hard -"@types/verror@npm:^1.10.3": - version: 1.10.11 - resolution: "@types/verror@npm:1.10.11" - checksum: 10/647a8c43f1510a7ed113426bc428e4d6914da5912946d77b1f6e37937493bc288f49656e1114794f0e5841c14cc1582887cf605952e4e4e0e77e3cd825790fad - languageName: node - linkType: hard - "@types/w3c-web-usb@npm:^1.0.6": version: 1.0.13 resolution: "@types/w3c-web-usb@npm:1.0.13" @@ -7420,15 +7248,6 @@ __metadata: languageName: node linkType: hard -"@types/yauzl@npm:^2.9.1": - version: 2.10.3 - resolution: "@types/yauzl@npm:2.10.3" - dependencies: - "@types/node": "npm:*" - checksum: 10/5ee966ea7bd6b2802f31ad4281c92c4c0b6dfa593c378a2582c58541fa113bec3d70eb0696b34ad95e8e6861a884cba6c3e351285816693ed176222f840a8c08 - languageName: node - linkType: hard - "@typescript-eslint/eslint-plugin@npm:^6.19.1": version: 6.21.0 resolution: "@typescript-eslint/eslint-plugin@npm:6.21.0" @@ -8016,13 +7835,6 @@ __metadata: languageName: node linkType: hard -"@xmldom/xmldom@npm:^0.8.8": - version: 0.8.11 - resolution: "@xmldom/xmldom@npm:0.8.11" - checksum: 10/f6d6ffdf71cf19d9b3c10e978fad40d2f85453bf5b2aa05be8aa0c5ad13f84690c3153316729213cc652d06ec12c605ddb0aa03886f1d73d51b974b4105d31e3 - languageName: node - linkType: hard - "@xtuc/ieee754@npm:^1.2.0": version: 1.2.0 resolution: "@xtuc/ieee754@npm:1.2.0" @@ -8258,15 +8070,6 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10/21fb903e0917e5cb16591b4d0ef6a028a54b83ac30cd1fca58dece3d4e0990512a8723f9f83130d88a41e2af8b1f7be1386fda3ea2d181bb1a62155e75e95e23 - languageName: node - linkType: hard - "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": version: 7.1.4 resolution: "agent-base@npm:7.1.4" @@ -8288,15 +8091,6 @@ __metadata: languageName: node linkType: hard -"ajv-keywords@npm:^3.4.1": - version: 3.5.2 - resolution: "ajv-keywords@npm:3.5.2" - peerDependencies: - ajv: ^6.9.1 - checksum: 10/d57c9d5bf8849bddcbd801b79bc3d2ddc736c2adb6b93a6a365429589dd7993ddbd5d37c6025ed6a7f89c27506b80131d5345c5b1fa6a97e40cd10a96bcd228c - languageName: node - linkType: hard - "ajv-keywords@npm:^5.1.0": version: 5.1.0 resolution: "ajv-keywords@npm:5.1.0" @@ -8308,7 +8102,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.0, ajv@npm:^6.12.4": +"ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -8429,48 +8223,6 @@ __metadata: languageName: node linkType: hard -"app-builder-bin@npm:4.0.0": - version: 4.0.0 - resolution: "app-builder-bin@npm:4.0.0" - checksum: 10/5d401b2670acb381c76f96467320af0569748c66950adacc239ef85f5ac9d7b44e93c387ad3fea22c25d42ca9f6f6ccd53e827cdf9eb6b6cddd2091d88c5289d - languageName: node - linkType: hard - -"app-builder-lib@npm:24.10.0": - version: 24.10.0 - resolution: "app-builder-lib@npm:24.10.0" - dependencies: - "@develar/schema-utils": "npm:~2.6.5" - "@electron/notarize": "npm:2.1.0" - "@electron/osx-sign": "npm:1.0.5" - "@electron/universal": "npm:1.4.1" - "@malept/flatpak-bundler": "npm:^0.4.0" - "@types/fs-extra": "npm:9.0.13" - async-exit-hook: "npm:^2.0.1" - bluebird-lst: "npm:^1.0.9" - builder-util: "npm:24.9.4" - builder-util-runtime: "npm:9.2.3" - chromium-pickle-js: "npm:^0.2.0" - debug: "npm:^4.3.4" - ejs: "npm:^3.1.8" - electron-publish: "npm:24.9.4" - form-data: "npm:^4.0.0" - fs-extra: "npm:^10.1.0" - hosted-git-info: "npm:^4.1.0" - is-ci: "npm:^3.0.0" - isbinaryfile: "npm:^5.0.0" - js-yaml: "npm:^4.1.0" - lazy-val: "npm:^1.0.5" - minimatch: "npm:^5.1.1" - read-config-file: "npm:6.3.2" - sanitize-filename: "npm:^1.6.3" - semver: "npm:^7.3.8" - tar: "npm:^6.1.12" - temp-file: "npm:^3.4.0" - checksum: 10/8350e08488d13c239ae62d8b4e799d5017d186547538161f47ec6475a3b290152e644e01788f4e35ba0b5bebdf4ef5118450fb52e76bc1813eb81f3db8025976 - languageName: node - linkType: hard - "app-module-path@npm:^2.2.0": version: 2.2.0 resolution: "app-module-path@npm:2.2.0" @@ -8533,15 +8285,6 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10/c6a621343a553ff3779390bb5ee9c2263d6643ebcd7843227bdde6cc7adbed796eb5540ca98db19e3fd7b4714e1faa51551f8849b268bb62df27ddb15cbcd91e - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -8713,13 +8456,6 @@ __metadata: languageName: node linkType: hard -"assert-plus@npm:^1.0.0": - version: 1.0.0 - resolution: "assert-plus@npm:1.0.0" - checksum: 10/f4f991ae2df849cc678b1afba52d512a7cbf0d09613ba111e72255409ff9158550c775162a47b12d015d1b82b3c273e8e25df0e4783d3ddb008a293486d00a07 - languageName: node - linkType: hard - "assert@npm:^2.1.0": version: 2.1.0 resolution: "assert@npm:2.1.0" @@ -8761,13 +8497,6 @@ __metadata: languageName: node linkType: hard -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 10/876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 - languageName: node - linkType: hard - "astring@npm:^1.8.5": version: 1.9.0 resolution: "astring@npm:1.9.0" @@ -8777,13 +8506,6 @@ __metadata: languageName: node linkType: hard -"async-exit-hook@npm:^2.0.1": - version: 2.0.1 - resolution: "async-exit-hook@npm:2.0.1" - checksum: 10/fffabbe5ef194ec8283efed48eaf8f4b7982d547de6d4cf7aadf83c8690f0f7929ad01b7cb5de99935ea8f3deb2c21fd009892d8215a43b5a2dcc55c04d42c9f - languageName: node - linkType: hard - "async-function@npm:^1.0.0": version: 1.0.0 resolution: "async-function@npm:1.0.0" @@ -8819,13 +8541,6 @@ __metadata: languageName: node linkType: hard -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 10/463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e - languageName: node - linkType: hard - "atomic-sleep@npm:^1.0.0": version: 1.0.0 resolution: "atomic-sleep@npm:1.0.0" @@ -9083,22 +8798,6 @@ __metadata: languageName: node linkType: hard -"bluebird-lst@npm:^1.0.9": - version: 1.0.9 - resolution: "bluebird-lst@npm:1.0.9" - dependencies: - bluebird: "npm:^3.5.5" - checksum: 10/9c06c4b2539ac03dca757b25b1381ae6d316bed24103c92e9f37a97cef00fec730240dd730b8bea73eb6a96ee34f2508652b4987ada69e6dca0267fdc7e72da4 - languageName: node - linkType: hard - -"bluebird@npm:^3.5.5": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10/007c7bad22c5d799c8dd49c85b47d012a1fe3045be57447721e6afbd1d5be43237af1db62e26cb9b0d9ba812d2e4ca3bac82f6d7e016b6b88de06ee25ceb96e7 - languageName: node - linkType: hard - "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9, bn.js@npm:^4.12.0": version: 4.12.2 resolution: "bn.js@npm:4.12.2" @@ -9150,13 +8849,6 @@ __metadata: languageName: node linkType: hard -"boolean@npm:^3.0.1": - version: 3.2.0 - resolution: "boolean@npm:3.2.0" - checksum: 10/d28a49dcaeef7fe10cf9fdf488214d3859f07350be8f5caa0c73ec621baf20650e5da6523262e5ce9221909519d4261c16d8430a5bf307fee9ef0e170cdb29f3 - languageName: node - linkType: hard - "boxen@npm:^5.0.0": version: 5.1.2 resolution: "boxen@npm:5.1.2" @@ -9313,20 +9005,6 @@ __metadata: languageName: node linkType: hard -"buffer-crc32@npm:~0.2.3": - version: 0.2.13 - resolution: "buffer-crc32@npm:0.2.13" - checksum: 10/06252347ae6daca3453b94e4b2f1d3754a3b146a111d81c68924c22d91889a40623264e95e67955b1cb4a68cbedf317abeabb5140a9766ed248973096db5ce1c - languageName: node - linkType: hard - -"buffer-equal@npm:^1.0.0": - version: 1.0.1 - resolution: "buffer-equal@npm:1.0.1" - checksum: 10/0d56dbeec3d862b16f07fe1cc27751adab26219ff37b90fb0be1fe5c870ce1ce3ed45aad9d9b8c631dfc0e147315d02385ddefaf7f6cb24f067f91a2f8def324 - languageName: node - linkType: hard - "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -9341,7 +9019,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.1.0, buffer@npm:^5.5.0, buffer@npm:^5.6.0": +"buffer@npm:^5.5.0, buffer@npm:^5.6.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" dependencies: @@ -9378,50 +9056,6 @@ __metadata: languageName: node linkType: hard -"builder-util-runtime@npm:9.2.3": - version: 9.2.3 - resolution: "builder-util-runtime@npm:9.2.3" - dependencies: - debug: "npm:^4.3.4" - sax: "npm:^1.2.4" - checksum: 10/15f9618af1a2224d0ade19fa7dca12f80bc2ceeb4fc89242f2505b44f58d13d3439bb08a5bec865bb0f8e930fa57bd112d9ee9024f22f1654925ffe2bed3925b - languageName: node - linkType: hard - -"builder-util-runtime@npm:9.5.1": - version: 9.5.1 - resolution: "builder-util-runtime@npm:9.5.1" - dependencies: - debug: "npm:^4.3.4" - sax: "npm:^1.2.4" - checksum: 10/65ecde74ae480e7c7983bccb2db3c0a33e18ecf038c7af87acdf533c365e76c5cd922d13a6f7dad99f151ab508a1366bf8944d7b9651254d56a0dadb3c4bec98 - languageName: node - linkType: hard - -"builder-util@npm:24.9.4": - version: 24.9.4 - resolution: "builder-util@npm:24.9.4" - dependencies: - 7zip-bin: "npm:~5.2.0" - "@types/debug": "npm:^4.1.6" - app-builder-bin: "npm:4.0.0" - bluebird-lst: "npm:^1.0.9" - builder-util-runtime: "npm:9.2.3" - chalk: "npm:^4.1.2" - cross-spawn: "npm:^7.0.3" - debug: "npm:^4.3.4" - fs-extra: "npm:^10.1.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.1" - is-ci: "npm:^3.0.0" - js-yaml: "npm:^4.1.0" - source-map-support: "npm:^0.5.19" - stat-mode: "npm:^1.0.0" - temp-file: "npm:^3.4.0" - checksum: 10/df830846d6149491616bdedf8e6829385cb968105762a835bda29eaeaea8f54254f5b14b9a3c4d060d0402d3bf886e48ab2a0c28c4615b4904fc25ad7c68ec90 - languageName: node - linkType: hard - "builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" @@ -9777,13 +9411,6 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10/c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f - languageName: node - linkType: hard - "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -9798,13 +9425,6 @@ __metadata: languageName: node linkType: hard -"chromium-pickle-js@npm:^0.2.0": - version: 0.2.0 - resolution: "chromium-pickle-js@npm:0.2.0" - checksum: 10/4722e78edf21e8e21e14066fce98bce96f2244c82fcb4da5cf2811ccfc66dbb78fc1e0be94b79aed18ba33b8940bb3f3919822151d0b23e12c95574f62f7796f - languageName: node - linkType: hard - "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -9812,13 +9432,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10/75bc67902b4d1c7b435497adeb91598f6d52a3389398e44294f6601b20cfef32cf2176f7be0eb961d9e085bb333a8a5cae121cb22f81cf238ae7f58eb80e9397 - languageName: node - linkType: hard - "ci-info@npm:^4.2.0": version: 4.3.1 resolution: "ci-info@npm:4.3.1" @@ -9909,16 +9522,6 @@ __metadata: languageName: node linkType: hard -"cli-truncate@npm:^2.1.0": - version: 2.1.0 - resolution: "cli-truncate@npm:2.1.0" - dependencies: - slice-ansi: "npm:^3.0.0" - string-width: "npm:^4.2.0" - checksum: 10/976f1887de067a8cd6ec830a7a8508336aebe6cec79b521d98ed13f67ef073b637f7305675b6247dd22f9e9cf045ec55fe746c7bdb288fbe8db0dfdc9fd52e55 - languageName: node - linkType: hard - "cli-width@npm:^3.0.0": version: 3.0.0 resolution: "cli-width@npm:3.0.0" @@ -10098,13 +9701,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^5.0.0": - version: 5.1.0 - resolution: "commander@npm:5.1.0" - checksum: 10/3e2ef5c003c5179250161e42ce6d48e0e69a54af970c65b7f985c70095240c260fd647453efd4c2c5a31b30ce468f373dc70f769c2f54a2c014abc4792aaca28 - languageName: node - linkType: hard - "commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -10159,13 +9755,6 @@ __metadata: languageName: node linkType: hard -"compare-version@npm:^0.1.2": - version: 0.1.2 - resolution: "compare-version@npm:0.1.2" - checksum: 10/0ceaf50b5f912c8eb8eeca19375e617209d200abebd771e9306510166462e6f91ad764f33f210a3058ee27c83f2f001a7a4ca32f509da2d207d0143a3438a020 - languageName: node - linkType: hard - "compress-commons@npm:^6.0.2": version: 6.0.2 resolution: "compress-commons@npm:6.0.2" @@ -10210,26 +9799,6 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^8.2.2": - version: 8.2.2 - resolution: "concurrently@npm:8.2.2" - dependencies: - chalk: "npm:^4.1.2" - date-fns: "npm:^2.30.0" - lodash: "npm:^4.17.21" - rxjs: "npm:^7.8.1" - shell-quote: "npm:^1.8.1" - spawn-command: "npm:0.0.2" - supports-color: "npm:^8.1.1" - tree-kill: "npm:^1.2.2" - yargs: "npm:^17.7.2" - bin: - conc: dist/bin/concurrently.js - concurrently: dist/bin/concurrently.js - checksum: 10/dcb1aa69d9c611a7bda9d4fc0fe1e388f971d1744acec7e0d52dffa2ef55743f1266ec9292f414c5789b9f61734b3fce772bd005d4de9564a949fb121b97bae1 - languageName: node - linkType: hard - "confbox@npm:^0.1.8": version: 0.1.8 resolution: "confbox@npm:0.1.8" @@ -10237,16 +9806,6 @@ __metadata: languageName: node linkType: hard -"config-file-ts@npm:^0.2.4": - version: 0.2.6 - resolution: "config-file-ts@npm:0.2.6" - dependencies: - glob: "npm:^10.3.10" - typescript: "npm:^5.3.3" - checksum: 10/825342ad226109606c701ccd8cb6a874142c0e3369d64ebc7d5a2c3f380ea9008cf20f807634d7943e42c0caa54227381e702f1deed9bb3b8d4a3e3483535117 - languageName: node - linkType: hard - "configstore@npm:^5.0.1": version: 5.0.1 resolution: "configstore@npm:5.0.1" @@ -10351,13 +9910,6 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:1.0.2": - version: 1.0.2 - resolution: "core-util-is@npm:1.0.2" - checksum: 10/d0f7587346b44a1fe6c269267e037dd34b4787191e473c3e685f507229d88561c40eb18872fabfff02977301815d474300b7bfbd15396c13c5377393f7e87ec3 - languageName: node - linkType: hard - "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -10395,15 +9947,6 @@ __metadata: languageName: node linkType: hard -"crc@npm:^3.8.0": - version: 3.8.0 - resolution: "crc@npm:3.8.0" - dependencies: - buffer: "npm:^5.1.0" - checksum: 10/3a43061e692113d60fbaf5e438c5f6aa3374fe2368244a75cc083ecee6762513bcee8583f67c2c56feea0b0c72b41b7304fbd3c1e26cfcfaec310b9a18543fa8 - languageName: node - linkType: hard - "create-ecdh@npm:^4.0.4": version: 4.0.4 resolution: "create-ecdh@npm:4.0.4" @@ -10450,7 +9993,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -10659,15 +10202,6 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.30.0": - version: 2.30.0 - resolution: "date-fns@npm:2.30.0" - dependencies: - "@babel/runtime": "npm:^7.21.0" - checksum: 10/70b3e8ea7aaaaeaa2cd80bd889622a4bcb5d8028b4de9162cbcda359db06e16ff6e9309e54eead5341e71031818497f19aaf9839c87d1aba1e27bb4796e758a9 - languageName: node - linkType: hard - "dateformat@npm:^4.6.3": version: 4.6.3 resolution: "dateformat@npm:4.6.3" @@ -11213,16 +10747,6 @@ __metadata: languageName: node linkType: hard -"dir-compare@npm:^3.0.0": - version: 3.3.0 - resolution: "dir-compare@npm:3.3.0" - dependencies: - buffer-equal: "npm:^1.0.0" - minimatch: "npm:^3.0.4" - checksum: 10/4e4ca87564bd1fe86d5b704842e1ba069b172ae507e0420e5cef68dbbc9c5a42753416be38488587bc2c7944a4b4a580af724a686e9ad79150012d1d02efe769 - languageName: node - linkType: hard - "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -11232,42 +10756,6 @@ __metadata: languageName: node linkType: hard -"dmg-builder@npm:24.10.0": - version: 24.10.0 - resolution: "dmg-builder@npm:24.10.0" - dependencies: - app-builder-lib: "npm:24.10.0" - builder-util: "npm:24.9.4" - builder-util-runtime: "npm:9.2.3" - dmg-license: "npm:^1.0.11" - fs-extra: "npm:^10.1.0" - iconv-lite: "npm:^0.6.2" - js-yaml: "npm:^4.1.0" - dependenciesMeta: - dmg-license: - optional: true - checksum: 10/237d071ed74b38ab817d85685790b1daf3d415377c0842de850226dd1885441ab5107d9a7193e23660b1c17054b6fca85d4d9c28e7efd4944c5b879aa5e0727c - languageName: node - linkType: hard - -"dmg-license@npm:^1.0.11": - version: 1.0.11 - resolution: "dmg-license@npm:1.0.11" - dependencies: - "@types/plist": "npm:^3.0.1" - "@types/verror": "npm:^1.10.3" - ajv: "npm:^6.10.0" - crc: "npm:^3.8.0" - iconv-corefoundation: "npm:^1.1.7" - plist: "npm:^3.0.4" - smart-buffer: "npm:^4.0.2" - verror: "npm:^1.10.0" - bin: - dmg-license: bin/dmg-license.js - conditions: os=darwin - languageName: node - linkType: hard - "dns-packet@npm:^5.2.2, dns-packet@npm:^5.6.1": version: 5.6.1 resolution: "dns-packet@npm:5.6.1" @@ -11416,27 +10904,6 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:^5.1.0": - version: 5.1.0 - resolution: "dotenv-expand@npm:5.1.0" - checksum: 10/d52af2a6e4642979ae4221408f1b75102508dbe4f5bac1c0613f92a3cf3880d5c31f86b2f5cff3273f7c23e10421e75028546e8b6cd0376fcd20e3803b374e15 - languageName: node - linkType: hard - -"dotenv@npm:^8.2.0": - version: 8.6.0 - resolution: "dotenv@npm:8.6.0" - checksum: 10/31d7b5c010cebb80046ba6853d703f9573369b00b15129536494f04b0af4ea0060ce8646e3af58b455af2f6f1237879dd261a5831656410ec92561ae1ea44508 - languageName: node - linkType: hard - -"dotenv@npm:^9.0.2": - version: 9.0.2 - resolution: "dotenv@npm:9.0.2" - checksum: 10/8a31ab90b097907a42932b972228e10470e8f0de9aea58c7f2134582e7810f229a2ce5861af40efeb7751c7bf2aae0c8347d72ba3935b72c834fbbac30f80f08 - languageName: node - linkType: hard - "drbg.js@npm:^1.0.1": version: 1.0.1 resolution: "drbg.js@npm:1.0.1" @@ -11508,7 +10975,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.5, ejs@npm:^3.1.8": +"ejs@npm:^3.1.5": version: 3.1.10 resolution: "ejs@npm:3.1.10" dependencies: @@ -11519,74 +10986,6 @@ __metadata: languageName: node linkType: hard -"electron-builder-notarize@npm:^1.5.1": - version: 1.5.2 - resolution: "electron-builder-notarize@npm:1.5.2" - dependencies: - dotenv: "npm:^8.2.0" - electron-notarize: "npm:^1.1.1" - js-yaml: "npm:^3.14.0" - read-pkg-up: "npm:^7.0.0" - peerDependencies: - electron-builder: ">= 20.44.4" - checksum: 10/729377aa72e6462b8e46eb077a2932c97db2408a55ade7b06d8ddce6bd067246d83b9a73b4534758f4a3ef31158dcd74e56aa4f4ea2e11df6ecd6fd51573e060 - languageName: node - linkType: hard - -"electron-builder@npm:24.10.0": - version: 24.10.0 - resolution: "electron-builder@npm:24.10.0" - dependencies: - app-builder-lib: "npm:24.10.0" - builder-util: "npm:24.9.4" - builder-util-runtime: "npm:9.2.3" - chalk: "npm:^4.1.2" - dmg-builder: "npm:24.10.0" - fs-extra: "npm:^10.1.0" - is-ci: "npm:^3.0.0" - lazy-val: "npm:^1.0.5" - read-config-file: "npm:6.3.2" - simple-update-notifier: "npm:2.0.0" - yargs: "npm:^17.6.2" - bin: - electron-builder: cli.js - install-app-deps: install-app-deps.js - checksum: 10/0773bcafdcfa00f70d441f0a9cff1de8b6b87a8ad65285b6bcf4f2a9f6cc17640759b2b4bff408bf3bfbe15b00598de020a87f2cc7fe84b2338e7427dfd9a24f - languageName: node - linkType: hard - -"electron-log@npm:^5.0.1": - version: 5.4.3 - resolution: "electron-log@npm:5.4.3" - checksum: 10/0162345d56c644378f23339e586e9046a0d646be0436c624b51f4bf560b376bc7eb9569b1ea3af04085fafd662af6f559ac5d4616a26910de192996ffb74948d - languageName: node - linkType: hard - -"electron-notarize@npm:^1.1.1": - version: 1.2.2 - resolution: "electron-notarize@npm:1.2.2" - dependencies: - debug: "npm:^4.1.1" - fs-extra: "npm:^9.0.1" - checksum: 10/c66b175b6f584d7bfc67a83eb56c2f4ec0264aab0f693d0a0b4cc2d825b05ada8d119bec4a2ac0fcc1add93dca3282a57bc3dbeb805b0c546e013149905efc40 - languageName: node - linkType: hard - -"electron-publish@npm:24.9.4": - version: 24.9.4 - resolution: "electron-publish@npm:24.9.4" - dependencies: - "@types/fs-extra": "npm:^9.0.11" - builder-util: "npm:24.9.4" - builder-util-runtime: "npm:9.2.3" - chalk: "npm:^4.1.2" - fs-extra: "npm:^10.1.0" - lazy-val: "npm:^1.0.5" - mime: "npm:^2.5.2" - checksum: 10/c4e9397b5ef070dbede48fece9d36d3dcaec7df1052f49744df790ff9793da24d52c22d949067dd7a5cbf9f5f06cd2243c221ec5bfdab3080b4c37f5b39a0473 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.5.263": version: 1.5.267 resolution: "electron-to-chromium@npm:1.5.267" @@ -11594,35 +10993,6 @@ __metadata: languageName: node linkType: hard -"electron-updater@npm:^6.1.7": - version: 6.8.0 - resolution: "electron-updater@npm:6.8.0" - dependencies: - builder-util-runtime: "npm:9.5.1" - fs-extra: "npm:^10.1.0" - js-yaml: "npm:^4.1.0" - lazy-val: "npm:^1.0.5" - lodash.escaperegexp: "npm:^4.1.2" - lodash.isequal: "npm:^4.5.0" - semver: "npm:~7.7.3" - tiny-typed-emitter: "npm:^2.1.0" - checksum: 10/a3542eedeef487901732a59f9eae4910403a8d797acb193ffb91ac700724347fb80352c1ff2cf515a0c9395dff7a67d3920177039e42e0abf099de0ef17fcd3b - languageName: node - linkType: hard - -"electron@npm:28.0.0": - version: 28.0.0 - resolution: "electron@npm:28.0.0" - dependencies: - "@electron/get": "npm:^2.0.0" - "@types/node": "npm:^18.11.18" - extract-zip: "npm:^2.0.1" - bin: - electron: cli.js - checksum: 10/964b765576343d4ed935608964808471ef68253a1aca711f0587322c356dab335cf2ab76c2c710b8a59b3bc6c3c0f10eff6f2fbab34614a7d813a0100b8ec7eb - languageName: node - linkType: hard - "elliptic@npm:^6.5.3, elliptic@npm:^6.5.4, elliptic@npm:^6.5.7, elliptic@npm:^6.6.1": version: 6.6.1 resolution: "elliptic@npm:6.6.1" @@ -11952,13 +11322,6 @@ __metadata: languageName: node linkType: hard -"es6-error@npm:^4.1.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: 10/48483c25701dc5a6376f39bbe2eaf5da0b505607ec5a98cd3ade472c1939242156660636e2e508b33211e48e88b132d245341595c067bd4a95ac79fa7134da06 - languageName: node - linkType: hard - "es6-iterator@npm:^2.0.3": version: 2.0.3 resolution: "es6-iterator@npm:2.0.3" @@ -12785,30 +12148,6 @@ __metadata: languageName: node linkType: hard -"extract-zip@npm:^2.0.1": - version: 2.0.1 - resolution: "extract-zip@npm:2.0.1" - dependencies: - "@types/yauzl": "npm:^2.9.1" - debug: "npm:^4.1.1" - get-stream: "npm:^5.1.0" - yauzl: "npm:^2.10.0" - dependenciesMeta: - "@types/yauzl": - optional: true - bin: - extract-zip: cli.js - checksum: 10/8cbda9debdd6d6980819cc69734d874ddd71051c9fe5bde1ef307ebcedfe949ba57b004894b585f758b7c9eeeea0e3d87f2dda89b7d25320459c2c9643ebb635 - languageName: node - linkType: hard - -"extsprintf@npm:^1.2.0": - version: 1.4.1 - resolution: "extsprintf@npm:1.4.1" - checksum: 10/bfd6d55f3c0c04d826fe0213264b383c03f32825af6b1ff777f3f2dc49467e599361993568d75b7b19a8ea1bb08c8e7cd8c3d87d179ced91bb0dcf81ca6938e0 - languageName: node - linkType: hard - "fast-copy@npm:^4.0.0": version: 4.0.2 resolution: "fast-copy@npm:4.0.2" @@ -12903,15 +12242,6 @@ __metadata: languageName: node linkType: hard -"fd-slicer@npm:~1.1.0": - version: 1.1.0 - resolution: "fd-slicer@npm:1.1.0" - dependencies: - pend: "npm:~1.2.0" - checksum: 10/db3e34fa483b5873b73f248e818f8a8b59a6427fd8b1436cd439c195fdf11e8659419404826059a642b57d18075c856d06d6a50a1413b714f12f833a9341ead3 - languageName: node - linkType: hard - "fdir@npm:^6.5.0": version: 6.5.0 resolution: "fdir@npm:6.5.0" @@ -13225,17 +12555,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10/05ce2c3b59049bcb7b52001acd000e44b3c4af4ec1f8839f383ef41ec0048e3cfa7fd8a637b1bddfefad319145db89be91f4b7c1db2908205d38bf91e7d1d3b7 - languageName: node - linkType: hard - "fs-extra@npm:^11.1.1": version: 11.3.3 resolution: "fs-extra@npm:11.3.3" @@ -13247,38 +12566,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10/6fb12449f5349be724a138b4a7b45fe6a317d2972054517f5971959c26fbd17c0e145731a11c7324460262baa33e0a799b183ceace98f7a372c95fbb6f20f5de - languageName: node - linkType: hard - -"fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: "npm:^1.0.0" - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10/08600da1b49552ed23dfac598c8fc909c66776dd130fea54fbcad22e330f7fcc13488bb995f6bc9ce5651aa35b65702faf616fe76370ee56f1aade55da982dca - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10/03191781e94bc9a54bd376d3146f90fe8e082627c502185dbf7b9b3032f66b0b142c1115f3b2cc5936575fc1b44845ce903dd4c21bec2a8d69f3bd56f9cee9ec - languageName: node - linkType: hard - "fs-minipass@npm:^3.0.0": version: 3.0.3 resolution: "fs-minipass@npm:3.0.3" @@ -13621,7 +12908,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.0.0, glob@npm:^10.3.10": +"glob@npm:^10.0.0": version: 10.5.0 resolution: "glob@npm:10.5.0" dependencies: @@ -13688,20 +12975,6 @@ __metadata: languageName: node linkType: hard -"global-agent@npm:^3.0.0": - version: 3.0.0 - resolution: "global-agent@npm:3.0.0" - dependencies: - boolean: "npm:^3.0.1" - es6-error: "npm:^4.1.1" - matcher: "npm:^3.0.0" - roarr: "npm:^2.15.3" - semver: "npm:^7.3.2" - serialize-error: "npm:^7.0.1" - checksum: 10/a26d96d1d79af57a8ef957f66cef6f3889a8fa55131f0bbd72b8e1bc340a9b7ed7b627b96eaf5eb14aee08a8b4ad44395090e2cf77146e993f1d2df7abaa0a0d - languageName: node - linkType: hard - "global-dirs@npm:^3.0.0": version: 3.0.1 resolution: "global-dirs@npm:3.0.1" @@ -13720,7 +12993,7 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.1, globalthis@npm:^1.0.4": +"globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" dependencies: @@ -13775,7 +13048,7 @@ __metadata: languageName: node linkType: hard -"got@npm:^11.5.1, got@npm:^11.8.5": +"got@npm:^11.5.1": version: 11.8.6 resolution: "got@npm:11.8.6" dependencies: @@ -14157,15 +13430,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^4.1.0": - version: 4.1.0 - resolution: "hosted-git-info@npm:4.1.0" - dependencies: - lru-cache: "npm:^6.0.0" - checksum: 10/4dc67022b7ecb12829966bd731fb9a5f14d351547aafc6520ef3c8e7211f4f0e69452d24e29eae3d9b17df924d660052e53d8ca321cf3008418fb7e6c7c47d6f - languageName: node - linkType: hard - "hpack.js@npm:^2.1.6": version: 2.1.6 resolution: "hpack.js@npm:2.1.6" @@ -14313,17 +13577,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" - dependencies: - "@tootallnate/once": "npm:2" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10/5ee19423bc3e0fd5f23ce991b0755699ad2a46a440ce9cec99e8126bb98448ad3479d2c0ea54be5519db5b19a4ffaa69616bac01540db18506dd4dac3dc418f0 - languageName: node - linkType: hard - "http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" @@ -14380,16 +13633,6 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.1": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10/f0dce7bdcac5e8eaa0be3c7368bb8836ed010fb5b6349ffb412b172a203efe8f807d9a6681319105ea1b6901e1972c7b5ea899672a7b9aad58309f766dcbe0df - languageName: node - linkType: hard - "https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" @@ -14475,16 +13718,6 @@ __metadata: languageName: node linkType: hard -"iconv-corefoundation@npm:^1.1.7": - version: 1.1.7 - resolution: "iconv-corefoundation@npm:1.1.7" - dependencies: - cli-truncate: "npm:^2.1.0" - node-addon-api: "npm:^1.6.3" - conditions: os=darwin - languageName: node - linkType: hard - "iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -14828,17 +14061,6 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:^3.0.0": - version: 3.0.1 - resolution: "is-ci@npm:3.0.1" - dependencies: - ci-info: "npm:^3.2.0" - bin: - is-ci: bin.js - checksum: 10/192c66dc7826d58f803ecae624860dccf1899fc1f3ac5505284c0a5cf5f889046ffeb958fa651e5725d5705c5bcb14f055b79150ea5fcad7456a9569de60260e - languageName: node - linkType: hard - "is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.1": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" @@ -15303,20 +14525,6 @@ __metadata: languageName: node linkType: hard -"isbinaryfile@npm:^4.0.8": - version: 4.0.10 - resolution: "isbinaryfile@npm:4.0.10" - checksum: 10/7f9dbf3e992a020cd3e6845ba49b47de93cda19edadf338bbf82f1453d7a14a73c390ea7f18a1940f09324089e470cce9ea001bd544aea52df641a658ed51c54 - languageName: node - linkType: hard - -"isbinaryfile@npm:^5.0.0": - version: 5.0.7 - resolution: "isbinaryfile@npm:5.0.7" - checksum: 10/af240b2a80db5cffbb3ddcb4d89403802d6b67d21b63fbcc0be5cefcefc013f499477c5837a5b2f029ba3d163543eab36eaee7cd701f2c44ee5ac890f0fadac5 - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -15528,18 +14736,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.14.0": - version: 3.14.2 - resolution: "js-yaml@npm:3.14.2" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10/172e0b6007b0bf0fc8d2469c94424f7dd765c64a047d2b790831fecef2204a4054eabf4d911eb73ab8c9a3256ab8ba1ee8d655b789bf24bf059c772acc2075a1 - languageName: node - linkType: hard - "js-yaml@npm:^4.1.0": version: 4.1.1 resolution: "js-yaml@npm:4.1.1" @@ -15645,7 +14841,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.0, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -15654,18 +14850,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.6" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10/17796f0ab1be8479827d3683433f97ebe0a1c6932c3360fa40348eac36904d69269aab26f8b16da311882d94b42e9208e8b28e490bf926364f3ac9bff134c226 - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.2.0 resolution: "jsonfile@npm:6.2.0" @@ -15757,13 +14941,6 @@ __metadata: languageName: node linkType: hard -"lazy-val@npm:^1.0.4, lazy-val@npm:^1.0.5": - version: 1.0.5 - resolution: "lazy-val@npm:1.0.5" - checksum: 10/31e12e0b118826dfae74f8f3ff8ebcddfe4200ff88d0d448db175c7265ee537e0ba55488d411728246337f3ed3c9ec68416f10889f632a2ce28fb7a970909fb5 - languageName: node - linkType: hard - "lazystream@npm:^1.0.0": version: 1.0.1 resolution: "lazystream@npm:1.0.1" @@ -15862,20 +15039,6 @@ __metadata: languageName: node linkType: hard -"lodash.escaperegexp@npm:^4.1.2": - version: 4.1.2 - resolution: "lodash.escaperegexp@npm:4.1.2" - checksum: 10/6d99452b1cfd6073175a9b741a9b09ece159eac463f86f02ea3bee2e2092923fce812c8d2bf446309cc52d1d61bf9af51c8118b0d7421388e6cead7bd3798f0f - languageName: node - linkType: hard - -"lodash.isequal@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.isequal@npm:4.5.0" - checksum: 10/82fc58a83a1555f8df34ca9a2cd300995ff94018ac12cc47c349655f0ae1d4d92ba346db4c19bbfc90510764e0c00ddcc985a358bdcd4b3b965abf8f2a48a214 - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -15971,15 +15134,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10/fc1fe2ee205f7c8855fa0f34c1ab0bcf14b6229e35579ec1fd1079f31d6fc8ef8eb6fd17f2f4d99788d7e339f50e047555551ebd5e434dda503696e7c6591825 - languageName: node - linkType: hard - "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -16095,15 +15249,6 @@ __metadata: languageName: node linkType: hard -"matcher@npm:^3.0.0": - version: 3.0.0 - resolution: "matcher@npm:3.0.0" - dependencies: - escape-string-regexp: "npm:^4.0.0" - checksum: 10/8bee1a7ab7609c2c21d9c9254b6785fa708eadf289032b556d57a34e98fcd4c537659a004dafee6ce80ab157099e645c199dc52678dff1e7fb0a6684e0da4dbe - languageName: node - linkType: hard - "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -16610,15 +15755,6 @@ __metadata: languageName: node linkType: hard -"mime@npm:^2.5.2": - version: 2.6.0 - resolution: "mime@npm:2.6.0" - bin: - mime: cli.js - checksum: 10/7da117808b5cd0203bb1b5e33445c330fe213f4d8ee2402a84d62adbde9716ca4fb90dd6d9ab4e77a4128c6c5c24a9c4c9f6a4d720b095b1b342132d02dba58d - languageName: node - linkType: hard - "mime@npm:^3.0.0": version: 3.0.0 resolution: "mime@npm:3.0.0" @@ -16682,7 +15818,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:2 || 3, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -16709,7 +15845,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0, minimatch@npm:^5.1.1": +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": version: 5.1.6 resolution: "minimatch@npm:5.1.6" dependencies: @@ -16805,13 +15941,6 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10/61682162d29f45d3152b78b08bab7fb32ca10899bc5991ffe98afc18c9e9543bd1e3be94f8b8373ba6262497db63607079dc242ea62e43e7b2270837b7347c93 - languageName: node - linkType: hard - "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": version: 7.1.2 resolution: "minipass@npm:7.1.2" @@ -16819,16 +15948,6 @@ __metadata: languageName: node linkType: hard -"minizlib@npm:^2.1.1": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10/ae0f45436fb51344dcb87938446a32fbebb540d0e191d63b35e1c773d47512e17307bf54aa88326cc6d176594d00e4423563a091f7266c2f9a6872cdc1e234d1 - languageName: node - linkType: hard - "minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": version: 3.1.0 resolution: "minizlib@npm:3.1.0" @@ -16856,7 +15975,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -17186,15 +16305,6 @@ __metadata: languageName: node linkType: hard -"node-addon-api@npm:^1.6.3": - version: 1.7.2 - resolution: "node-addon-api@npm:1.7.2" - dependencies: - node-gyp: "npm:latest" - checksum: 10/6bf8217a8cd8148f4bbfd319b46d33587e9fb2e63e3c856ded67a76715167f7a6b17e1d9b8bbf3b8508befeb6a4adb10d92b8998ed5c19ca8448343f4cea11d6 - languageName: node - linkType: hard - "node-addon-api@npm:^3.0.2": version: 3.2.1 resolution: "node-addon-api@npm:3.2.1" @@ -17946,13 +17056,6 @@ __metadata: languageName: node linkType: hard -"pend@npm:~1.2.0": - version: 1.2.0 - resolution: "pend@npm:1.2.0" - checksum: 10/6c72f5243303d9c60bd98e6446ba7d30ae29e3d56fdb6fae8767e8ba6386f33ee284c97efe3230a0d0217e2b1723b8ab490b1bbf34fcbb2180dbc8a9de47850d - languageName: node - linkType: hard - "perf-regexes@npm:^1.0.1": version: 1.0.1 resolution: "perf-regexes@npm:1.0.1" @@ -17976,12 +17079,8 @@ __metadata: "@types/react-dom": "npm:^18.2.18" "@types/react-router-dom": "npm:^5.3.3" "@types/store": "npm:^2.0.5" - concurrently: "npm:^8.2.2" devtron: "npm:^1.4.0" dnslink-cloudflare: "npm:^3.0.0" - electron: "npm:28.0.0" - electron-builder: "npm:24.10.0" - electron-builder-notarize: "npm:^1.5.1" extensionless: "npm:^1.9.6" i18next-scanner: "npm:^4.4.0" react: "npm:^18.2.0" @@ -18108,17 +17207,6 @@ __metadata: languageName: node linkType: hard -"plist@npm:^3.0.4, plist@npm:^3.0.5": - version: 3.1.0 - resolution: "plist@npm:3.1.0" - dependencies: - "@xmldom/xmldom": "npm:^0.8.8" - base64-js: "npm:^1.5.1" - xmlbuilder: "npm:^15.1.1" - checksum: 10/f513beecc01a021b4913d4e5816894580b284335ae437e7ed2d5e78f8b6f0d2e0f874ec57bab9c9d424cc49e77b8347efa75abcfa8ac138dbfb63a045e1ce559 - languageName: node - linkType: hard - "pluralize@npm:^8.0.0": version: 8.0.0 resolution: "pluralize@npm:8.0.0" @@ -18469,13 +17557,6 @@ __metadata: languageName: node linkType: hard -"progress@npm:^2.0.3": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: 10/e6f0bcb71f716eee9dfac0fe8a2606e3704d6a64dd93baaf49fbadbc8499989a610fe14cf1bc6f61b6d6653c49408d94f4a94e124538084efd8e4cf525e0293d - languageName: node - linkType: hard - "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -18973,21 +18054,7 @@ __metadata: languageName: node linkType: hard -"read-config-file@npm:6.3.2": - version: 6.3.2 - resolution: "read-config-file@npm:6.3.2" - dependencies: - config-file-ts: "npm:^0.2.4" - dotenv: "npm:^9.0.2" - dotenv-expand: "npm:^5.1.0" - js-yaml: "npm:^4.1.0" - json5: "npm:^2.2.0" - lazy-val: "npm:^1.0.4" - checksum: 10/c3a6444105fc1736d6fa15979d1d18e9f0a1165bf3966f1751af676d153f92df9fc7c07158162b62d222919e561e135bdd6155c6fff79f1ed8b78a5a394a579b - languageName: node - linkType: hard - -"read-pkg-up@npm:^7.0.0, read-pkg-up@npm:^7.0.1": +"read-pkg-up@npm:^7.0.1": version: 7.0.1 resolution: "read-pkg-up@npm:7.0.1" dependencies: @@ -19501,20 +18568,6 @@ __metadata: languageName: node linkType: hard -"roarr@npm:^2.15.3": - version: 2.15.4 - resolution: "roarr@npm:2.15.4" - dependencies: - boolean: "npm:^3.0.1" - detect-node: "npm:^2.0.4" - globalthis: "npm:^1.0.1" - json-stringify-safe: "npm:^5.0.1" - semver-compare: "npm:^1.0.0" - sprintf-js: "npm:^1.1.2" - checksum: 10/baaa5ad91468bf1b7f0263c4132a40865c8638a3d0916b44dd0d42980a77fb53085a3792e3edf16fc4eea9e31c719793c88bd45b1623b760763c4dc59df97619 - languageName: node - linkType: hard - "rollup-plugin-cleanup@npm:^3.2.1": version: 3.2.1 resolution: "rollup-plugin-cleanup@npm:3.2.1" @@ -19736,15 +18789,6 @@ __metadata: languageName: node linkType: hard -"sanitize-filename@npm:^1.6.3": - version: 1.6.3 - resolution: "sanitize-filename@npm:1.6.3" - dependencies: - truncate-utf8-bytes: "npm:^1.0.0" - checksum: 10/1c162e2cffa797571221c3ed9fe796fa8c6eabb0812418b52a839e4fc63ab130093eb546ec39e1b94b8d3511c0d7de81db3e67906a7e76d7a7bcb6fbab4ed961 - languageName: node - linkType: hard - "sass-lookup@npm:^3.0.0": version: 3.0.0 resolution: "sass-lookup@npm:3.0.0" @@ -19756,13 +18800,6 @@ __metadata: languageName: node linkType: hard -"sax@npm:^1.2.4": - version: 1.4.4 - resolution: "sax@npm:1.4.4" - checksum: 10/00ff7b258baa37d98f8abfa0b5c8b3ee739ca37e9b6ecb83405be9e6e5b0b2856394a5eff142db1d987d589b54b139d4236f25830c1e17a2b640efa53c8fda72 - languageName: node - linkType: hard - "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -19879,13 +18916,6 @@ __metadata: languageName: node linkType: hard -"semver-compare@npm:^1.0.0": - version: 1.0.0 - resolution: "semver-compare@npm:1.0.0" - checksum: 10/75f9c7a7786d1756f64b1429017746721e07bd7691bdad6368f7643885d3a98a27586777e9699456564f4844b407e9f186cc1d588a3f9c0be71310e517e942c3 - languageName: node - linkType: hard - "semver-diff@npm:^3.1.1": version: 3.1.1 resolution: "semver-diff@npm:3.1.1" @@ -19904,7 +18934,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.7.3, semver@npm:^7.0.0, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:~7.7.3": +"semver@npm:7.7.3, semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.1": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -19943,15 +18973,6 @@ __metadata: languageName: node linkType: hard -"serialize-error@npm:^7.0.1": - version: 7.0.1 - resolution: "serialize-error@npm:7.0.1" - dependencies: - type-fest: "npm:^0.13.1" - checksum: 10/e0aba4dca2fc9fe74ae1baf38dbd99190e1945445a241ba646290f2176cdb2032281a76443b02ccf0caf30da5657d510746506368889a593b9835a497fc0732e - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.2": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" @@ -20091,7 +19112,7 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.8.1, shell-quote@npm:^1.8.3": +"shell-quote@npm:^1.8.3": version: 1.8.3 resolution: "shell-quote@npm:1.8.3" checksum: 10/5473e354637c2bd698911224129c9a8961697486cff1fb221f234d71c153fc377674029b0223d1d3c953a68d451d79366abfe53d1a0b46ee1f28eb9ade928f4c @@ -20191,15 +19212,6 @@ __metadata: languageName: node linkType: hard -"simple-update-notifier@npm:2.0.0": - version: 2.0.0 - resolution: "simple-update-notifier@npm:2.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 10/40bd4f96aa89aedbf717ae9f4ab8fca70e8f7511e8b766feb15471cca3f6fe4fe673743309b08b4ba8abfe0965c9cd927e1de46550a757b819b70fc7430cc85d - languageName: node - linkType: hard - "skip-regex@npm:^1.0.2": version: 1.0.2 resolution: "skip-regex@npm:1.0.2" @@ -20221,18 +19233,7 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^3.0.0": - version: 3.0.0 - resolution: "slice-ansi@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - astral-regex: "npm:^2.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - checksum: 10/5ec6d022d12e016347e9e3e98a7eb2a592213a43a65f1b61b74d2c78288da0aded781f665807a9f3876b9daa9ad94f64f77d7633a0458876c3a4fdc4eb223f24 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.0.2, smart-buffer@npm:^4.2.0": +"smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" checksum: 10/927484aa0b1640fd9473cee3e0a0bcad6fce93fd7bbc18bac9ad0c33686f5d2e2c422fba24b5899c184524af01e11dd2bd051c2bf2b07e47aff8ca72cbfc60d2 @@ -20353,7 +19354,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.19, source-map-support@npm:~0.5.20": +"source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -20407,13 +19408,6 @@ __metadata: languageName: node linkType: hard -"spawn-command@npm:0.0.2": - version: 0.0.2 - resolution: "spawn-command@npm:0.0.2" - checksum: 10/f13e8c3c63abd4a0b52fb567eba5f7940d480c5ed3ec61781d38a1850f179b1196c39e6efa2bbd301f82c1bf1cd7807abc8fbd8fc8e44bcaa3975a124c0d1657 - languageName: node - linkType: hard - "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -20503,20 +19497,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.2": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10/e7587128c423f7e43cc625fe2f87e6affdf5ca51c1cc468e910d8aaca46bb44a7fbcfa552f787b1d3987f7043aeb4527d1b99559e6621e01b42b3f45e5a24cbb - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10/c34828732ab8509c2741e5fd1af6b767c3daf2c642f267788f933a65b1614943c282e74c4284f4fa749c264b18ee016a0d37a3e5b73aee446da46277d3a85daa - languageName: node - linkType: hard - "ssh-remote-port-forward@npm:^1.0.4": version: 1.0.4 resolution: "ssh-remote-port-forward@npm:1.0.4" @@ -20569,13 +19549,6 @@ __metadata: languageName: node linkType: hard -"stat-mode@npm:^1.0.0": - version: 1.0.0 - resolution: "stat-mode@npm:1.0.0" - checksum: 10/a7eac989332f4d057997225af77be14428789821bfbcadd9bdd67e40c73b9d0f9e0fead7171a0e4a8c4366564adcf1d463b16e71c68af8694af3d3ee1b5f88ed - languageName: node - linkType: hard - "statuses@npm:>= 1.4.0 < 2": version: 1.5.0 resolution: "statuses@npm:1.5.0" @@ -20958,15 +19931,6 @@ __metadata: languageName: node linkType: hard -"sumchecker@npm:^3.0.1": - version: 3.0.1 - resolution: "sumchecker@npm:3.0.1" - dependencies: - debug: "npm:^4.1.0" - checksum: 10/5c69776ce2b53040c952cfbca0f7b487b1ee993c55b6d5523f674ec075f30e031fd84b6706dc8ccc4deb9761b58f9925be8806a316e5eedff2286bb48cb75044 - languageName: node - linkType: hard - "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -20985,7 +19949,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": +"supports-color@npm:^8.0.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -21068,20 +20032,6 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.12": - version: 6.2.1 - resolution: "tar@npm:6.2.1" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10/bfbfbb2861888077fc1130b84029cdc2721efb93d1d1fb80f22a7ac3a98ec6f8972f29e564103bbebf5e97be67ebc356d37fa48dbc4960600a1eb7230fbd1ea0 - languageName: node - linkType: hard - "tar@npm:^7.5.2": version: 7.5.3 resolution: "tar@npm:7.5.3" @@ -21104,16 +20054,6 @@ __metadata: languageName: node linkType: hard -"temp-file@npm:^3.4.0": - version: 3.4.0 - resolution: "temp-file@npm:3.4.0" - dependencies: - async-exit-hook: "npm:^2.0.1" - fs-extra: "npm:^10.0.0" - checksum: 10/5b7132ff488e91ae928c3e81b25e308d8fc590c08a08fb37b0f1c1e8d186e65d69472abd1af1ea11e1162db2a2e6a7970214c827c92c7c6cebbc91bb7678b037 - languageName: node - linkType: hard - "temp@npm:^0.9.4": version: 0.9.4 resolution: "temp@npm:0.9.4" @@ -21266,13 +20206,6 @@ __metadata: languageName: node linkType: hard -"tiny-typed-emitter@npm:^2.1.0": - version: 2.1.0 - resolution: "tiny-typed-emitter@npm:2.1.0" - checksum: 10/709bca410054e08df4dc29d5ea0916328bb2900d60245c6a743068ea223887d9fd2c945b6070eb20336275a557a36c2808e5c87d2ed4b60633458632be4a3e10 - languageName: node - linkType: hard - "tinyexec@npm:^0.3.2": version: 0.3.2 resolution: "tinyexec@npm:0.3.2" @@ -21308,16 +20241,7 @@ __metadata: languageName: node linkType: hard -"tmp-promise@npm:^3.0.2": - version: 3.0.3 - resolution: "tmp-promise@npm:3.0.3" - dependencies: - tmp: "npm:^0.2.0" - checksum: 10/0ca65b4f233b1d2b01e17a7a62961d32923e4b27383a370bf4d8d52f1062d79c3250e6b6b706ec390e73c9c58c13dc130b3855eedc89c86c7d90beb28b8382e5 - languageName: node - linkType: hard - -"tmp@npm:^0.2.0, tmp@npm:^0.2.1, tmp@npm:^0.2.3": +"tmp@npm:^0.2.3": version: 0.2.5 resolution: "tmp@npm:0.2.5" checksum: 10/dd4b78b32385eab4899d3ae296007b34482b035b6d73e1201c4a9aede40860e90997a1452c65a2d21aee73d53e93cd167d741c3db4015d90e63b6d568a93d7ec @@ -21441,15 +20365,6 @@ __metadata: languageName: node linkType: hard -"truncate-utf8-bytes@npm:^1.0.0": - version: 1.0.2 - resolution: "truncate-utf8-bytes@npm:1.0.2" - dependencies: - utf8-byte-length: "npm:^1.0.1" - checksum: 10/366e47a0e22cc271d37eb4e62820453fb877784b55b37218842758b7aa1d402eedd0f8833cfb5d6f7a6cae1535d84289bd5e32c4ee962d2a86962fb7038a6983 - languageName: node - linkType: hard - "ts-api-utils@npm:^1.0.1": version: 1.4.3 resolution: "ts-api-utils@npm:1.4.3" @@ -21942,13 +20857,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 10/40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff - languageName: node - linkType: hard - "universalify@npm:^0.2.0": version: 0.2.0 resolution: "universalify@npm:0.2.0" @@ -22132,13 +21040,6 @@ __metadata: languageName: node linkType: hard -"utf8-byte-length@npm:^1.0.1": - version: 1.0.5 - resolution: "utf8-byte-length@npm:1.0.5" - checksum: 10/168edff8f7baca974b5bfb5256cebd57deaef8fbf2d0390301dd1009da52de64774d62f088254c94021e372147b6c938aa82f2318a3a19f9ebd21e48b7f40029 - languageName: node - linkType: hard - "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -22247,17 +21148,6 @@ __metadata: languageName: node linkType: hard -"verror@npm:^1.10.0": - version: 1.10.1 - resolution: "verror@npm:1.10.1" - dependencies: - assert-plus: "npm:^1.0.0" - core-util-is: "npm:1.0.2" - extsprintf: "npm:^1.2.0" - checksum: 10/2b24eb830ecee7be69ab84192946074d7e8a85a42b0784d9874a28f52616065953ab4297975c87045879505fe9a6ac38dedad29a7470bbe0324540e5b6e92f62 - languageName: node - linkType: hard - "vfile-location@npm:^5.0.0": version: 5.0.3 resolution: "vfile-location@npm:5.0.3" @@ -23149,13 +22039,6 @@ __metadata: languageName: node linkType: hard -"xmlbuilder@npm:>=11.0.1, xmlbuilder@npm:^15.1.1": - version: 15.1.1 - resolution: "xmlbuilder@npm:15.1.1" - checksum: 10/e6f4bab2504afdd5f80491bda948894d2146756532521dbe7db33ae0931cd3000e3b4da19b3f5b3f51bedbd9ee06582144d28136d68bd1df96579ecf4d4404a2 - languageName: node - linkType: hard - "xmlchars@npm:^2.2.0": version: 2.2.0 resolution: "xmlchars@npm:2.2.0" @@ -23255,7 +22138,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.6.2, yargs@npm:^17.7.2": +"yargs@npm:^17.0.0, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -23270,16 +22153,6 @@ __metadata: languageName: node linkType: hard -"yauzl@npm:^2.10.0": - version: 2.10.0 - resolution: "yauzl@npm:2.10.0" - dependencies: - buffer-crc32: "npm:~0.2.3" - fd-slicer: "npm:~1.1.0" - checksum: 10/1e4c311050dc0cf2ee3dbe8854fe0a6cde50e420b3e561a8d97042526b4cf7a0718d6c8d89e9e526a152f4a9cec55bcea9c3617264115f48bd6704cf12a04445 - languageName: node - linkType: hard - "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0"