From 366ab6d8f19f0bec40106cd42f1853eec2e5a061 Mon Sep 17 00:00:00 2001 From: "Baruch Odem (Rothkoff)" Date: Tue, 17 Sep 2024 21:33:01 +0300 Subject: [PATCH] Testing the CI/CD process on the master branch on my fork (#582) - [x] Changed the `package.json` `repository` to `baruchiro`. Need to revert before merge. - [x] Need to check with Google Credentials because they are not configured in my repo. - [ ] When using the default config, on Mac, the file exporters get "readonly filesystem". The problem is they are not failed but running forever. **I can live with that** - [ ] run prettier --write on the target branch **some day, in dedicated commit and PR** - I removed the `CHANGELOG` file and the updated version from the `package.json` as suggested [here](https://semantic-release.gitbook.io/semantic-release/support/faq#making-commits-during-the-release-process-adds-significant-complexity) - We can continue with the failing pipelines, and not mark them as required. I commented out the OS matrix for tests to run only on Linux to save machine time. #### Tested Platforms Test this version: https://github.com/baruchiro/caspion/releases/tag/v1.33.4 - [x] Mac (Apple Silicon): Tested by @baruchiro - [x] CSV: @baruchiro - [x] Excel: @baruchiro - [ ] YNAB - [x] Google Sheets: @baruchiro - [ ] Mac (Intel Silicon) - [ ] CSV - [ ] Excel - [ ] YNAB - [ ] Google Sheets - [ ] Windows - [ ] CSV - [ ] Excel - [ ] YNAB - [ ] Google Sheets - [ ] Linux - [ ] CSV - [ ] Excel - [ ] YNAB - [ ] Google Sheets --- .env | 10 +- .github/workflows/build.yml | 31 +++ .github/workflows/ci.yml | 49 ---- .github/workflows/lint.yml | 6 +- .github/workflows/pr-title.yml | 40 +++ .github/workflows/release.yml | 87 ++++-- .github/workflows/tests.yml | 11 +- .github/workflows/typechecking.yml | 5 +- .vscode/launch.json | 2 +- README.md | 4 +- electron-builder.yml | 4 + package.json | 6 +- .../electronGoogleOAuth2Connector.ts | 10 +- packages/main/src/handlers/updater.ts | 4 +- packages/main/tsconfig.json | 2 +- packages/preload/tsconfig.json | 2 +- packages/renderer/.eslintrc.json | 7 +- .../components/topBar/ReportProblemModal.tsx | 1 + packages/renderer/src/store/ConfigStore.tsx | 1 - packages/renderer/src/store/Store.tsx | 4 +- release.config.js | 18 ++ tests/README.md | 26 ++ yarn.lock | 254 +++++++++++++----- 23 files changed, 417 insertions(+), 167 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/pr-title.yml create mode 100644 release.config.js create mode 100644 tests/README.md diff --git a/.env b/.env index 191cb65a..dcaf16dd 100644 --- a/.env +++ b/.env @@ -1,7 +1,7 @@ -VITE_APP_VERSION=$npm_package_version -VITE_APP_NAME=$npm_package_name +VITE_APP_VERSION=0.0.0 +VITE_APP_NAME=caspion -SENTRY_DSN= +VITE_SENTRY_DSN= -GOOGLE_CLIENT_ID= -GOOGLE_CLIENT_ID= +VITE_GOOGLE_CLIENT_ID= +VITE_GOOGLE_CLIENT_SECRET= diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..e4525d39 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,31 @@ +name: Build + +on: + workflow_dispatch: + pull_request: + +jobs: + build: + strategy: + fail-fast: true + matrix: + os: + - macos-latest + - ubuntu-latest + - windows-latest + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + - name: Install Node.js, NPM and Yarn + uses: actions/setup-node@v4 + with: + node-version-file: '.node-version' + cache: 'yarn' + - name: Install dependencies + run: yarn + - name: Build + run: yarn compile + + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 2c39764b..00000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,49 +0,0 @@ -# This workflow is the entry point for all CI processes. -# It is from here that all other workflows are launched. -on: - workflow_dispatch: - push: - branches: - - main - - 'renovate/**' - paths-ignore: - - '.github/**' - - '!.github/workflows/ci.yml' - - '!.github/workflows/typechecking.yml' - - '!.github/workflows/tests.yml' - - '!.github/workflows/release.yml' - - '**.md' - - .editorconfig - - .gitignore - - '.idea/**' - - '.vscode/**' - pull_request: - paths-ignore: - - '.github/**' - - '!.github/workflows/ci.yml' - - '!.github/workflows/typechecking.yml' - - '!.github/workflows/tests.yml' - - '!.github/workflows/release.yml' - - '**.md' - - .editorconfig - - .gitignore - - '.idea/**' - - '.vscode/**' - -concurrency: - group: ci-${{ github.ref }} - cancel-in-progress: true - -jobs: - typechecking: - uses: ./.github/workflows/typechecking.yml - tests: - uses: ./.github/workflows/tests.yml - # draft_release: - # permissions: - # contents: write # Allows this job to create releases - # with: - # dry-run: ${{ github.event_name != 'push' || github.ref_name != 'main' }} - # needs: [ typechecking, tests ] - # uses: ./.github/workflows/release.yml - diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ec82f860..258612c6 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,3 +1,5 @@ +name: Lint + on: workflow_dispatch: push: @@ -40,6 +42,7 @@ jobs: - uses: actions/setup-node@v4 with: cache: 'yarn' + node-version-file: '.node-version' - run: yarn env: @@ -56,6 +59,7 @@ jobs: - uses: actions/setup-node@v4 with: cache: 'yarn' + node-version-file: '.node-version' - run: yarn add prettier - - run: npx prettier --check "**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx,vue}" + - run: yarn format:check diff --git a/.github/workflows/pr-title.yml b/.github/workflows/pr-title.yml new file mode 100644 index 00000000..507ddda3 --- /dev/null +++ b/.github/workflows/pr-title.yml @@ -0,0 +1,40 @@ +name: PR Title + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: deepakputhraya/action-pr-title@3864bebc79c5f829d25dd42d3c6579d040b0ef16 + name: Validate PR Title + continue-on-error: false + with: + regex: '\w+:( [\w\.,]+)+( \(\w+ #\d+\))?' # Regex the title should match. "Level: message (optional #123)" + allowed_prefixes: 'Breaking,Build,Chore,Fix,New,Update,Upgrade,Deps' # title should start with the given prefix + # disallowed_prefixes: 'feat/,hotfix' # title should not start with the given prefix + prefix_case_sensitive: true # title prefix are case insensitive + # min_length: 5 # Min length of the title + max_length: 50 # Max length of the title + github_token: ${{ secrets.GITHUB_TOKEN }} # Default: ${{ github.token }} + - uses: mshick/add-pr-comment@07f690343c25a94e24a8acb70d03c86b701ae322 + name: Comment on PR + if: ${{ failure() }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + message: | + Please fix the title of this PR. + + Examples: + + ``` + Breaking: I broke something + Fix: fix (fixes #1234) + Update: some packages updates (refs #123) + New: Added a new feature + ``` + + See more in `release.config.js`. \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2c61a2b6..905adc85 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,20 +1,21 @@ name: Release on: - push: - branches: - - vite-electron-builder - workflow_call: + workflow_dispatch: inputs: - dry-run: - description: 'Compiles the app but not upload artifacts to distribution server' - # TODO: default: false - default: true + version: + description: 'Exsiting version to publish files. If not provided, will create a new release.' required: false - type: boolean + type: string + + push: + branches: + - master + paths-ignore: + - 'nuxt/**' concurrency: group: release-${{ github.ref }} - cancel-in-progress: true + cancel-in-progress: false defaults: @@ -23,7 +24,45 @@ defaults: jobs: - draft_release: + release: + runs-on: ubuntu-latest + + outputs: + new_release_version: ${{ steps.semantic.outputs.new_release_version }} + new_release_published: ${{ steps.semantic.outputs.new_release_published }} + + steps: + - uses: actions/checkout@v4 + # https://github.com/nodejs/node-gyp/issues/2869 + - name: Install Node.js, NPM and Yarn + uses: actions/setup-node@v4 + with: + node-version-file: '.node-version' + cache: 'yarn' + + - name: Install semantic-release dependencies + run: yarn add -D @semantic-release/commit-analyzer conventional-changelog-eslint + - uses: cycjimmy/semantic-release-action@cb425203a562475bca039ba4dbf90c7f9ac790f4 + id: semantic + if: inputs.version == '' + with: + semantic_version: 24.1.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + publish: + needs: [release] + if: needs.release.outputs.new_release_published == 'true' || inputs.version != '' + env: + NEW_RELEASE_PUBLISHED: ${{ inputs.version && 'true' || needs.release.outputs.new_release_published }} + NEW_RELEASE_VERSION: ${{ needs.release.outputs.new_release_version || inputs.version }} + + NODE_ENV: production + MODE: production + VITE_GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} + VITE_GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} + VITE_SEGMENT_WRITE_KEY: ${{ secrets.SEGMENT_WRITE_KEY }} + VITE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} permissions: contents: write # Allows this job to create releases @@ -33,8 +72,8 @@ jobs: matrix: os: - macos-latest - # - ubuntu-latest - # - windows-latest + - ubuntu-latest + - windows-latest runs-on: ${{ matrix.os }} @@ -44,14 +83,27 @@ jobs: - uses: actions/setup-node@v4 with: cache: 'yarn' + node-version-file: '.node-version' + + - name: Install Snapcraft + uses: samuelmeuli/action-snapcraft@d33c176a9b784876d966f80fb1b461808edc0641 + # Only install Snapcraft on Ubuntu + if: startsWith(matrix.os, 'ubuntu') + continue-on-error: true + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + + - name: set version + run: yarn version --no-git-tag-version --new-version ${{ env.NEW_RELEASE_VERSION }} - run: yarn env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + NODE_ENV: development - run: yarn build - - name: Compile artifacts ${{ inputs.dry-run && '' || 'and upload them to github release' }} + - name: Compile artifacts ${{ env.NEW_RELEASE_PUBLISHED == 'true' && 'and upload them to github release' || '' }} # I use this action because it is capable of retrying multiple times if there are any issues with the distribution server uses: nick-fields/retry@v3 with: @@ -62,13 +114,12 @@ jobs: shell: 'bash' # Due to this issue https://github.com/electron-userland/electron-builder/issues/6411 the build with npx when rebuilding native dependencies hangs forever # see https://github.com/cawa-93/vite-electron-builder/pull/953 - command: ./node_modules/.bin/electron-builder --config electron-builder.yml --publish ${{ inputs.dry-run && 'never' || 'always' }} + command: ./node_modules/.bin/electron-builder --config electron-builder.yml --publish $PUBLISH_PARAM env: # Code Signing params # See https://www.electron.build/code-signing # CSC_LINK: '' # CSC_KEY_PASSWORD: '' # Publishing artifacts - GH_TOKEN: ${{ secrets.github_token }} # GitHub token, automatically provided (No need to define this secret in the repo settings) - NODE_ENV: production - MODE: production + GH_TOKEN: ${{ secrets.github_token }} + PUBLISH_PARAM: ${{ env.NEW_RELEASE_PUBLISHED == 'true' && 'always' || 'never' }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f8a9e09f..8431cc87 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,5 +1,7 @@ name: Tests -on: [ workflow_call ] +on: + workflow_dispatch: + pull_request: concurrency: group: tests-${{ github.ref }} @@ -14,13 +16,18 @@ jobs: strategy: fail-fast: false matrix: - os: [ windows-latest, ubuntu-latest, macos-latest ] + os: + # - windows-latest + - ubuntu-latest + # - macos-latest + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 - uses: actions/setup-node@v4 with: cache: 'yarn' + node-version-file: '.node-version' - run: yarn env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 diff --git a/.github/workflows/typechecking.yml b/.github/workflows/typechecking.yml index 681cc116..c0855461 100644 --- a/.github/workflows/typechecking.yml +++ b/.github/workflows/typechecking.yml @@ -1,5 +1,7 @@ name: Typechecking -on: [ workflow_call ] +on: + workflow_dispatch: + pull_request: concurrency: group: typechecking-${{ github.ref }} @@ -18,6 +20,7 @@ jobs: - uses: actions/setup-node@v4 with: cache: 'yarn' + node-version-file: '.node-version' - run: yarn env: diff --git a/.vscode/launch.json b/.vscode/launch.json index daca44e5..6269d7f5 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,7 +6,7 @@ "request": "launch", "name": "Debug Main Process", "skipFiles": ["/**"], - "program": "${workspaceFolder}\\scripts\\watch.js", + "program": "${workspaceFolder}/scripts/watch.js", "autoAttachChildProcesses": true } ] diff --git a/README.md b/README.md index 8ef5e16a..46b9dca7 100644 --- a/README.md +++ b/README.md @@ -124,8 +124,8 @@ If you wish though to build/debug this from source, you will need to setup your Now that you have the keys above, store them as env variables: ``` -EXPORT GOOGLE_CLIENT_ID=XXXXX -EXPORT GOOGLE_CLIENT_SECRET=YYYYYY +EXPORT VITE_GOOGLE_CLIENT_ID=XXXXX +EXPORT VITE_GOOGLE_CLIENT_SECRET=YYYYYY ``` That's it. Next time you'll run the code a one time OAuth authorization window will appear and ask for access. diff --git a/electron-builder.yml b/electron-builder.yml index e3c2ee1c..cba19e4e 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -7,3 +7,7 @@ files: linux: target: deb + +publish: + - provider: github + releaseType: release diff --git a/package.json b/package.json index 39c71672..2a408055 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,11 @@ "typecheck:renderer": "tsc --noEmit -p packages/renderer/tsconfig.json", "typecheck": "yarn typecheck:main && yarn typecheck:preload && yarn typecheck:renderer", "postinstall": "cross-env ELECTRON_RUN_AS_NODE=1 electron scripts/update-electron-vendors.js", - "format": "prettier --write \"**/*.{js,mjs,cjs,ts,mts,cts,tsx,json}\"" + "format": "prettier --write \"**/*.{js,mjs,cjs,ts,mts,cts,tsx,json}\"", + "format:check": "prettier --check \"**/*.{js,mjs,cjs,ts,mts,cts,tsx,json}\"" }, "devDependencies": { + "@semantic-release/commit-analyzer": "^13.0.0", "@sveltejs/vite-plugin-svelte": "^3.1.1", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.4.8", @@ -69,7 +71,7 @@ "bottleneck": "^2.19.5", "csv-parse": "^5.5.6", "csv-stringify": "^6.5.0", - "electron-google-oauth2": "^3.0.0", + "electron-google-oauth2": "^3.1.0", "electron-log": "^5.1.5", "electron-updater": "6.2.1", "emittery": "^1.0.3", diff --git a/packages/main/src/backend/export/outputVendors/googleSheets/electronGoogleOAuth2Connector.ts b/packages/main/src/backend/export/outputVendors/googleSheets/electronGoogleOAuth2Connector.ts index 404eb838..227adbdf 100644 --- a/packages/main/src/backend/export/outputVendors/googleSheets/electronGoogleOAuth2Connector.ts +++ b/packages/main/src/backend/export/outputVendors/googleSheets/electronGoogleOAuth2Connector.ts @@ -1,15 +1,11 @@ -import { - clientId, - clientSecret, - redirectUri, - scopes, -} from '@/backend/export/outputVendors/googleSheets/googleAuth'; import ElectronGoogleOAuth2 from 'electron-google-oauth2'; +import { clientId, clientSecret, redirectUri, scopes } from './googleAuth'; export default () => { if (!clientId || !clientSecret) throw Error("No 'clientId' or 'clientSecret' for google login"); - const electronGoogleOAuth2 = new ElectronGoogleOAuth2(clientId, clientSecret, scopes, { + // @ts-expect-error - The package 'electron-google-oauth2' is my own package, I don't know why it's not recognized + const electronGoogleOAuth2 = new ElectronGoogleOAuth2.default(clientId, clientSecret, scopes, { successRedirectURL: redirectUri, }); diff --git a/packages/main/src/handlers/updater.ts b/packages/main/src/handlers/updater.ts index 8c6feb86..92e7adcc 100644 --- a/packages/main/src/handlers/updater.ts +++ b/packages/main/src/handlers/updater.ts @@ -25,4 +25,6 @@ export const downloadUpdate = async () => autoUpdater.downloadUpdate(); }); -export const quitAndInstall = () => setImmediate(() => autoUpdater.quitAndInstall()); +export const quitAndInstall = () => { + setImmediate(() => autoUpdater.quitAndInstall()); +}; diff --git a/packages/main/tsconfig.json b/packages/main/tsconfig.json index 0a3b38c3..f9d3f7fd 100644 --- a/packages/main/tsconfig.json +++ b/packages/main/tsconfig.json @@ -14,7 +14,7 @@ "/@/*": ["./src/*"], "@/*": ["./src/*"] }, - "resolveJsonModule": true, + "resolveJsonModule": true }, "include": ["src/**/*.ts", "../../types/**/*.d.ts"], "exclude": ["**/*.spec.ts", "**/*.test.ts"] diff --git a/packages/preload/tsconfig.json b/packages/preload/tsconfig.json index 8358eafc..43fa7b19 100644 --- a/packages/preload/tsconfig.json +++ b/packages/preload/tsconfig.json @@ -10,7 +10,7 @@ "isolatedModules": true, "types": ["node"], "baseUrl": ".", - "esModuleInterop": true, + "esModuleInterop": true }, "include": ["src/**/*.ts", "../../types/**/*.d.ts"], "exclude": ["**/*.spec.ts", "**/*.test.ts"] diff --git a/packages/renderer/.eslintrc.json b/packages/renderer/.eslintrc.json index 9d66e122..23da699a 100644 --- a/packages/renderer/.eslintrc.json +++ b/packages/renderer/.eslintrc.json @@ -3,14 +3,11 @@ "browser": true, "node": false }, - "extends": [ - "plugin:react-hooks/recommended" - ], + "extends": ["plugin:react-hooks/recommended"], "parserOptions": { "parser": "@typescript-eslint/parser", "ecmaVersion": 12, "sourceType": "module" }, - "rules": { - } + "rules": {} } diff --git a/packages/renderer/src/components/topBar/ReportProblemModal.tsx b/packages/renderer/src/components/topBar/ReportProblemModal.tsx index d83b3c90..396d961f 100644 --- a/packages/renderer/src/components/topBar/ReportProblemModal.tsx +++ b/packages/renderer/src/components/topBar/ReportProblemModal.tsx @@ -1,4 +1,5 @@ import { getLogsInfo, openExternal, sentryUserReportProblem } from '#preload'; +// TODO: you can't use os on renderer. import os from 'os'; import { useEffect, useState } from 'react'; import { Button, Col, Form, Modal, Row, Stack } from 'react-bootstrap'; diff --git a/packages/renderer/src/store/ConfigStore.tsx b/packages/renderer/src/store/ConfigStore.tsx index b418f5c8..254a409f 100644 --- a/packages/renderer/src/store/ConfigStore.tsx +++ b/packages/renderer/src/store/ConfigStore.tsx @@ -159,7 +159,6 @@ class ConfigStore { } handleScrapingEvent(eventName: string, budgetTrackingEvent?: BudgetTrackingEvent) { - console.log('Received scraping event', eventName, budgetTrackingEvent); if (eventName === 'DOWNLOAD_CHROME') { this.updateChromeDownloadPercent((budgetTrackingEvent as DownalodChromeEvent)?.percent); } diff --git a/packages/renderer/src/store/Store.tsx b/packages/renderer/src/store/Store.tsx index 5212a45a..fbe80289 100644 --- a/packages/renderer/src/store/Store.tsx +++ b/packages/renderer/src/store/Store.tsx @@ -1,6 +1,6 @@ /* eslint-disable no-console */ import { getYnabAccountData } from '#preload'; -import { makeAutoObservable, runInAction } from 'mobx'; +import { makeAutoObservable, runInAction, toJS } from 'mobx'; import { createContext, useContext } from 'react'; import { type YnabAccountDataType, type YnabConfig } from '../types'; @@ -22,7 +22,7 @@ export default class Store { runInAction(() => { this.ynabAccountData = ynabAccountData; this.fetchingYnabAccountData = false; - console.log('Ynab account data ', this.ynabAccountData); + console.log('Ynab account data ', toJS(this.ynabAccountData)); }); } } diff --git a/release.config.js b/release.config.js new file mode 100644 index 00000000..4b2cedfb --- /dev/null +++ b/release.config.js @@ -0,0 +1,18 @@ +const releaseRules = { + preset: 'eslint', + releaseRules: [ + { tag: 'Breaking', release: 'major' }, + { tag: 'Build', release: 'minor' }, + { tag: 'Chore', release: 'minor' }, + { tag: 'Fix', release: 'patch' }, + { tag: 'New', release: 'minor' }, + { tag: 'Update', release: 'minor' }, + { tag: 'Upgrade', release: 'minor' }, + { tag: 'Deps', release: 'patch' }, + ], +}; + +export default { + branches: ['master'], + plugins: [['@semantic-release/commit-analyzer', releaseRules], '@semantic-release/github'], +}; diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 00000000..52c49660 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,26 @@ +# Manual Testing + +## Operations Systems + +The following Operation Systems are supported: + +- Windows +- Linux +- MacOS (Apple Silicon) +- MacOS (Intel) + +## Testing Steps + +For each Operation System, the following steps should be followed: + +- Open Caspion +- Add two bank accounts (no need to test every bank account) +- Configure the exporters + - Excel + - Google Sheets + - JSON + - YNAB +- Change the configurations (open browser, timeout, days back) +- Close Caspion completely (on MacOS, make sure it's not running in the background) +- Open Caspion +- [ ] Check if all the previous configurations are still there diff --git a/yarn.lock b/yarn.lock index f3bc4809..4358a658 100644 --- a/yarn.lock +++ b/yarn.lock @@ -407,7 +407,7 @@ minimist "^1.2.6" plist "^3.0.5" -"@electron/remote@^2.0.8": +"@electron/remote@^2.0.10": version "2.1.2" resolved "https://registry.yarnpkg.com/@electron/remote/-/remote-2.1.2.tgz#52a97c8faa5b769155b649ef262f2f8c851776e6" integrity sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA== @@ -1104,6 +1104,20 @@ component-type "^1.2.1" join-component "^1.1.0" +"@semantic-release/commit-analyzer@^13.0.0": + version "13.0.0" + resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz#98e28e2b2cb3d8e3a19effb82d5f493a0147e7a2" + integrity sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q== + dependencies: + conventional-changelog-angular "^8.0.0" + conventional-changelog-writer "^8.0.0" + conventional-commits-filter "^5.0.0" + conventional-commits-parser "^6.0.0" + debug "^4.0.0" + import-from-esm "^1.0.3" + lodash-es "^4.17.21" + micromatch "^4.0.2" + "@sentry-internal/browser-utils@8.2.1": version "8.2.1" resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.2.1.tgz#906eb450da146693cb0dc5f42c01937f368bebec" @@ -1632,6 +1646,11 @@ dependencies: "@types/node" "*" +"@types/semver@^7.5.5": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + "@types/send@*": version "0.17.4" resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" @@ -1829,13 +1848,6 @@ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - acorn-import-assertions@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" @@ -1996,6 +2008,11 @@ aria-query@5.3.0, aria-query@^5.0.0: dependencies: dequal "^2.0.3" +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -2475,6 +2492,14 @@ commander@^5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + compare-version@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" @@ -2508,6 +2533,36 @@ config-file-ts@^0.2.4: glob "^10.3.10" typescript "^5.3.3" +conventional-changelog-angular@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz#5701386850f0e0c2e630b43ee7821d322d87e7a6" + integrity sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-writer@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz#81522ed40400a4ca8ab78a42794aae9667c745ae" + integrity sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA== + dependencies: + "@types/semver" "^7.5.5" + conventional-commits-filter "^5.0.0" + handlebars "^4.7.7" + meow "^13.0.0" + semver "^7.5.2" + +conventional-commits-filter@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz#72811f95d379e79d2d39d5c0c53c9351ef284e86" + integrity sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q== + +conventional-commits-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz#74e3be5344d8cd99f7c3353da2efa1d1dd618061" + integrity sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA== + dependencies: + meow "^13.0.0" + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -2605,6 +2660,13 @@ debug@4.3.4: dependencies: ms "2.1.2" +debug@^4.0.0: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decimal.js@^10.4.3: version "10.4.3" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" @@ -2767,6 +2829,13 @@ dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1: "@babel/runtime" "^7.8.7" csstype "^3.0.2" +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + dotenv-expand@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" @@ -2813,13 +2882,13 @@ electron-builder@24.13.3: simple-update-notifier "2.0.0" yargs "^17.6.2" -electron-google-oauth2@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/electron-google-oauth2/-/electron-google-oauth2-3.0.0.tgz#ba46b2d7f5353ad46454e2b7c747af9e3a0fec9e" - integrity sha512-yRJ1mGmIDG+C84cN9G1/5yYwR4Qp29q2JX/Oim1aszb8nom69swNPAlct/PnRUdV0UUmLUNPd+Kv4T6srT69GA== +electron-google-oauth2@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/electron-google-oauth2/-/electron-google-oauth2-3.1.0.tgz#32b42736b330fe118b1cf21ec8d77a3ab395863d" + integrity sha512-3HL2pqhdalUAEJTURgNEJgfpcIwE58IGz3MbNIgGxIgvLVswrQtDib47pGBhAg19Iwg/IqpQ1DbjQ6jL64+E0w== dependencies: - "@electron/remote" "^2.0.8" - google-auth-library "^5.9.2" + "@electron/remote" "^2.0.10" + google-auth-library "^8.8.0" electron-log@^5.1.5: version "5.1.5" @@ -3098,11 +3167,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -3340,16 +3404,15 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -gaxios@^2.1.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-2.3.4.tgz#eea99353f341c270c5f3c29fc46b8ead56f0a173" - integrity sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA== +gaxios@^5.0.0, gaxios@^5.0.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-5.1.3.tgz#f7fa92da0fe197c846441e5ead2573d4979e9013" + integrity sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA== dependencies: - abort-controller "^3.0.0" extend "^3.0.2" https-proxy-agent "^5.0.0" is-stream "^2.0.0" - node-fetch "^2.3.0" + node-fetch "^2.6.9" gaxios@^6.0.0, gaxios@^6.0.3, gaxios@^6.1.1: version "6.6.0" @@ -3362,13 +3425,13 @@ gaxios@^6.0.0, gaxios@^6.0.3, gaxios@^6.1.1: node-fetch "^2.6.9" uuid "^9.0.1" -gcp-metadata@^3.4.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-3.5.0.tgz#6d28343f65a6bbf8449886a0c0e4a71c77577055" - integrity sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA== +gcp-metadata@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-5.3.0.tgz#6f45eb473d0cb47d15001476b48b663744d25408" + integrity sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w== dependencies: - gaxios "^2.1.0" - json-bigint "^0.3.0" + gaxios "^5.0.0" + json-bigint "^1.0.0" gcp-metadata@^6.1.0: version "6.1.0" @@ -3512,20 +3575,20 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -google-auth-library@^5.9.2: - version "5.10.1" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-5.10.1.tgz#504ec75487ad140e68dd577c21affa363c87ddff" - integrity sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg== +google-auth-library@^8.8.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-8.9.0.tgz#15a271eb2ec35d43b81deb72211bd61b1ef14dd0" + integrity sha512-f7aQCJODJFmYWN6PeNKzgvy9LI2tYmXnzpNDHEjG5sDNPgGb2FXQyTBnXeSH+PAtpKESFD+LmHw3Ox3mN7e1Fg== dependencies: arrify "^2.0.0" base64-js "^1.3.0" ecdsa-sig-formatter "^1.0.11" fast-text-encoding "^1.0.0" - gaxios "^2.1.0" - gcp-metadata "^3.4.0" - gtoken "^4.1.0" + gaxios "^5.0.0" + gcp-metadata "^5.3.0" + gtoken "^6.1.0" jws "^4.0.0" - lru-cache "^5.0.0" + lru-cache "^6.0.0" google-auth-library@^9.0.0, google-auth-library@^9.7.0: version "9.10.0" @@ -3539,12 +3602,12 @@ google-auth-library@^9.0.0, google-auth-library@^9.7.0: gtoken "^7.0.0" jws "^4.0.0" -google-p12-pem@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-2.0.5.tgz#b1c44164d567ae894f7a19b4ff362a06be5b793b" - integrity sha512-7RLkxwSsMsYh9wQ5Vb2zRtkAHvqPvfoMGag+nugl1noYO7gf0844Yr9TIFA5NEBMAeVt2Z+Imu7CQMp3oNatzQ== +google-p12-pem@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-4.0.1.tgz#82841798253c65b7dc2a4e5fe9df141db670172a" + integrity sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ== dependencies: - node-forge "^0.10.0" + node-forge "^1.3.1" googleapis-common@^7.0.0: version "7.2.0" @@ -3600,15 +3663,14 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -gtoken@^4.1.0: - version "4.1.4" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-4.1.4.tgz#925ff1e7df3aaada06611d30ea2d2abf60fcd6a7" - integrity sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA== +gtoken@^6.1.0: + version "6.1.2" + resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-6.1.2.tgz#aeb7bdb019ff4c3ba3ac100bbe7b6e74dce0e8bc" + integrity sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ== dependencies: - gaxios "^2.1.0" - google-p12-pem "^2.0.0" + gaxios "^5.0.1" + google-p12-pem "^4.0.0" jws "^4.0.0" - mime "^2.2.0" gtoken@^7.0.0: version "7.1.0" @@ -3618,6 +3680,18 @@ gtoken@^7.0.0: gaxios "^6.0.0" jws "^4.0.0" +handlebars@^4.7.7: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + happy-dom@14.12.0: version "14.12.0" resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-14.12.0.tgz#40c748578c6ebfb707e6ae69179d6c541d8f63b3" @@ -3767,6 +3841,14 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-from-esm@^1.0.3: + version "1.3.4" + resolved "https://registry.yarnpkg.com/import-from-esm/-/import-from-esm-1.3.4.tgz#39e97c84085e308fe66cf872a667046b45449df0" + integrity sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg== + dependencies: + debug "^4.3.4" + import-meta-resolve "^4.0.0" + import-in-the-middle@1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b" @@ -3797,6 +3879,11 @@ import-in-the-middle@1.7.4: cjs-module-lexer "^1.2.2" module-details-from-path "^1.0.3" +import-meta-resolve@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#f9db8bead9fafa61adb811db77a2bf22c5399706" + integrity sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3888,6 +3975,11 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -4017,13 +4109,6 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-bigint@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-0.3.1.tgz#0c1729d679f580d550899d6a2226c228564afe60" - integrity sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ== - dependencies: - bignumber.js "^9.0.0" - json-bigint@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" @@ -4151,6 +4236,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -4210,7 +4300,7 @@ lru-cache@^10.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== -lru-cache@^5.0.0, lru-cache@^5.1.1: +lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== @@ -4271,6 +4361,11 @@ md5@^2.2.1: crypt "0.0.2" is-buffer "~1.1.6" +meow@^13.0.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-13.2.0.tgz#6b7d63f913f984063b3cc261b6e8800c4cd3474f" + integrity sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -4281,6 +4376,14 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +micromatch@^4.0.2: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + micromatch@^4.0.4: version "4.0.7" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" @@ -4301,7 +4404,7 @@ mime-types@^2.1.12: dependencies: mime-db "1.52.0" -mime@^2.2.0, mime@^2.5.2: +mime@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== @@ -4347,7 +4450,7 @@ minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -4436,7 +4539,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.0.0: +ms@^2.0.0, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -4463,6 +4566,11 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + netmask@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" @@ -4485,7 +4593,7 @@ node-addon-api@^4.3.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== -node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.6.9: +node-fetch@^2.2.0, node-fetch@^2.6.9: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -4499,10 +4607,10 @@ node-fetch@~2.6.1: dependencies: whatwg-url "^5.0.0" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-machine-id@^1.1.12: version "1.1.12" @@ -5491,7 +5599,7 @@ source-map-support@^0.5.19: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -5847,6 +5955,11 @@ ufo@^1.5.3: resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== +uglify-js@^3.1.4: + version "3.19.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== + unbzip2-stream@1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" @@ -6157,6 +6270,11 @@ word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"