From 0822ed28da382bc1db17b2730aad71698dce4868 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Wed, 7 Feb 2024 17:29:06 +0100 Subject: [PATCH 01/87] chore: switch to version `2.3.1` after the release To produce a correctly versioned nightly build. See the [docs](https://github.com/arduino/arduino-ide/blob/1b9c7e93e029e65765010eb84e1604b5e483a963/docs/internal/release-procedure.md#7-%EF%B8%8F-bump-version-metadata-of-packages) for more details. Signed-off-by: Akos Kitta --- arduino-ide-extension/package.json | 2 +- electron-app/package.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index a0548666e..f54ef3017 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.0", + "version": "2.3.1", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { diff --git a/electron-app/package.json b/electron-app/package.json index ad8b4fc00..d0e38cc60 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.0", + "version": "2.3.1", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.41.0", "@theia/terminal": "1.41.0", "@theia/workspace": "1.41.0", - "arduino-ide-extension": "2.3.0" + "arduino-ide-extension": "2.3.1" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/package.json b/package.json index 84ed7d744..95a53137f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.0", + "version": "2.3.1", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA", From 71bd189eb134e37e2c2e32953b90ece715647a59 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 19:24:30 +0000 Subject: [PATCH 02/87] build(deps): Bump arduino/setup-task from 1 to 2 Bumps [arduino/setup-task](https://github.com/arduino/setup-task) from 1 to 2. - [Release notes](https://github.com/arduino/setup-task/releases) - [Commits](https://github.com/arduino/setup-task/compare/v1...v2) --- updated-dependencies: - dependency-name: arduino/setup-task dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build.yml | 4 ++-- .github/workflows/check-i18n-task.yml | 2 +- .github/workflows/i18n-nightly-push.yml | 2 +- .github/workflows/i18n-weekly-pull.yml | 2 +- .github/workflows/themes-weekly-pull.yml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a73935c71..372f8bd59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -320,7 +320,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Taskfile - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -438,7 +438,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index b3179b101..ec80cad86 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -71,7 +71,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Taskfile - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/i18n-nightly-push.yml b/.github/workflows/i18n-nightly-push.yml index 77ac9ca3b..92e8b6eb0 100644 --- a/.github/workflows/i18n-nightly-push.yml +++ b/.github/workflows/i18n-nightly-push.yml @@ -29,7 +29,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/i18n-weekly-pull.yml b/.github/workflows/i18n-weekly-pull.yml index 49910a5ad..7f4c5d293 100644 --- a/.github/workflows/i18n-weekly-pull.yml +++ b/.github/workflows/i18n-weekly-pull.yml @@ -29,7 +29,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/themes-weekly-pull.yml b/.github/workflows/themes-weekly-pull.yml index 8357fbb74..f9fcb446a 100644 --- a/.github/workflows/themes-weekly-pull.yml +++ b/.github/workflows/themes-weekly-pull.yml @@ -31,7 +31,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x From 74c580175b50c03bfff844b963ee9f09d4f7eb49 Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 6 Feb 2024 23:42:33 -0800 Subject: [PATCH 03/87] Use arduino/setup-task@v1 action for Linux build job Unfortunately the latest v2 version of the arduino/setup-task action used to install the Task task runner tool in the runner machine has a dependency on a higher version of glibc than is provided by the Linux container. For this reason, the workflow is configured to use arduino/setup-task@v1 for the Linux build job. We will receive pull requests from Dependabot offering to update this outdated action dependency at each subsequent major version release of the action (which are not terribly frequent). We must decline the bump of the action in that specific step, but we can accept the bumps of all other usages of the action in the workflows. Dependabot remembers when you decline a bump so this should not be too bothersome. --- .github/workflows/build.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 372f8bd59..eecd06d47 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -320,11 +320,20 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Taskfile + if: fromJSON(matrix.config.container) == null uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install Taskfile + # actions/setup-task@v2 has dependency on a higher version of glibc than available in the Linux container. + if: fromJSON(matrix.config.container) != null + uses: arduino/setup-task@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + version: 3.x + - name: Package env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From ca779e5cf248301d0c2c108559c41312495e00bb Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Thu, 8 Feb 2024 10:21:09 +0100 Subject: [PATCH 04/87] fix: debug widget layout updates Use customized `PanelLayout#removeWidget` and `PanelLayout#insertWidget` logic for the layout updates. The customized functions ensure no side effect if adding/removing the widget to/from the layout but it's already present/absent. Unlike the default [`PanelLayout#removeWidget`](https://github.com/phosphorjs/phosphor/blob/9f5e11025b62d2c4a6fb59e2681ae1ed323dcde4/packages/widgets/src/panellayout.ts#L154-L156) behavior, do not try to remove the widget if it's not present (has a negative index). Otherwise, required widgets might be removed based on the default [`ArrayExt#removeAt`](https://github.com/phosphorjs/phosphor/blob/9f5e11025b62d2c4a6fb59e2681ae1ed323dcde4/packages/algorithm/src/array.ts#L1075-L1077) behavior. Closes: arduino/arduino-ide#2354 Signed-off-by: Akos Kitta --- .../src/browser/theia/debug/debug-widget.ts | 21 ++- .../src/browser/theia/dialogs/widgets.ts | 51 ++++++++ .../src/test/browser/widgets.test.ts | 121 ++++++++++++++++++ 3 files changed, 182 insertions(+), 11 deletions(-) create mode 100644 arduino-ide-extension/src/browser/theia/dialogs/widgets.ts create mode 100644 arduino-ide-extension/src/test/browser/widgets.test.ts diff --git a/arduino-ide-extension/src/browser/theia/debug/debug-widget.ts b/arduino-ide-extension/src/browser/theia/debug/debug-widget.ts index cca4d1b06..9f332bbe7 100644 --- a/arduino-ide-extension/src/browser/theia/debug/debug-widget.ts +++ b/arduino-ide-extension/src/browser/theia/debug/debug-widget.ts @@ -1,8 +1,5 @@ -import { - codicon, - PanelLayout, - Widget, -} from '@theia/core/lib/browser/widgets/widget'; +import { codicon } from '@theia/core/lib/browser/widgets/widget'; +import { Widget } from '@theia/core/shared/@phosphor/widgets'; import { inject, injectable, @@ -10,6 +7,10 @@ import { } from '@theia/core/shared/inversify'; import { DebugWidget as TheiaDebugWidget } from '@theia/debug/lib/browser/view/debug-widget'; import { DebugDisabledStatusMessageSource } from '../../contributions/debug'; +import { + removeWidgetIfPresent, + unshiftWidgetIfNotPresent, +} from '../dialogs/widgets'; @injectable() export class DebugWidget extends TheiaDebugWidget { @@ -38,12 +39,10 @@ export class DebugWidget extends TheiaDebugWidget { this.messageNode.textContent = message ?? ''; const enabled = !message; updateVisibility(enabled, this.toolbar, this.sessionWidget); - if (this.layout instanceof PanelLayout) { - if (enabled) { - this.layout.removeWidget(this.statusMessageWidget); - } else { - this.layout.insertWidget(0, this.statusMessageWidget); - } + if (enabled) { + removeWidgetIfPresent(this.layout, this.statusMessageWidget); + } else { + unshiftWidgetIfNotPresent(this.layout, this.statusMessageWidget); } this.title.iconClass = enabled ? codicon('debug-alt') : 'fa fa-ban'; // TODO: find a better icon? }); diff --git a/arduino-ide-extension/src/browser/theia/dialogs/widgets.ts b/arduino-ide-extension/src/browser/theia/dialogs/widgets.ts new file mode 100644 index 000000000..1b64c0a40 --- /dev/null +++ b/arduino-ide-extension/src/browser/theia/dialogs/widgets.ts @@ -0,0 +1,51 @@ +import { + Layout, + PanelLayout, + Widget, +} from '@theia/core/shared/@phosphor/widgets'; + +/** + * + * Removes the widget from the layout if the `layout` is a `PanelLayout` and the widget is present in the layout. + * Otherwise, it's NOOP + * @param layout the layout to remove the widget from. Must be a `PanelLayout`. + * @param toRemove the widget to remove from the layout + */ +export function removeWidgetIfPresent( + layout: Layout | null, + toRemove: Widget +): void { + if (layout instanceof PanelLayout) { + const index = layout.widgets.indexOf(toRemove); + if (index < 0) { + // Unlike the default `PanelLayout#removeWidget` behavior, (https://github.com/phosphorjs/phosphor/blob/9f5e11025b62d2c4a6fb59e2681ae1ed323dcde4/packages/widgets/src/panellayout.ts#L154-L156) + // do not try to remove widget if it's not present (the index is negative). + // Otherwise, required widgets could be removed based on the default ArrayExt behavior (https://github.com/phosphorjs/phosphor/blob/9f5e11025b62d2c4a6fb59e2681ae1ed323dcde4/packages/algorithm/src/array.ts#L1075-L1077) + // See https://github.com/arduino/arduino-ide/issues/2354 for more details. + return; + } + layout.removeWidget(toRemove); + } +} + +/** + * + * Inserts the widget to the `0` index of the layout if the `layout` is a `PanelLayout` and the widget is not yet part of the layout. + * Otherwise, it's NOOP + * @param layout the layout to add the widget to. Must be a `PanelLayout`. + * @param toAdd the widget to add to the layout + */ +export function unshiftWidgetIfNotPresent( + layout: Layout | null, + toAdd: Widget +): void { + if (layout instanceof PanelLayout) { + const index = layout.widgets.indexOf(toAdd); + if (index >= 0) { + // Do not try to add the widget to the layout if it's already present. + // This is the counterpart logic of the `removeWidgetIfPresent` function. + return; + } + layout.insertWidget(0, toAdd); + } +} diff --git a/arduino-ide-extension/src/test/browser/widgets.test.ts b/arduino-ide-extension/src/test/browser/widgets.test.ts new file mode 100644 index 000000000..542cbac97 --- /dev/null +++ b/arduino-ide-extension/src/test/browser/widgets.test.ts @@ -0,0 +1,121 @@ +import { + Disposable, + DisposableCollection, +} from '@theia/core/lib/common/disposable'; +import type { PanelLayout, Widget } from '@theia/core/shared/@phosphor/widgets'; +import { expect } from 'chai'; +import type { + removeWidgetIfPresent, + unshiftWidgetIfNotPresent, +} from '../../browser/theia/dialogs/widgets'; + +describe('widgets', () => { + let toDispose: DisposableCollection; + + beforeEach(() => { + const disableJSDOM = + require('@theia/core/lib/browser/test/jsdom').enableJSDOM(); + toDispose = new DisposableCollection( + Disposable.create(() => disableJSDOM()) + ); + }); + + afterEach(() => toDispose.dispose()); + + describe('removeWidgetIfPresent', () => { + let testMe: typeof removeWidgetIfPresent; + + beforeEach( + () => + (testMe = + require('../../browser/theia/dialogs/widgets').removeWidgetIfPresent) + ); + + it('should remove the widget if present', () => { + const layout = newPanelLayout(); + const widget = newWidget(); + layout.addWidget(widget); + const toRemoveWidget = newWidget(); + layout.addWidget(toRemoveWidget); + + expect(layout.widgets).to.be.deep.equal([widget, toRemoveWidget]); + + testMe(layout, toRemoveWidget); + + expect(layout.widgets).to.be.deep.equal([widget]); + }); + + it('should be noop if the widget is not part of the layout', () => { + const layout = newPanelLayout(); + const widget = newWidget(); + layout.addWidget(widget); + + expect(layout.widgets).to.be.deep.equal([widget]); + + testMe(layout, newWidget()); + + expect(layout.widgets).to.be.deep.equal([widget]); + }); + }); + + describe('unshiftWidgetIfNotPresent', () => { + let testMe: typeof unshiftWidgetIfNotPresent; + + beforeEach( + () => + (testMe = + require('../../browser/theia/dialogs/widgets').unshiftWidgetIfNotPresent) + ); + + it('should unshift the widget if not present', () => { + const layout = newPanelLayout(); + const widget = newWidget(); + layout.addWidget(widget); + + expect(layout.widgets).to.be.deep.equal([widget]); + + const toAdd = newWidget(); + testMe(layout, toAdd); + + expect(layout.widgets).to.be.deep.equal([toAdd, widget]); + }); + + it('should be NOOP if widget is already part of the layout (at 0 index)', () => { + const layout = newPanelLayout(); + const toAdd = newWidget(); + layout.addWidget(toAdd); + const widget = newWidget(); + layout.addWidget(widget); + + expect(layout.widgets).to.be.deep.equal([toAdd, widget]); + + testMe(layout, toAdd); + + expect(layout.widgets).to.be.deep.equal([toAdd, widget]); + }); + + it('should be NOOP if widget is already part of the layout (at >0 index)', () => { + const layout = newPanelLayout(); + const widget = newWidget(); + layout.addWidget(widget); + const toAdd = newWidget(); + layout.addWidget(toAdd); + + expect(layout.widgets).to.be.deep.equal([widget, toAdd]); + + testMe(layout, toAdd); + + expect(layout.widgets).to.be.deep.equal([widget, toAdd]); + }); + }); + + function newWidget(): Widget { + const { Widget } = require('@theia/core/shared/@phosphor/widgets'); + return new Widget(); + } + + function newPanelLayout(): PanelLayout { + const { PanelLayout } = require('@theia/core/shared/@phosphor/widgets'); + return new PanelLayout(); + } +}); From 316e0fd8beedf6cf239fee757dd9ad8feb5f77db Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Thu, 8 Feb 2024 11:21:50 +0100 Subject: [PATCH 05/87] fix(security): update all vulnerable dependencies Resolutions: - `nano@^10.1.3`, - `msgpackr@^1.10.1`, - `axios@^1.6.7` Fixes: - [GHSA-wf5p-g6vw-rhxx](https://github.com/advisories/GHSA-wf5p-g6vw-rhxx) (`CVE-2023-45857`) - [GHSA-jchw-25xp-jwwc](https://github.com/advisories/GHSA-jchw-25xp-jwwc) (`CVE-2023-26159`) - [GHSA-7hpj-7hhx-2fgx](https://github.com/advisories/GHSA-7hpj-7hhx-2fgx) (`CVE-2023-52079`) Ref: nrwl/nx#20493 Ref: eclipse-theia/theia#13365 Signed-off-by: Akos Kitta --- package.json | 5 +- yarn.lock | 208 ++++++++++++++++++++++++--------------------------- 2 files changed, 102 insertions(+), 111 deletions(-) diff --git a/package.json b/package.json index 95a53137f..9a349775d 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,10 @@ "node": ">=18.17.0 <21" }, "resolutions": { - "@theia/cli/@babel/traverse": "^7.23.2" + "@theia/cli/@babel/traverse": "^7.23.2", + "@theia/cli/@theia/application-package/nano": "^10.1.3", + "**/@theia/core/msgpackr": "^1.10.1", + "nx/axios": "^1.6.7" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/yarn.lock b/yarn.lock index 7e7f75a09..583a24e6d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1280,21 +1280,21 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lerna/child-process@7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-7.3.0.tgz#c56488a8a881f22a64793bf9339c5a2450a18559" - integrity sha512-rA+fGUo2j/LEq6w1w8s6oVikLbJTWoIDVpYMc7bUCtwDOUuZKMQiRtjmpavY3fTm7ltu42f4AKflc2A70K4wvA== +"@lerna/child-process@7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-7.4.2.tgz#a2fd013ac2150dc288270d3e0d0b850c06bec511" + integrity sha512-je+kkrfcvPcwL5Tg8JRENRqlbzjdlZXyaR88UcnCdNW0AJ1jX9IfHRys1X7AwSroU2ug8ESNC+suoBw1vX833Q== dependencies: chalk "^4.1.0" execa "^5.0.0" strong-log-transformer "^2.1.0" -"@lerna/create@7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@lerna/create/-/create-7.3.0.tgz#5438c231f617b8e825731390d394f8684af471d5" - integrity sha512-fjgiKjg9VXwQ4ZKKsrXICEKRiC3yo6+FprR0mc55uz0s5e9xupoSGLobUTTBdE7ncNB3ibqml8dfaAn/+ESajQ== +"@lerna/create@7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-7.4.2.tgz#f845fad1480e46555af98bd39af29571605dddc9" + integrity sha512-1wplFbQ52K8E/unnqB0Tq39Z4e+NEoNrpovEnl6GpsTUrC6WDp8+w0Le2uCBV0hXyemxChduCkLz4/y1H1wTeg== dependencies: - "@lerna/child-process" "7.3.0" + "@lerna/child-process" "7.4.2" "@npmcli/run-script" "6.0.2" "@nx/devkit" ">=16.5.1 < 17" "@octokit/plugin-enterprise-rest" "6.0.1" @@ -1399,35 +1399,35 @@ semver "^7.3.5" tar "^6.1.11" -"@msgpackr-extract/msgpackr-extract-darwin-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.2.0.tgz#901c5937e1441572ea23e631fe6deca68482fe76" - integrity sha512-Z9LFPzfoJi4mflGWV+rv7o7ZbMU5oAU9VmzCgL240KnqDW65Y2HFCT3MW06/ITJSnbVLacmcEJA8phywK7JinQ== +"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz#44d752c1a2dc113f15f781b7cc4f53a307e3fa38" + integrity sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ== -"@msgpackr-extract/msgpackr-extract-darwin-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.2.0.tgz#fb877fe6bae3c4d3cea29786737840e2ae689066" - integrity sha512-vq0tT8sjZsy4JdSqmadWVw6f66UXqUCabLmUVHZwUFzMgtgoIIQjT4VVRHKvlof3P/dMCkbMJ5hB1oJ9OWHaaw== +"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz#f954f34355712212a8e06c465bc06c40852c6bb3" + integrity sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw== -"@msgpackr-extract/msgpackr-extract-linux-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.2.0.tgz#986179c38b10ac41fbdaf7d036c825cbc72855d9" - integrity sha512-hlxxLdRmPyq16QCutUtP8Tm6RDWcyaLsRssaHROatgnkOxdleMTgetf9JsdncL8vLh7FVy/RN9i3XR5dnb9cRA== +"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz#45c63037f045c2b15c44f80f0393fa24f9655367" + integrity sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg== -"@msgpackr-extract/msgpackr-extract-linux-arm@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.2.0.tgz#15f2c6fe9e0adc06c21af7e95f484ff4880d79ce" - integrity sha512-SaJ3Qq4lX9Syd2xEo9u3qPxi/OB+5JO/ngJKK97XDpa1C587H9EWYO6KD8995DAjSinWvdHKRrCOXVUC5fvGOg== +"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz#35707efeafe6d22b3f373caf9e8775e8920d1399" + integrity sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA== -"@msgpackr-extract/msgpackr-extract-linux-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.2.0.tgz#30cae5c9a202f3e1fa1deb3191b18ffcb2f239a2" - integrity sha512-94y5PJrSOqUNcFKmOl7z319FelCLAE0rz/jPCWS+UtdMZvpa4jrQd+cJPQCLp2Fes1yAW/YUQj/Di6YVT3c3Iw== +"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz#091b1218b66c341f532611477ef89e83f25fae4f" + integrity sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA== -"@msgpackr-extract/msgpackr-extract-win32-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.2.0.tgz#016d855b6bc459fd908095811f6826e45dd4ba64" - integrity sha512-XrC0JzsqQSvOyM3t04FMLO6z5gCuhPE6k4FXuLK5xf52ZbdvcFe1yBmo7meCew9B8G2f0T9iu9t3kfTYRYROgA== +"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz#0f164b726869f71da3c594171df5ebc1c4b0a407" + integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3177,7 +3177,7 @@ dependencies: "@types/node" "*" -"@types/tough-cookie@*", "@types/tough-cookie@^4.0.0": +"@types/tough-cookie@*": version "4.0.3" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== @@ -4126,27 +4126,12 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -axios-cookiejar-support@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/axios-cookiejar-support/-/axios-cookiejar-support-1.0.1.tgz#7b32af7d932508546c68b1fc5ba8f562884162e1" - integrity sha512-IZJxnAJ99XxiLqNeMOqrPbfR7fRyIfaoSLdPUf4AMQEGkH8URs0ghJK/xtqBsD+KsSr3pKl4DEQjCn834pHMig== - dependencies: - is-redirect "^1.0.0" - pify "^5.0.0" - -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -axios@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.1.tgz#11fbaa11fc35f431193a9564109c88c1f27b585f" - integrity sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A== +axios@^1.0.0, axios@^1.6.2, axios@^1.6.7: + version "1.6.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" + integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== dependencies: - follow-redirects "^1.15.0" + follow-redirects "^1.15.4" form-data "^4.0.0" proxy-from-env "^1.1.0" @@ -5097,10 +5082,10 @@ content-type@~1.0.4, content-type@~1.0.5: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -conventional-changelog-angular@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz#a9a9494c28b7165889144fd5b91573c4aa9ca541" - integrity sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg== +conventional-changelog-angular@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" + integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== dependencies: compare-func "^2.0.0" @@ -6835,10 +6820,10 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -follow-redirects@^1.14.0, follow-redirects@^1.15.0: - version "1.15.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" - integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== +follow-redirects@^1.15.4: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== font-awesome@^4.7.0: version "4.7.0" @@ -7713,9 +7698,9 @@ ignore-walk@^5.0.1: minimatch "^5.0.1" ignore-walk@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.3.tgz#0fcdb6decaccda35e308a7b0948645dd9523b7bb" - integrity sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA== + version "6.0.4" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.4.tgz#89950be94b4f522225eb63a13c56badb639190e9" + integrity sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw== dependencies: minimatch "^9.0.0" @@ -8101,11 +8086,6 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw== - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -8528,12 +8508,12 @@ lazy-val@^1.0.4, lazy-val@^1.0.5: integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== lerna@^7.1.4: - version "7.3.0" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-7.3.0.tgz#efecafbdce15694e2f6841256e073a3a2061053e" - integrity sha512-Dt8TH+J+c9+3MhTYcm5OxnNzXb87WG7GPNj3kidjYJjJY7KxIMDNU37qBTYRWA1h3wAeNKBplXVQYUPkGcYgkQ== + version "7.4.2" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-7.4.2.tgz#03497125d7b7c8d463eebfe17a701b16bde2ad09" + integrity sha512-gxavfzHfJ4JL30OvMunmlm4Anw7d7Tq6tdVHzUukLdS9nWnxCN/QB21qR+VJYp5tcyXogHKbdUEGh6qmeyzxSA== dependencies: - "@lerna/child-process" "7.3.0" - "@lerna/create" "7.3.0" + "@lerna/child-process" "7.4.2" + "@lerna/create" "7.4.2" "@npmcli/run-script" "6.0.2" "@nx/devkit" ">=16.5.1 < 17" "@octokit/plugin-enterprise-rest" "6.0.1" @@ -8543,7 +8523,7 @@ lerna@^7.1.4: clone-deep "4.0.1" cmd-shim "6.0.1" columnify "1.6.0" - conventional-changelog-angular "6.0.0" + conventional-changelog-angular "7.0.0" conventional-changelog-core "5.0.1" conventional-recommended-bump "7.0.1" cosmiconfig "^8.2.0" @@ -9667,26 +9647,26 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msgpackr-extract@^2.0.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-2.2.0.tgz#4bb749b58d9764cfdc0d91c7977a007b08e8f262" - integrity sha512-0YcvWSv7ZOGl9Od6Y5iJ3XnPww8O7WLcpYMDwX+PAA/uXLDtyw94PJv9GLQV/nnp3cWlDhMoyKZIQLrx33sWog== +msgpackr-extract@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d" + integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== dependencies: - node-gyp-build-optional-packages "5.0.3" + node-gyp-build-optional-packages "5.0.7" optionalDependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-darwin-x64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-arm" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-arm64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-x64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-win32-x64" "2.2.0" - -msgpackr@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.6.1.tgz#4f3c94d6a5b819b838ffc736eddaf60eba436d20" - integrity sha512-Je+xBEfdjtvA4bKaOv8iRhjC8qX2oJwpYH4f7JrG4uMVJVmnmkAT4pjKdbztKprGj3iwjcxPzb5umVZ02Qq3tA== + "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" + +msgpackr@1.6.1, msgpackr@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.10.1.tgz#51953bb4ce4f3494f0c4af3f484f01cfbb306555" + integrity sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ== optionalDependencies: - msgpackr-extract "^2.0.2" + msgpackr-extract "^3.0.2" multer@1.4.4-lts.1: version "1.4.4-lts.1" @@ -9727,16 +9707,14 @@ nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== -nano@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/nano/-/nano-9.0.5.tgz#2b767819f612907a3ac09b21f2929d4097407262" - integrity sha512-fEAhwAdXh4hDDnC8cYJtW6D8ivOmpvFAqT90+zEuQREpRkzA/mJPcI4EKv15JUdajaqiLTXNoKK6PaRF+/06DQ== +nano@^10.1.3, nano@^9.0.5: + version "10.1.3" + resolved "https://registry.yarnpkg.com/nano/-/nano-10.1.3.tgz#5cb1ad14add4c9c82d53a79159848dafa84e7a13" + integrity sha512-q/hKQJJH3FhkkuJ3ojbgDph2StlSXFBPNkpZBZlsvZDbuYfxKJ4VtunEeilthcZtuIplIk1zVX5o2RgKTUTO+Q== dependencies: - "@types/tough-cookie" "^4.0.0" - axios "^0.21.1" - axios-cookiejar-support "^1.0.1" - qs "^6.9.4" - tough-cookie "^4.0.0" + axios "^1.6.2" + node-abort-controller "^3.0.1" + qs "^6.11.0" nanoid@3.3.3: version "3.3.3" @@ -9817,6 +9795,11 @@ node-abi@^2.21.0, node-abi@^2.7.0: dependencies: semver "^5.4.1" +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + node-addon-api@^1.6.3: version "1.7.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" @@ -9867,16 +9850,21 @@ node-fetch@^3.2.10: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -node-gyp-build-optional-packages@5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" - integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== +node-gyp-build-optional-packages@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" + integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== -node-gyp-build@^4.2.1, node-gyp-build@^4.3.0: +node-gyp-build@^4.2.1: version "4.6.1" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== +node-gyp-build@^4.3.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" + integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + node-gyp@^9.0.0, node-gyp@^9.3.0: version "9.4.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.0.tgz#2a7a91c7cba4eccfd95e949369f27c9ba704f369" @@ -10717,7 +10705,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@5.0.0, pify@^5.0.0: +pify@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== @@ -11100,7 +11088,7 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -qs@^6.10.1, qs@^6.10.3, qs@^6.11.0, qs@^6.9.4: +qs@^6.10.1, qs@^6.10.3, qs@^6.11.0: version "6.11.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== @@ -12837,7 +12825,7 @@ token-types@^5.0.1: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" -tough-cookie@^4.0.0, tough-cookie@^4.1.2: +tough-cookie@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== From ff8c646cfa8f559c2192d57641dc69a42befc791 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 12 Feb 2024 02:10:37 +0000 Subject: [PATCH 06/87] Updated translation files --- i18n/af.json | 1 + i18n/ar.json | 1 + i18n/az.json | 1 + i18n/bg.json | 1 + i18n/ca_ES.json | 1 + i18n/cs.json | 1 + i18n/de.json | 1 + i18n/el.json | 1 + i18n/es.json | 1 + i18n/eu.json | 1 + i18n/fa.json | 1 + i18n/fil.json | 1 + i18n/fr.json | 1 + i18n/he.json | 1 + i18n/hu.json | 1 + i18n/id.json | 1 + i18n/it.json | 1 + i18n/ja.json | 1 + i18n/ko.json | 1 + i18n/my_MM.json | 1 + i18n/ne.json | 1 + i18n/nl.json | 1 + i18n/pl.json | 1 + i18n/pt.json | 1 + i18n/ro.json | 1 + i18n/ru.json | 1 + i18n/sr.json | 1 + i18n/th.json | 1 + i18n/tr.json | 1 + i18n/uk.json | 1 + i18n/vi.json | 1 + i18n/zh-Hant.json | 1 + i18n/zh.json | 7 ++++--- i18n/zh_TW.json | 5 +++-- 34 files changed, 39 insertions(+), 5 deletions(-) diff --git a/i18n/af.json b/i18n/af.json index 599088bc6..15774de28 100644 --- a/i18n/af.json +++ b/i18n/af.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", "invalid.sketchbook.location": "Invalid sketchbook location: {0}", "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Manual proxy configuration", diff --git a/i18n/ar.json b/i18n/ar.json index bf072b1f6..5bca31e16 100644 --- a/i18n/ar.json +++ b/i18n/ar.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "حجم خط المحرّر غير صالح . يجب ان يكون عدد موجب", "invalid.sketchbook.location": "موقع ملف المشروع غير صالح : {0}", "invalid.theme": "سمة غير صالحة", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "\"True\" اذا كان مخدم اللغات الخاص بArduino يستطيع توليد سجلات الى ملف المشروع , و الا \"False\", و هي كذلك بشكل افتراضي.", "language.realTimeDiagnostics": "اذا تم تفعيله , سيقوم سيرفر اللغة باعطاء تشخيصات للاخطاء خلال الوقت الحقيقي اثناء الكتابة ضمن المحرر . غير مفعل بشكل افتراضي", "manualProxy": "اعدادات الوكيل يدوياً", diff --git a/i18n/az.json b/i18n/az.json index 6ad56476a..a8cfcdb9d 100644 --- a/i18n/az.json +++ b/i18n/az.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", "invalid.sketchbook.location": "Invalid sketchbook location: {0}", "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Manual proxy configuration", diff --git a/i18n/bg.json b/i18n/bg.json index 0a10a6b33..6339fd280 100644 --- a/i18n/bg.json +++ b/i18n/bg.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Невалиден размер на шрифта на редактора. Трябва да е положително цяло число.", "invalid.sketchbook.location": "Невалидно местоположение на скицника: {0}", "invalid.theme": "Невалидна тема.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True, ако езиковият сървър на Arduino трябва да генерира лог файлове в папката за скици. В противен случай false. По подразбиране е false.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Ръчна конфигурация на прокси", diff --git a/i18n/ca_ES.json b/i18n/ca_ES.json index 5d0d7dabf..51b38011b 100644 --- a/i18n/ca_ES.json +++ b/i18n/ca_ES.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Mida del tipus de lletra de l'editor no vàlida. Ha de ser un nombre enter positiu.", "invalid.sketchbook.location": "La ubicació del quadern de programes no és vàlida: {0}", "invalid.theme": "Tema no vàlid.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "És cert si el servidor d'idiomes Arduino hauria de generar fitxers de registre a la carpeta de programes. En cas contrari, fals. És fals per defecte.", "language.realTimeDiagnostics": "Si està activat, el servidor d'idiomes ofereix diagnòstics en temps real mentre s'escriu. Per defecte està desactivat.", "manualProxy": "Configuració manual del proxy", diff --git a/i18n/cs.json b/i18n/cs.json index 4af815f13..8469f806f 100644 --- a/i18n/cs.json +++ b/i18n/cs.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Neplatná velikost editoru písem: Toto číslo musí být kladné.", "invalid.sketchbook.location": "Neplatné umístění projektů:{0}", "invalid.theme": "Neplatné téma.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Ano pokud by jazykový server pro Arduino měl generovat logovací soubory do složky se sketchi, jinak ne. Ne je výchozí hodnota.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Ruční nastavení proxy", diff --git a/i18n/de.json b/i18n/de.json index 6b5163050..c755c08c8 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Ungültige Editor-Schriftgröße. Wert muss eine Ganzzahl größer 0 (Null) sein.", "invalid.sketchbook.location": "Ungültiger Sketchbook Speicherort: {0}", "invalid.theme": "Ungültiges Erscheinungsbild", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Wenn aktivert, werden Arduino-Sprach-Server-Logdateien in den Sketch-Ordner geschrieben. Standardmäßig deaktivert. ", "language.realTimeDiagnostics": "Wenn aktiviert, bietet der Sprachserver bei der Eingabe im Editor eine Echtzeitdiagnose. Ist standardmäßig deaktiviert.", "manualProxy": "Manuelle Proxy Einstellung", diff --git a/i18n/el.json b/i18n/el.json index aec883d22..76d453b26 100644 --- a/i18n/el.json +++ b/i18n/el.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Μη-έγκυρο μέγεθος γραμματοσειράς συντάκτη. Πρέπει να είναι θετικός ακέραιος.", "invalid.sketchbook.location": "Μη-έγκυρη τοποθεσία σχεδίων: {0}", "invalid.theme": "Μη-έγκυρο θέμα.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Σωστό εάν ο διακομιστής γλώσσας Arduino πρέπει να δημιουργήσει αρχεία καταγραφής στο φάκελο σκίτσου. Διαφορετικά, ψευδής. Είναι ψευδές από προεπιλογή.", "language.realTimeDiagnostics": "Εάν ισχύει, ο διακομιστής γλώσσας παρέχει διαγνωστικά σε πραγματικό χρόνο όταν πληκτρολογείτε στον επεξεργαστή. Είναι ψευδές από προεπιλογή.", "manualProxy": "Μη αυτόματη διαμόρφωση proxy διακομιστή μεσολάβησης", diff --git a/i18n/es.json b/i18n/es.json index cdc6369fb..dd0802c4b 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Tamaño de fuente del editor no válido. Debe ser un número entero positivo.", "invalid.sketchbook.location": "Ruta del sketchbook no válida: {0}", "invalid.theme": "Tema no válido.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Verdadero si el Servidor de Lenguaje Arduino debe generar archivos de registro en la carpeta del sketch. En caso contrario, falso. Por defecto es falso.", "language.realTimeDiagnostics": "Si está habilitado, el lenguaje proveerá diagnoticos en tiepo real meintras se teclea en el editor. Deshabilitado por defecto.", "manualProxy": "Configuración manual del proxy", diff --git a/i18n/eu.json b/i18n/eu.json index 8d1287392..5dfc9dbdd 100644 --- a/i18n/eu.json +++ b/i18n/eu.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Editorearen letra-tamaina baliogabea. Osoko zenbaki positibo bat izan behar du.", "invalid.sketchbook.location": "Programa bildumaren kokaleku baliogabea: {0}", "invalid.theme": "Itxura baliogabea.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Egia Arduino Language Server-ek egunkari-fitxategiak sortu behar baditu programaren karpetan. Bestela, gezurra. Lehenetsia gezurra da.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Proxyaren eskuzko konfigurazioa", diff --git a/i18n/fa.json b/i18n/fa.json index addd3ca19..fc6a651bd 100644 --- a/i18n/fa.json +++ b/i18n/fa.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "اندازه فونت ویرایشگر نامعتبر است. باید یک عدد صحیح مثبت باشد.", "invalid.sketchbook.location": "مکان نامعتبر منبع طرح ها: {0}", "invalid.theme": "طرح زمینه موجود نیست", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "اگر سرور زبان آردوینو باید فایل های گزارش را در پوشه طرح ایجاد کند درست می باشد. در غیر این صورت، نادرست است. به طور پیش فرض نادرست است.", "language.realTimeDiagnostics": "اگر درست باشد، سرور زبان هنگام تایپ در ویرایشگر، عیب‌یابی بی‌درنگ ارائه می‌کند. به طور پیش فرض نادرست است.", "manualProxy": "پیکربندی دستی پروکسی", diff --git a/i18n/fil.json b/i18n/fil.json index 540002e5a..da9068f2c 100644 --- a/i18n/fil.json +++ b/i18n/fil.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", "invalid.sketchbook.location": "Invalid sketchbook location: {0}", "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True, kung dapat na gumawa ng log files ang Arduino Language Server sa mismong sketch folder. False naman kung hindi. Ito ay false, by default. ", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Manual proxy configuration", diff --git a/i18n/fr.json b/i18n/fr.json index 1ce2da3c8..57504c257 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Police de l'éditeur invalide. La taille doit être un entier positif.", "invalid.sketchbook.location": "Localisation invalide du croquis : {0}", "invalid.theme": "Thème invalide.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Vrai si le serveur de langage Arduino devrait générer des fichiers logs dans le dossier du croquis. Si non faux. La valeur par défaut est faux.", "language.realTimeDiagnostics": "Si c'est vrai, le serveur de langue fournit des diagnostics en temps réel lors de la saisie dans l'éditeur. C'est faux par défaut.", "manualProxy": "Configuration manuelle du proxy", diff --git a/i18n/he.json b/i18n/he.json index 80dd5c521..4c22dcd56 100644 --- a/i18n/he.json +++ b/i18n/he.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "גודל גופן לא חוקי. חייב להיות מספר חיובי.", "invalid.sketchbook.location": "מיקום סקיצה לא חוקי: {0}", "invalid.theme": "ערכת נושא לא חוקית.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "הגדרת פרוקסי ידנית", diff --git a/i18n/hu.json b/i18n/hu.json index 9323774f3..bb7544c26 100644 --- a/i18n/hu.json +++ b/i18n/hu.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "A szerkesztő betűmérete érvénytelen. Pozitív egész számnak kell lennie. ", "invalid.sketchbook.location": "Érvénytelen elérési út a vázlatfüzethez/sketchbook-hoz: {0} ", "invalid.theme": "Érvénytelen megjelenési felület/téma. ", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Igaz/kipipálva/, ha az Arduino Language Server naplófájlokat generál a vázlat mappába. Ellenkező esetben hamis/nincs kipipálva. Alapértelmezés szerint: hamis. ", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Kézi proxy konfiguráció", diff --git a/i18n/id.json b/i18n/id.json index 3454cf733..5a06a4516 100644 --- a/i18n/id.json +++ b/i18n/id.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", "invalid.sketchbook.location": "Invalid sketchbook location: {0}", "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Manual proxy configuration", diff --git a/i18n/it.json b/i18n/it.json index 61e4d6a4a..8c618632b 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Dimensione del carattere dell'editor non valida. Deve essere un numero intero positivo.", "invalid.sketchbook.location": "Posizione dello sketchbook non valida: {0}", "invalid.theme": "Tema non valido", + "language.asyncWorkers": "Numero di worker async utilizzati da Arduino Language Server (clangd). Anche l'indice di background utilizza questo numero di worker. Il valore minimo è 0 e il massimo è 8. Quando è 0, il server linguistico utilizza tutti i core disponibili. Il valore predefinito è 0.", "language.log": "Imposta su True se vuoi che l'Arduino Language Server generi il file di log all'interno della cartella dello sketch. Diversamente, imposta su false. L'impostazione predefinita è false.", "language.realTimeDiagnostics": "Se vero, il server linguistico fornisce una diagnostica in tempo reale durante la digitazione nell'editor. Per impostazione predefinita è falso.", "manualProxy": "Configurazione manuale del proxy", diff --git a/i18n/ja.json b/i18n/ja.json index 1d852e9b5..cefc471f8 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "エディターのフォントサイズが無効です。正の整数でなければなりません。", "invalid.sketchbook.location": "スケッチブックの場所が無効です: {0}", "invalid.theme": "無効なテーマです。", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Arduino Language Serverがスケッチフォルダにログファイルを生成した方がよい場合はtrue。それ以外はfalse。デフォルトではfalse。", "language.realTimeDiagnostics": "trueの場合、言語サーバーはエディターでの入力時にリアルタイムの診断を提供します。デフォルトはfalseです。", "manualProxy": "手動プロキシ設定", diff --git a/i18n/ko.json b/i18n/ko.json index 4c6d0d8da..3d2c1db2c 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "잘못된 에디터 글꼴크기, 반드시 양의 정수를 사용해야합니다.", "invalid.sketchbook.location": "잘못된 스케치북 위치: {0}", "invalid.theme": "잘못된 테마.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Arduino 언어 서버가 스케치 폴더에 로그 파일을 생성해야 하는 경우 true이고, 그렇지 않으면 false입니다. 기본은 false입니다.", "language.realTimeDiagnostics": "true인 경우 언어 서버는 편집기에 입력할 때 실시간 진단을 제공하며 기본적으로 false입니다.", "manualProxy": "수동 프록시 구성", diff --git a/i18n/my_MM.json b/i18n/my_MM.json index b305a978d..b6620aff2 100644 --- a/i18n/my_MM.json +++ b/i18n/my_MM.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "အယ်ဒီတာဖောင့်အရွယ်အစားမမှန်ကန်ပါ။ အပေါင်းကိန်းပြည့်ဖြစ်ရပါမည်။", "invalid.sketchbook.location": "မမှန်ကန်သောကုတ်ဖိုင်လ်စာအုပ်တည်နေရာ-{0}", "invalid.theme": "မမှန်ကန်သောသင်း", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "အမှန်ဖြစ်နေပါက Arduinoဘာသာစကားစစ်ဆေးမှုဆာဗာသည် မှတ်တမ်းဖိုင်လ်များကို ကုတ်ဖိုင်လ်ဖိုလ်ဒါတွင် ထုတ်ပေးမည်။ မူရင်းတန်းဖိုးသည် အမှားဖြစ်သည်။", "language.realTimeDiagnostics": "အမှန်ခြစ်ထားပါက အယ်ဒီတာတွင် စာရေးသောအခါ ဘာသာစကားစစ်ဆေးမှုဆာဗာသည် အချိန်နှင့်တပြေးညီ စစ်ဆေးပေးမည်။ မူလတန်ဖိုးသည် အမှားဖြစ်သည်။", "manualProxy": "ကိုယ်တိုင် ကြားခံကွန်ရက်ပြင်ဆင်ခြင်း", diff --git a/i18n/ne.json b/i18n/ne.json index dfe400c1f..607772940 100644 --- a/i18n/ne.json +++ b/i18n/ne.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "अवैध सम्पादक फन्ट साइज। यो सकारात्मक पूर्णांक हुनुपर्छ।", "invalid.sketchbook.location": "अवैध स्केचबुक स्थान: {0}", "invalid.theme": "अमान्य विषयवस्तु।", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "यदि अर्डुइनो भाषा सर्भरले स्केच फोल्डरमा लग फाइलहरू उत्पन्न गर्नुपर्छ भने सक्षम गर्नुहोस्। अन्यथा, असक्षम। यो पूर्वनिर्धारित रूपमा असक्षम छ।", "language.realTimeDiagnostics": "यदि सक्षम छ भने, सम्पादकमा टाइप गर्दा भाषा सर्भरले वास्तविक समय निदान प्रदान गर्दछ। यो पूर्वनिर्धारित रूपमा असक्षम हुन्छ।", "manualProxy": "म्यानुअल प्रोक्सी कन्फिगरेसन", diff --git a/i18n/nl.json b/i18n/nl.json index 1703b2371..b6d55b419 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Ongeldige lettergrootte voor editor. Het moet een positief geheel getal zijn.", "invalid.sketchbook.location": "Ongeldige schetsboek locatie: {0}", "invalid.theme": "Ongeldig Thema.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Waar als de Arduino Taal Server log bestanden moet genereren in de schets map. Anders onwaar. Standaard ingesteld op onwaar.", "language.realTimeDiagnostics": "Indien waar, geeft de taalserver real-time diagnostiek tijdens het typen in de editor. Standaard is dit onwaar.", "manualProxy": "Manuele proxy configuratie", diff --git a/i18n/pl.json b/i18n/pl.json index 8196ea056..c65a146ce 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Nieprawidłowy rozmiar czcionki edytora. Musi to być dodatnia liczba całkowita.", "invalid.sketchbook.location": "Błędna lokalizacja szkicownika: {0}", "invalid.theme": "Nieprawidłowy schemat.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Prawda, jeśli Arduino Language Server ma generować pliki z logami do folderu ze sketchem. W przeciwnym wypadku fałsz. Fałsz jest wartością domyślną.", "language.realTimeDiagnostics": "Jeśli prawdziwy, serwer języka zapewnia diagnostykę w czasie rzeczywistym podczas pisania w edytorze. Domyślnie jest nieprawdziwy.", "manualProxy": "Konfiguracja ręczna proxy", diff --git a/i18n/pt.json b/i18n/pt.json index 59da2d312..d835f28ee 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Tamanho da fonte do editor inválido. Deve ser um número inteiro positivo.", "invalid.sketchbook.location": "Localização inválida para o caderno de esboços: {0}", "invalid.theme": "Tema inválido", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Verdadeiro se o Arduino Language Server deverá gerar arquivos de log na pasta do esboço. Caso contrário, falso. O padrão é falso.", "language.realTimeDiagnostics": "Se marcado, diagnósticos em tempo-real serão exibidos enquanto digita no editor. Fica desmarcado por padrão.", "manualProxy": "Configurações manuais de proxy", diff --git a/i18n/ro.json b/i18n/ro.json index 0dbe128a7..6c98e2e4b 100644 --- a/i18n/ro.json +++ b/i18n/ro.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", "invalid.sketchbook.location": "Invalid sketchbook location: {0}", "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Configurare manuală proxy", diff --git a/i18n/ru.json b/i18n/ru.json index d3fb6ede1..1afe35611 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Неверный размер шрифта редактора. Это должно быть положительное целое число.", "invalid.sketchbook.location": "Неправильный путь к альбому со скетчами: {0}", "invalid.theme": "Неверная тема.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True - сервер Arduino Language будет создавать файлы журнала в папке скетча. В противном случае - false. По умолчанию - false.", "language.realTimeDiagnostics": "Если включено, то языковой сервер проводит диагностику набранного текста в реальном времени. По умолчанию отключено.", "manualProxy": "Ручная настройка параметров прокси-сервера", diff --git a/i18n/sr.json b/i18n/sr.json index bc5406fbe..566978788 100644 --- a/i18n/sr.json +++ b/i18n/sr.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Неважећа величина текста уређивача. Мора да буде позитиван цијели број.", "invalid.sketchbook.location": "Неважећа локација радне свеске: {0}", "invalid.theme": "Неважећа тема.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Тачно ако Ардуино језички сервер треба да генерише датотеке евиденције у фасциклу за скице. Иначе, нетачно. Подразумевано је нетачно.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Ручно подешавање посредника", diff --git a/i18n/th.json b/i18n/th.json index 5f4d161c7..9d3297d79 100644 --- a/i18n/th.json +++ b/i18n/th.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", "invalid.sketchbook.location": "Invalid sketchbook location: {0}", "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Manual proxy configuration", diff --git a/i18n/tr.json b/i18n/tr.json index 871f31cdf..389e85989 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Hatalı editör yazı tipi boyutu. Pozitif bir tam sayı olmalı.", "invalid.sketchbook.location": "Hatalı eskiz defteri konumu: {0}", "invalid.theme": "Hatalı tema.", + "language.asyncWorkers": "Arduino Language Server (clangd) tarafından kullanılan asenkron işlem sayısı. Arkaplan dizinleticisi de bu kadar işlem kullanır. Asgari değer 0, azami ise 8. 0 olduğu zaman dil sunucusu mevcut olan tüm çekirdekleri kullanır. Varsayılan değer 0.", "language.log": "Arduino Language Server eskiz klasörüne log dosyaları oluşturacaksa True. Aksi takdirde false. Varsayılan: false.", "language.realTimeDiagnostics": "Açılırsa, dil sunucusu editöre yazarken gerçek zamanlı kontroller sağlar. Varsayılan olarak kapalıdır.", "manualProxy": "Elle vekil ayarlama", diff --git a/i18n/uk.json b/i18n/uk.json index d85fed278..a3f9e0a00 100644 --- a/i18n/uk.json +++ b/i18n/uk.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Хибний розмір шрифта редактора. Значення повинно бути цілим числом.", "invalid.sketchbook.location": "Хибний шлях до книги скетчів: {0}", "invalid.theme": "Недійсна тема.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "\"Так\", якщо треба генерувати log-файли журналу в папці скетча. В іншому випадку \"Ні\". За замовчуванням це \"Ні\". ", "language.realTimeDiagnostics": "Якщо \"Так\", перевірка синтаксису відбувається в режимі реального часу. Під час введення тексту в редакторі. Знчення замовчуванням - \"Ні\".", "manualProxy": "Налаштування проксі вручну", diff --git a/i18n/vi.json b/i18n/vi.json index 95f504efd..97c7bb16f 100644 --- a/i18n/vi.json +++ b/i18n/vi.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "Cỡ chữ trình biên dịch không hợp lệ. Bắt buộc phải là số nguyên dương.", "invalid.sketchbook.location": "Địa điểm sketchbook không hợp lệ: {0}", "invalid.theme": "Chủ đề không hợp lệ.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "'True' nếu như muốn Arduino Language Server tạo tệp log vào trong thư mục chứa sketch. Nếu không thì là 'false'. Mặc định là 'false'.", "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", "manualProxy": "Cấu hình proxy thủ công", diff --git a/i18n/zh-Hant.json b/i18n/zh-Hant.json index de7a26576..65836a9e6 100644 --- a/i18n/zh-Hant.json +++ b/i18n/zh-Hant.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "無效的編輯器字體大小, 必須是正整數。", "invalid.sketchbook.location": "無效的 sketchbook 位置:{0}", "invalid.theme": "無效的佈景主題。", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", "language.log": "Arduino語言伺服器會自動在 sketch 內產生日誌檔。預設為關閉。", "language.realTimeDiagnostics": "語言服務器提供即時診斷。預設關閉。", "manualProxy": "手動設定代理伺服器", diff --git a/i18n/zh.json b/i18n/zh.json index 9919e0ef2..48c60dad5 100644 --- a/i18n/zh.json +++ b/i18n/zh.json @@ -213,7 +213,7 @@ "debuggingNotSupported": "‘{0}’ 不支持调试", "getDebugInfo": "正在获取调试信息。。。", "noPlatformInstalledFor": "‘{0}’ 平台未安装", - "noProgrammerSelectedFor": "未为'{0}'项目选择任何烧录器。", + "noProgrammerSelectedFor": "未为 '{0}' 项目选择任何编程器。", "optimizeForDebugging": "调试优化", "sketchIsNotCompiled": "项目 '{0}' 在开始调试会话之前必须经过验证。请验证草图并重新开始调试。你现在要验证草图吗?" }, @@ -385,6 +385,7 @@ "invalid.editorFontSize": "编辑器字体大小无效。它必须是正整数。", "invalid.sketchbook.location": "无效的项目文件夹地址:{0}", "invalid.theme": "无效的主题。", + "language.asyncWorkers": "Arduino 语言服务器(clangd)使用的异步工作线程数。 后台索引也使用相同数量的工作线程。 最小值为 0,最大值为 8。 当值为 0 时,语言服务器将使用所有可用的核心。 默认值为 0。", "language.log": "True 则 Arduino Language Server 将日志文件生成到项目文件夹中。默认为 False。", "language.realTimeDiagnostics": " True 则 language server 在编辑器中输入时提供实时诊断。默认为 False。", "manualProxy": "手动配置代理", @@ -464,8 +465,8 @@ "saveSketchAs": "将项目文件夹另存为…", "showFolder": "显示项目文件夹", "sketch": "项目", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "该项目已包含一个名为 '{0}' 的文件。", + "sketchAlreadyContainsThisFileMessage": "保存项目 “{0}” 为 “{1}” 失败。{2}", "sketchbook": "项目文件夹", "titleLocalSketchbook": "本地项目文件夹", "titleSketchbook": "项目文件夹", diff --git a/i18n/zh_TW.json b/i18n/zh_TW.json index 026bfbd2c..3b304e2a2 100644 --- a/i18n/zh_TW.json +++ b/i18n/zh_TW.json @@ -385,6 +385,7 @@ "invalid.editorFontSize": "無效的編輯器字體大小。它必須是正整數。", "invalid.sketchbook.location": "無效的 sketchbook 位置:{0}", "invalid.theme": "無效的主題。", + "language.asyncWorkers": "Arduino 語言伺服器 (clangd) 執行緒數目. 背景索引也使用相同的數目. 最小為 0, 最大s 8. 當設定為 0 時 , 將使用全部可用核心數. 預設為 0.", "language.log": "Arduino語言伺服器會自動在 sketch 內產生日誌檔。預設為關閉。", "language.realTimeDiagnostics": "語言服務器提供即時診斷。預設關閉。", "manualProxy": "手動設定代理伺服器", @@ -464,8 +465,8 @@ "saveSketchAs": "另存 Sketch 資料夾為", "showFolder": "顯示 Sketch 資料夾", "sketch": "Sketch", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "sketch 已包含 '{0}' 檔", + "sketchAlreadyContainsThisFileMessage": "將 sketch \"{0}\" 存成 \"{1}\". {2} 失敗", "sketchbook": "Sketchbook", "titleLocalSketchbook": "本地端的 Sketchbook", "titleSketchbook": "Sketchbook", From 547a6305982f3e4b79065a7f2520fddcea9cc797 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Wed, 14 Feb 2024 13:34:48 +0100 Subject: [PATCH 07/87] chore: switch to version `2.3.2` after the release To produce a correctly versioned nightly build. See the [docs](https://github.com/arduino/arduino-ide/blob/1b9c7e93e029e65765010eb84e1604b5e483a963/docs/internal/release-procedure.md#7-%EF%B8%8F-bump-version-metadata-of-packages) for more details. Signed-off-by: Akos Kitta --- arduino-ide-extension/package.json | 2 +- electron-app/package.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index f54ef3017..3614fb73a 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.1", + "version": "2.3.2", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { diff --git a/electron-app/package.json b/electron-app/package.json index d0e38cc60..b90c44b8f 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.1", + "version": "2.3.2", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.41.0", "@theia/terminal": "1.41.0", "@theia/workspace": "1.41.0", - "arduino-ide-extension": "2.3.1" + "arduino-ide-extension": "2.3.2" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/package.json b/package.json index 9a349775d..a827b30df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.1", + "version": "2.3.2", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA", From 8fe6a81230d19ad6998b91aa5cfad06386469f4d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Feb 2024 02:10:40 +0000 Subject: [PATCH 08/87] Updated translation files --- i18n/my_MM.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/my_MM.json b/i18n/my_MM.json index b6620aff2..f6dd4b7c4 100644 --- a/i18n/my_MM.json +++ b/i18n/my_MM.json @@ -1,13 +1,13 @@ { "arduino": { "about": { - "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "detail": "ဗားရှင်း - {0}\nရက်စွဲ {1}{2}\nCLI ဗားရှင်း - {3}\n\n{4}", "label": "{0} အကြောင်း" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", - "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", + "goToCloudEditor": "Cloudအယ်ဒီတာသို့သွားမည်", + "goToIoTCloud": "IoT Cloudသို့သွားမည်", + "goToProfile": "ပရိုဖိုင်သို့သွားမည်", "menuTitle": "Arduino Cloud" }, "board": { @@ -18,7 +18,7 @@ "configDialog1": "ကုတ်ဖိုင်တစ်ခုကို upload တင်လိုပါက ဘုတ်နှင့်အပေါက် နှစ်ခုလုံးကို ရွေးပေးပါ။", "configDialog2": "သင် ဘုတ်တစ်ခုထဲကိုသာ ရွေးချယ်ထားပါက compile ပြုလုပ်နိုင်သော်လည်း ကုဒ်ဖိုင်ကိုတော့ upload မတင်နိုင်ပါ။", "couldNotFindPreviouslySelected": "တပ်ဆင်ထားသည့် ပလက်ဖောင်း '{1}' ထဲမှာ ယခင်ရွေးချယ်ထားသည့်ဘုတ် '{0}' ကို ရှာမတွေ့ပါ။ ကျေးဇူးပြု၍ မိမိအသုံးပြုလိုသည့် ဘုတ်ကို မိမိကိုယ်တိုင် ပြန်လည်ရွေးချယ်ပေးပါ။ သင်အခု ပြန်လည်ရွေးချယ် လိုပါသလား?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "ဘုတ်နှင့်ကွန်ရက်ဆိပ်ကမ်းများတည်းဖြတ်မည်...", "getBoardInfo": "ဘုတ်ဆိုင်ရာအချက်အလက်ရယူမည်", "inSketchbook": " (Sketchbook ဖိုင်တွဲထဲ)", "installNow": "လက်ရှိရွေးချယ်ထားသည့် \"{2}\" ဘုတ်အတွက် \"{0} {1}\" core အား တပ်ဆင်ဖို့လိုပါသည်။ သင်ယခု တပ်ဆင်လိုပါသလား?", @@ -41,8 +41,8 @@ "succesfullyInstalledPlatform": "{0} ပလက်ဖောင်းကို အောင်မြင်စွာ တပ်ဆင်ပြီးသည် :{1}", "succesfullyUninstalledPlatform": "{0} ပလက်ဖောင်းကို အောင်မြင်စွာ ဖြုတ်ချပြီးသည် :{1}", "typeOfPorts": "{0} အပေါက်များ", - "unconfirmedBoard": "Unconfirmed board", - "unknownBoard": "Unknown board" + "unconfirmedBoard": "အတည်မပြုရသေးသောဘုတ်ပြား", + "unknownBoard": "အမျိုးအမည်မသိဘုတ်ပြား" }, "boardsManager": "ဘုတ်မန်နေဂျာ", "boardsType": { @@ -147,7 +147,7 @@ "processing": "အဆင့်ဆင့်ဆောင်ရွက်နေသည်", "recommended": "အသုံးပြုရန်အကြုံပြုထားသည်များ", "retired": "အငြိမ်းစား", - "selectManually": "Select Manually", + "selectManually": "ကိုယ်တိုင်ရွေးချယ်", "selectedOn": "{0}တွင်", "serialMonitor": "အတန်းလိုက်ဆက်သွယ်မှုမော်နီတာ", "type": "အမျိုးအစား", @@ -163,7 +163,7 @@ "clickToOpen": "Click to open in browser: {0}", "filterSearch": "သင်၏ရှာဖွေမှုရလဒ်ကိုစစ်ထုတ်မည်…", "install": "တပ်ဆင်မည်", - "installLatest": "Install Latest", + "installLatest": "နောက်ဆုံးပေါ်များတပ်ဆင်မည်", "installVersion": "Install {0}", "installed": "{0} installed", "moreInfo": "နောက်ထပ်အချက်အလက်များ", @@ -493,7 +493,7 @@ "hc": "Dark High Contrast", "hcLight": "Light High Contrast", "light": "Light", - "user": "{0} (user)" + "user": "{0} (သုံးစွဲသူ)" }, "title": { "cloud": "Cloud" From 1a98485b02f4ca6482f72466cd2d4ae9c7ca0f29 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Mon, 19 Feb 2024 08:36:48 +0100 Subject: [PATCH 09/87] fix(security): use `ip@2.0.1` for CVE-2023-42282 Refs: - https://github.com/advisories/GHSA-78xj-cgh5-2h22 - https://github.com/indutny/node-ip/commit/32f468f1245574785ec080705737a579be1223aa Signed-off-by: Akos Kitta --- package.json | 3 ++- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a827b30df..4519ed5f3 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "@theia/cli/@babel/traverse": "^7.23.2", "@theia/cli/@theia/application-package/nano": "^10.1.3", "**/@theia/core/msgpackr": "^1.10.1", - "nx/axios": "^1.6.7" + "nx/axios": "^1.6.7", + "**/ip": "^2.0.1" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/yarn.lock b/yarn.lock index 583a24e6d..fe12ae342 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7838,10 +7838,10 @@ ip-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== +ip@^2.0.0, ip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" + integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== ipaddr.js@1.9.1: version "1.9.1" From 4a807ab53837ad602d1d1003de2b3dd646198c76 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Thu, 15 Feb 2024 18:34:16 +0100 Subject: [PATCH 10/87] fix: no required `programmer` for `debug --info` Ref: arduino/arduino-cli#2540 Closes: arduino/arduino-ide#2368 Signed-off-by: Akos Kitta --- arduino-ide-extension/package.json | 2 +- .../src/browser/contributions/debug.ts | 15 +-------------- .../src/common/protocol/boards-service.ts | 2 +- .../src/node/boards-service-impl.ts | 2 +- .../src/test/browser/debug.test.ts | 15 +++++++-------- electron-app/package.json | 2 +- i18n/en.json | 1 - 7 files changed, 12 insertions(+), 27 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 3614fb73a..d6e033829 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -169,7 +169,7 @@ ], "arduino": { "arduino-cli": { - "version": "0.35.2" + "version": "0.35.3" }, "arduino-fwuploader": { "version": "2.4.1" diff --git a/arduino-ide-extension/src/browser/contributions/debug.ts b/arduino-ide-extension/src/browser/contributions/debug.ts index cc49b3809..e94755c46 100644 --- a/arduino-ide-extension/src/browser/contributions/debug.ts +++ b/arduino-ide-extension/src/browser/contributions/debug.ts @@ -398,12 +398,9 @@ export async function isDebugEnabled( `Failed to append boards config to the FQBN. Original FQBN was: ${fqbn}` ); } - if (!data.selectedProgrammer) { - throw new Error(noProgrammerSelectedFor(board.name)); - } const params = { fqbn: fqbnWithConfig, - programmer: data.selectedProgrammer.id, + programmer: data.selectedProgrammer?.id, }; try { const debugFqbn = await checkDebugEnabled(params); @@ -443,13 +440,3 @@ export function debuggingNotSupported(boardName: string): string { boardName ); } -/** - * (non-API) - */ -export function noProgrammerSelectedFor(boardName: string): string { - return nls.localize( - 'arduino/debug/noProgrammerSelectedFor', - "No programmer selected for '{0}'", - boardName - ); -} diff --git a/arduino-ide-extension/src/common/protocol/boards-service.ts b/arduino-ide-extension/src/common/protocol/boards-service.ts index a06dffd33..ba1b9f575 100644 --- a/arduino-ide-extension/src/common/protocol/boards-service.ts +++ b/arduino-ide-extension/src/common/protocol/boards-service.ts @@ -95,7 +95,7 @@ export interface CheckDebugEnabledParams { * The FQBN might contain custom board config options. For example, `arduino:esp32:nano_nora:USBMode=hwcdc,option2=value2`. */ readonly fqbn: string; - readonly programmer: string; + readonly programmer?: string; } export interface BoardSearch extends Searchable.Options { diff --git a/arduino-ide-extension/src/node/boards-service-impl.ts b/arduino-ide-extension/src/node/boards-service-impl.ts index 3b04b18eb..0d1926f9c 100644 --- a/arduino-ide-extension/src/node/boards-service-impl.ts +++ b/arduino-ide-extension/src/node/boards-service-impl.ts @@ -178,7 +178,7 @@ export class BoardsServiceImpl const req = new IsDebugSupportedRequest() .setInstance(instance) .setFqbn(fqbn) - .setProgrammer(programmer); + .setProgrammer(programmer ?? ''); try { const debugFqbn = await new Promise((resolve, reject) => client.isDebugSupported(req, (err, resp) => { diff --git a/arduino-ide-extension/src/test/browser/debug.test.ts b/arduino-ide-extension/src/test/browser/debug.test.ts index 0f41bad5c..e66cd65a0 100644 --- a/arduino-ide-extension/src/test/browser/debug.test.ts +++ b/arduino-ide-extension/src/test/browser/debug.test.ts @@ -28,7 +28,6 @@ import { debuggingNotSupported, isDebugEnabled, noPlatformInstalledFor, - noProgrammerSelectedFor, } from '../../browser/contributions/debug'; import { NotificationCenter } from '../../browser/notification-center'; import { noBoardSelected } from '../../common/nls'; @@ -117,20 +116,20 @@ describe('debug', () => { ); }); - it('should error when no programmer selected', async () => { + it('should resolve when no programmer is selected (arduino/arduino-cli#2540)', async () => { const copyData: Mutable = deepClone(data); delete copyData.selectedProgrammer; - await rejects( + await doesNotReject( isDebugEnabled( board, () => boardDetails, () => copyData, (fqbn) => fqbn, - unexpectedCall() - ), - (reason) => - reason instanceof Error && - reason.message === noProgrammerSelectedFor(board.name) + async (params) => { + expect(params.programmer).to.be.undefined; + return params.fqbn; + } + ) ); }); diff --git a/electron-app/package.json b/electron-app/package.json index b90c44b8f..6453e4817 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -196,7 +196,7 @@ "theiaPlugins": { "vscode-builtin-cpp": "https://open-vsx.org/api/vscode/cpp/1.52.1/file/vscode.cpp-1.52.1.vsix", "vscode-arduino-api": "https://github.com/dankeboy36/vscode-arduino-api/releases/download/0.1.2/vscode-arduino-api-0.1.2.vsix", - "vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.1.2.vsix", + "vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.1.3.vsix", "vscode-builtin-json": "https://open-vsx.org/api/vscode/json/1.46.1/file/vscode.json-1.46.1.vsix", "vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.46.1/file/vscode.json-language-features-1.46.1.vsix", "cortex-debug": "https://downloads.arduino.cc/marus25.cortex-debug/marus25.cortex-debug-1.5.1.vsix", diff --git a/i18n/en.json b/i18n/en.json index 841ab3a91..234781e58 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -213,7 +213,6 @@ "debuggingNotSupported": "Debugging is not supported by '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimize for Debugging", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, From 95c4399c073a63b62a0133ed6422174d388cdd5f Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Thu, 15 Feb 2024 19:00:12 +0100 Subject: [PATCH 11/87] fix(ci): use go 1.21 for the on the fly bin builds Signed-off-by: Akos Kitta --- .github/workflows/build.yml | 2 +- .github/workflows/check-i18n-task.yml | 2 +- .github/workflows/i18n-nightly-push.yml | 2 +- .github/workflows/i18n-weekly-pull.yml | 2 +- .github/workflows/themes-weekly-pull.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eecd06d47..54cdcdbbd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,7 +45,7 @@ on: env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' # See: https://github.com/actions/setup-node/#readme NODE_VERSION: '18.17' JOB_TRANSFER_ARTIFACT: build-artifacts diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index ec80cad86..22426313a 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -2,7 +2,7 @@ name: Check Internationalization env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/i18n-nightly-push.yml b/.github/workflows/i18n-nightly-push.yml index 92e8b6eb0..6f401a526 100644 --- a/.github/workflows/i18n-nightly-push.yml +++ b/.github/workflows/i18n-nightly-push.yml @@ -2,7 +2,7 @@ name: i18n-nightly-push env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' on: schedule: diff --git a/.github/workflows/i18n-weekly-pull.yml b/.github/workflows/i18n-weekly-pull.yml index 7f4c5d293..88157a7fa 100644 --- a/.github/workflows/i18n-weekly-pull.yml +++ b/.github/workflows/i18n-weekly-pull.yml @@ -2,7 +2,7 @@ name: i18n-weekly-pull env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' on: schedule: diff --git a/.github/workflows/themes-weekly-pull.yml b/.github/workflows/themes-weekly-pull.yml index f9fcb446a..bd9f845c1 100644 --- a/.github/workflows/themes-weekly-pull.yml +++ b/.github/workflows/themes-weekly-pull.yml @@ -8,7 +8,7 @@ on: env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' NODE_VERSION: '18.17' jobs: From 48e7bf6b5d9926896581e9e743cff8541ecbf106 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Mon, 19 Feb 2024 17:41:04 +0100 Subject: [PATCH 12/87] chore: switch to version `2.3.3` after the release To produce a correctly versioned nightly build. See the [docs](https://github.com/arduino/arduino-ide/blob/1b9c7e93e029e65765010eb84e1604b5e483a963/docs/internal/release-procedure.md#7-%EF%B8%8F-bump-version-metadata-of-packages) for more details. Signed-off-by: Akos Kitta --- arduino-ide-extension/package.json | 2 +- electron-app/package.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index d6e033829..7257b9883 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.2", + "version": "2.3.3", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { diff --git a/electron-app/package.json b/electron-app/package.json index 6453e4817..3e42fdd0d 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.2", + "version": "2.3.3", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.41.0", "@theia/terminal": "1.41.0", "@theia/workspace": "1.41.0", - "arduino-ide-extension": "2.3.2" + "arduino-ide-extension": "2.3.3" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/package.json b/package.json index 4519ed5f3..2e4dd1a64 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.2", + "version": "2.3.3", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA", From 8e099710788d65fe9ec760841613d2a952483462 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Wed, 17 Jan 2024 17:16:00 +0100 Subject: [PATCH 13/87] feat: use Arduino CLI `0.36.0-rc.1` APIs Signed-off-by: Akos Kitta --- arduino-ide-extension/package.json | 8 +- .../scripts/generate-protocol.js | 6 +- .../src/browser/contributions/ino-language.ts | 8 +- .../src/browser/notification-center.ts | 4 +- .../theia/core/connection-status-service.ts | 10 +- .../src/common/protocol/arduino-daemon.ts | 8 +- .../src/common/protocol/boards-service.ts | 3 + .../common/protocol/notification-service.ts | 2 +- .../src/node/arduino-core-service-client.ts | 53 + .../src/node/arduino-daemon-impl.ts | 30 +- .../src/node/boards-service-impl.ts | 219 +- .../cli/commands/v1/commands_grpc_pb.d.ts | 120 +- .../cli/commands/v1/commands_grpc_pb.js | 239 +- .../arduino/cli/commands/v1/commands_pb.d.ts | 71 +- .../cc/arduino/cli/commands/v1/commands_pb.js | 581 +--- .../cc/arduino/cli/commands/v1/common_pb.d.ts | 241 +- .../cc/arduino/cli/commands/v1/common_pb.js | 2406 +++++++++++++---- .../arduino/cli/commands/v1/compile_pb.d.ts | 185 +- .../cc/arduino/cli/commands/v1/compile_pb.js | 1662 ++++++++++-- .../cc/arduino/cli/commands/v1/core_pb.d.ts | 65 +- .../cc/arduino/cli/commands/v1/core_pb.js | 451 +-- .../cc/arduino/cli/commands/v1/lib_pb.d.ts | 6 +- .../cc/arduino/cli/commands/v1/lib_pb.js | 84 +- .../arduino/cli/commands/v1/monitor_pb.d.ts | 79 +- .../cc/arduino/cli/commands/v1/monitor_pb.js | 495 +++- .../cli/commands/v1/settings_grpc_pb.js | 1 + .../arduino/cli/commands/v1/settings_pb.d.ts | 238 ++ .../{settings => commands}/v1/settings_pb.js | 514 ++-- .../cc/arduino/cli/commands/v1/upload_pb.d.ts | 30 + .../cc/arduino/cli/commands/v1/upload_pb.js | 154 +- .../cli/settings/v1/settings_grpc_pb.d.ts | 126 - .../cli/settings/v1/settings_grpc_pb.js | 231 -- .../arduino/cli/settings/v1/settings_pb.d.ts | 238 -- .../src/node/config-service-impl.ts | 41 +- .../src/node/core-client-provider.ts | 41 +- .../src/node/core-service-impl.ts | 25 +- .../src/node/library-service-impl.ts | 2 +- .../src/node/monitor-service.ts | 71 +- .../src/node/notification-service-server.ts | 2 +- .../src/node/sketches-service-impl.ts | 19 +- .../src/test/node/arduino-daemon-impl.test.ts | 2 +- .../node/boards-service-impl.slow-test.ts | 25 +- .../src/test/node/node-test-bindings.ts | 2 +- 43 files changed, 5530 insertions(+), 3268 deletions(-) create mode 100644 arduino-ide-extension/src/node/arduino-core-service-client.ts create mode 100644 arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_grpc_pb.js create mode 100644 arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts rename arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/{settings => commands}/v1/settings_pb.js (59%) delete mode 100644 arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.d.ts delete mode 100644 arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.js delete mode 100644 arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_pb.d.ts diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 7257b9883..89cef04fe 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -169,13 +169,17 @@ ], "arduino": { "arduino-cli": { - "version": "0.35.3" + "version": "0.36.0-rc.1" }, "arduino-fwuploader": { "version": "2.4.1" }, "arduino-language-server": { - "version": "0.7.6" + "version": { + "owner": "arduino", + "repo": "arduino-language-server", + "commitish": "91c2ba8" + } }, "clangd": { "version": "14.0.0" diff --git a/arduino-ide-extension/scripts/generate-protocol.js b/arduino-ide-extension/scripts/generate-protocol.js index ec15850b3..703407a4f 100644 --- a/arduino-ide-extension/scripts/generate-protocol.js +++ b/arduino-ide-extension/scripts/generate-protocol.js @@ -3,7 +3,7 @@ (async () => { const os = require('node:os'); const path = require('node:path'); - const { mkdirSync, promises: fs } = require('node:fs'); + const { mkdirSync, promises: fs, rmSync } = require('node:fs'); const { exec } = require('./utils'); const glob = require('glob'); const { SemVer, gte, valid: validSemVer } = require('semver'); @@ -140,6 +140,10 @@ const rpc = path.join(repository, 'rpc'); const out = path.join(__dirname, '..', 'src', 'node', 'cli-protocol'); + // Must wipe the gen output folder. Otherwise, dangling service implementation remain in IDE2 code, + // although it has been removed from the proto file. + // For example, https://github.com/arduino/arduino-cli/commit/50a8bf5c3e61d5b661ccfcd6a055e82eeb510859. + rmSync(out, { recursive: true, maxRetries: 5, force: true }); mkdirSync(out, { recursive: true }); const protos = await new Promise((resolve) => diff --git a/arduino-ide-extension/src/browser/contributions/ino-language.ts b/arduino-ide-extension/src/browser/contributions/ino-language.ts index ab54c7ae4..ca3019e1b 100644 --- a/arduino-ide-extension/src/browser/contributions/ino-language.ts +++ b/arduino-ide-extension/src/browser/contributions/ino-language.ts @@ -196,11 +196,7 @@ export class InoLanguage extends SketchContribution { forceStart = false ): Promise { const port = await this.daemon.tryGetPort(); - if (!port) { - return; - } - const portNumber = Number.parseInt(port, 10); // TODO: IDE2 APIs should provide a number and not string - if (Number.isNaN(portNumber)) { + if (typeof port !== 'number') { return; } const release = await this.languageServerStartMutex.acquire(); @@ -280,7 +276,7 @@ export class InoLanguage extends SketchContribution { lsPath, daemonAddress: { hostname: 'localhost', - port: portNumber, + port, instance: 1, // TODO: get it from the backend }, clangdPath, diff --git a/arduino-ide-extension/src/browser/notification-center.ts b/arduino-ide-extension/src/browser/notification-center.ts index e7d5c6676..9bb0e2ae4 100644 --- a/arduino-ide-extension/src/browser/notification-center.ts +++ b/arduino-ide-extension/src/browser/notification-center.ts @@ -46,7 +46,7 @@ export class NotificationCenter new Emitter(); private readonly indexUpdateDidFailEmitter = new Emitter(); - private readonly daemonDidStartEmitter = new Emitter(); + private readonly daemonDidStartEmitter = new Emitter(); private readonly daemonDidStopEmitter = new Emitter(); private readonly configDidChangeEmitter = new Emitter(); private readonly platformDidInstallEmitter = new Emitter<{ @@ -136,7 +136,7 @@ export class NotificationCenter this.indexUpdateDidFailEmitter.fire(params); } - notifyDaemonDidStart(port: string): void { + notifyDaemonDidStart(port: number): void { this.daemonDidStartEmitter.fire(port); } diff --git a/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts b/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts index 413e50645..f876f7c0a 100644 --- a/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts +++ b/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts @@ -74,8 +74,8 @@ export class DaemonPort implements FrontendApplicationContribution { @inject(NotificationCenter) private readonly notificationCenter: NotificationCenter; - private readonly onPortDidChangeEmitter = new Emitter(); - private _port: string | undefined; + private readonly onPortDidChangeEmitter = new Emitter(); + private _port: number | undefined; onStart(): void { this.daemon.tryGetPort().then( @@ -91,15 +91,15 @@ export class DaemonPort implements FrontendApplicationContribution { this.onPortDidChangeEmitter.dispose(); } - get port(): string | undefined { + get port(): number | undefined { return this._port; } - get onDidChangePort(): Event { + get onDidChangePort(): Event { return this.onPortDidChangeEmitter.event; } - private setPort(port: string | undefined): void { + private setPort(port: number | undefined): void { const oldPort = this._port; this._port = port; if (this._port !== oldPort) { diff --git a/arduino-ide-extension/src/common/protocol/arduino-daemon.ts b/arduino-ide-extension/src/common/protocol/arduino-daemon.ts index b59d4c617..b1b8456d8 100644 --- a/arduino-ide-extension/src/common/protocol/arduino-daemon.ts +++ b/arduino-ide-extension/src/common/protocol/arduino-daemon.ts @@ -5,14 +5,14 @@ export interface ArduinoDaemon { * Returns with a promise that resolves with the port * of the CLI daemon when it's up and running. */ - getPort(): Promise; + getPort(): Promise; /** * Unlike `getPort` this method returns with a promise * that resolves to `undefined` when the daemon is not running. * Otherwise resolves to the CLI daemon port. */ - tryGetPort(): Promise; - start(): Promise; + tryGetPort(): Promise; + start(): Promise; stop(): Promise; - restart(): Promise; + restart(): Promise; } diff --git a/arduino-ide-extension/src/common/protocol/boards-service.ts b/arduino-ide-extension/src/common/protocol/boards-service.ts index ba1b9f575..1ae7c1811 100644 --- a/arduino-ide-extension/src/common/protocol/boards-service.ts +++ b/arduino-ide-extension/src/common/protocol/boards-service.ts @@ -75,6 +75,9 @@ export interface BoardsService }): Promise; searchBoards({ query }: { query?: string }): Promise; getInstalledBoards(): Promise; + /** + * Returns with all installed platforms including the manually installed ones. + */ getInstalledPlatforms(): Promise; getBoardUserFields(options: { fqbn: string; diff --git a/arduino-ide-extension/src/common/protocol/notification-service.ts b/arduino-ide-extension/src/common/protocol/notification-service.ts index 9ad5c202d..7b0aea120 100644 --- a/arduino-ide-extension/src/common/protocol/notification-service.ts +++ b/arduino-ide-extension/src/common/protocol/notification-service.ts @@ -51,7 +51,7 @@ export interface NotificationServiceClient { notifyIndexUpdateDidFail(params: IndexUpdateDidFailParams): void; // Daemon - notifyDaemonDidStart(port: string): void; + notifyDaemonDidStart(port: number): void; notifyDaemonDidStop(): void; // CLI config diff --git a/arduino-ide-extension/src/node/arduino-core-service-client.ts b/arduino-ide-extension/src/node/arduino-core-service-client.ts new file mode 100644 index 000000000..e753e206c --- /dev/null +++ b/arduino-ide-extension/src/node/arduino-core-service-client.ts @@ -0,0 +1,53 @@ +import { credentials, makeClientConstructor } from '@grpc/grpc-js'; +import * as commandsGrpcPb from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb'; +import { ArduinoCoreServiceClient } from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb'; + +export interface CreateClientOptions { + /** + * The port to the Arduino CLI daemon. + */ + readonly port: number; + /** + * Defaults to `'localhost'`. + */ + readonly host?: string; + + /** + * gRCP channel options. Defaults to `createDefaultChannelOptions` with `'0.0.0'` `appVersion` + */ + readonly channelOptions?: Record; +} + +export function createDefaultChannelOptions( + appVersion = '0.0.0' +): Record { + return { + 'grpc.max_send_message_length': 512 * 1024 * 1024, + 'grpc.max_receive_message_length': 512 * 1024 * 1024, + 'grpc.primary_user_agent': `arduino-ide/${appVersion}`, + }; +} + +export function createArduinoCoreServiceClient( + options: CreateClientOptions +): ArduinoCoreServiceClient { + const { + port, + host = 'localhost', + channelOptions = createDefaultChannelOptions(), + } = options; + const address = `${host}:${port}`; + // https://github.com/agreatfool/grpc_tools_node_protoc_ts/blob/master/doc/grpcjs_support.md#usage + const ArduinoCoreServiceClient = makeClientConstructor( + // @ts-expect-error: ignore + commandsGrpcPb['cc.arduino.cli.commands.v1.ArduinoCoreService'], + 'ArduinoCoreServiceService' + // eslint-disable-next-line @typescript-eslint/no-explicit-any + ) as any; + const client = new ArduinoCoreServiceClient( + address, + credentials.createInsecure(), + channelOptions + ) as ArduinoCoreServiceClient; + return client; +} diff --git a/arduino-ide-extension/src/node/arduino-daemon-impl.ts b/arduino-ide-extension/src/node/arduino-daemon-impl.ts index 16db90631..13e9bc18e 100644 --- a/arduino-ide-extension/src/node/arduino-daemon-impl.ts +++ b/arduino-ide-extension/src/node/arduino-daemon-impl.ts @@ -39,11 +39,11 @@ export class ArduinoDaemonImpl private readonly processUtils: ProcessUtils; private readonly toDispose = new DisposableCollection(); - private readonly onDaemonStartedEmitter = new Emitter(); + private readonly onDaemonStartedEmitter = new Emitter(); private readonly onDaemonStoppedEmitter = new Emitter(); private _running = false; - private _port = new Deferred(); + private _port = new Deferred(); // Backend application lifecycle. @@ -53,18 +53,18 @@ export class ArduinoDaemonImpl // Daemon API - async getPort(): Promise { + async getPort(): Promise { return this._port.promise; } - async tryGetPort(): Promise { + async tryGetPort(): Promise { if (this._running) { return this._port.promise; } return undefined; } - async start(): Promise { + async start(): Promise { try { this.toDispose.dispose(); // This will `kill` the previously started daemon process, if any. const cliPath = this.getExecPath(); @@ -101,13 +101,13 @@ export class ArduinoDaemonImpl this.toDispose.dispose(); } - async restart(): Promise { + async restart(): Promise { return this.start(); } // Backend only daemon API - get onDaemonStarted(): Event { + get onDaemonStarted(): Event { return this.onDaemonStartedEmitter.event; } @@ -150,11 +150,11 @@ export class ArduinoDaemonImpl protected async spawnDaemonProcess(): Promise<{ daemon: ChildProcess; - port: string; + port: number; }> { const args = await this.getSpawnArgs(); const cliPath = this.getExecPath(); - const ready = new Deferred<{ daemon: ChildProcess; port: string }>(); + const ready = new Deferred<{ daemon: ChildProcess; port: number }>(); const options = { env: { ...deepClone(process.env), NO_COLOR: String(true) }, }; @@ -195,7 +195,13 @@ export class ArduinoDaemonImpl if (port.length && address.length) { grpcServerIsReady = true; - ready.resolve({ daemon, port }); + const portNumber = Number.parseInt(port, 10); + if (Number.isNaN(portNumber)) { + ready.reject( + new Error(`Received a NaN port from the CLI: ${port}`) + ); + } + ready.resolve({ daemon, port: portNumber }); } } }); @@ -225,7 +231,7 @@ export class ArduinoDaemonImpl return ready.promise; } - private fireDaemonStarted(port: string): void { + private fireDaemonStarted(port: number): void { this._running = true; this._port.resolve(port); this.onDaemonStartedEmitter.fire(port); @@ -238,7 +244,7 @@ export class ArduinoDaemonImpl } this._running = false; this._port.reject(); // Reject all pending. - this._port = new Deferred(); + this._port = new Deferred(); this.onDaemonStoppedEmitter.fire(); this.notificationService.notifyDaemonDidStop(); } diff --git a/arduino-ide-extension/src/node/boards-service-impl.ts b/arduino-ide-extension/src/node/boards-service-impl.ts index 0d1926f9c..9eefeec9f 100644 --- a/arduino-ide-extension/src/node/boards-service-impl.ts +++ b/arduino-ide-extension/src/node/boards-service-impl.ts @@ -3,7 +3,6 @@ import { nls } from '@theia/core/lib/common/nls'; import { notEmpty } from '@theia/core/lib/common/objects'; import { inject, injectable } from '@theia/core/shared/inversify'; import { - Board, BoardDetails, BoardSearch, BoardUserField, @@ -32,11 +31,9 @@ import { BoardListAllResponse, BoardSearchRequest, } from './cli-protocol/cc/arduino/cli/commands/v1/board_pb'; -import { Platform } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb'; +import { PlatformSummary } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb'; import { PlatformInstallRequest, - PlatformListRequest, - PlatformListResponse, PlatformSearchRequest, PlatformSearchResponse, PlatformUninstallRequest, @@ -247,24 +244,22 @@ export class BoardsServiceImpl async getInstalledPlatforms(): Promise { const { instance, client } = await this.coreClient; - return new Promise((resolve, reject) => { - client.platformList( - new PlatformListRequest().setInstance(instance), - (err, response) => { - if (err) { - reject(err); - return; - } - resolve( - response - .getInstalledPlatformsList() - .map((platform, _, installedPlatforms) => - toBoardsPackage(platform, installedPlatforms) - ) - ); - } - ); - }); + const resp = await new Promise( + (resolve, reject) => { + client.platformSearch( + new PlatformSearchRequest() + .setInstance(instance) + .setManuallyInstalled(true), // include core manually installed to the sketchbook + (err, resp) => (err ? reject(err) : resolve(resp)) + ); + } + ); + const searchOutput = resp.getSearchOutputList(); + return searchOutput + .map((message) => message.toObject(false)) + .filter((summary) => summary.installedVersion) // only installed ones + .map(createBoardsPackage) + .filter(notEmpty); } private async handleListBoards( @@ -287,12 +282,28 @@ export class BoardsServiceImpl for (const board of resp.getBoardsList()) { const platform = board.getPlatform(); if (platform) { - const platformId = platform.getId(); + const metadata = platform.getMetadata(); + if (!metadata) { + console.warn( + `Platform metadata is missing for platform: ${JSON.stringify( + platform.toObject(false) + )}. Skipping` + ); + continue; + } + const platformId = metadata.getId(); + const release = platform.getRelease(); + if (!release) { + console.warn( + `Platform release is missing for platform: ${platformId}. Skipping` + ); + continue; + } const fqbn = board.getFqbn() || undefined; // prefer undefined over empty string const parsedPlatformId = createPlatformIdentifier(platformId); if (!parsedPlatformId) { console.warn( - `Could not create platform identifier from platform ID input: ${platform.getId()}. Skipping` + `Could not create platform identifier from platform ID input: ${platformId}. Skipping` ); continue; } @@ -319,8 +330,8 @@ export class BoardsServiceImpl name: board.getName(), fqbn: board.getFqbn(), packageId: parsedPlatformId, - packageName: platform.getName(), - manuallyInstalled: platform.getManuallyInstalled(), + packageName: release.getName(), + manuallyInstalled: metadata.getManuallyInstalled(), }); } } @@ -375,89 +386,25 @@ export class BoardsServiceImpl const coreClient = await this.coreClient; const { client, instance } = coreClient; - const installedPlatformsReq = new PlatformListRequest(); - installedPlatformsReq.setInstance(instance); - const installedPlatformsResp = await new Promise( - (resolve, reject) => { - client.platformList(installedPlatformsReq, (err, resp) => { - !!err ? reject(err) : resolve(resp); - }); - } - ); - const installedPlatforms = - installedPlatformsResp.getInstalledPlatformsList(); - - const req = new PlatformSearchRequest(); - req.setSearchArgs(options.query || ''); - req.setAllVersions(true); - req.setInstance(instance); + // `core search` returns with all platform versions when the command is executed via gRPC or with `--format json` + // The `--all` flag is applicable only when filtering for the human-readable (`--format text`) output of the CLI const resp = await new Promise( (resolve, reject) => { - client.platformSearch(req, (err, resp) => { - !!err ? reject(err) : resolve(resp); - }); + client.platformSearch( + new PlatformSearchRequest() + .setInstance(instance) + .setSearchArgs(options.query ?? ''), + (err, resp) => (err ? reject(err) : resolve(resp)) + ); } ); - const packages = new Map(); - // We must group the cores by ID, and sort platforms by, first the installed version, then version alphabetical order. - // Otherwise we lose the FQBN information. - const groupedById: Map = new Map(); - for (const platform of resp.getSearchOutputList()) { - const id = platform.getId(); - const idGroup = groupedById.get(id); - if (idGroup) { - idGroup.push(platform); - } else { - groupedById.set(id, [platform]); - } - } - const installedAwareVersionComparator = ( - left: Platform, - right: Platform - ) => { - // XXX: we cannot rely on `platform.getInstalled()`, it is always an empty string. - const leftInstalled = !!installedPlatforms.find( - (ip) => - ip.getId() === left.getId() && ip.getInstalled() === left.getLatest() - ); - const rightInstalled = !!installedPlatforms.find( - (ip) => - ip.getId() === right.getId() && - ip.getInstalled() === right.getLatest() - ); - if (leftInstalled && !rightInstalled) { - return -1; - } - if (!leftInstalled && rightInstalled) { - return 1; - } - - const invertedVersionComparator = - Installable.Version.COMPARATOR(left.getLatest(), right.getLatest()) * - -1; - // Higher version comes first. - - return invertedVersionComparator; - }; - for (const value of groupedById.values()) { - value.sort(installedAwareVersionComparator); - } - - for (const value of groupedById.values()) { - for (const platform of value) { - const id = platform.getId(); - const pkg = packages.get(id); - if (pkg) { - pkg.availableVersions.push(platform.getLatest()); - pkg.availableVersions.sort(Installable.Version.COMPARATOR).reverse(); - } else { - packages.set(id, toBoardsPackage(platform, installedPlatforms)); - } - } - } - - const filter = this.typePredicate(options); - const boardsPackages = [...packages.values()].filter(filter); + const typeFilter = this.typePredicate(options); + const searchOutput = resp.getSearchOutputList(); + const boardsPackages = searchOutput + .map((message) => message.toObject(false)) + .map(createBoardsPackage) + .filter(notEmpty) + .filter(typeFilter); return sortComponents(boardsPackages, boardsPackageSortGroup); } @@ -624,36 +571,48 @@ function boardsPackageSortGroup(boardsPackage: BoardsPackage): SortGroup { return types.join('-') as SortGroup; } -function toBoardsPackage( - platform: Platform, - installedPlatforms: Platform[] -): BoardsPackage { - let installedVersion: string | undefined; - const matchingPlatform = installedPlatforms.find( - (ip) => ip.getId() === platform.getId() - ); - if (!!matchingPlatform) { - installedVersion = matchingPlatform.getInstalled(); +function createBoardsPackage( + summary: PlatformSummary.AsObject +): BoardsPackage | undefined { + if (!isPlatformSummaryWithMetadata(summary)) { + return undefined; + } + const versionReleaseMap = new Map(summary.releasesMap); + const actualRelease = + versionReleaseMap.get(summary.installedVersion) ?? + versionReleaseMap.get(summary.latestVersion); + if (!actualRelease) { + return undefined; + } + const { name, typeList, boardsList, deprecated, compatible } = actualRelease; + if (!compatible) { + return undefined; // never show incompatible platforms } + const { id, website, maintainer } = summary.metadata; + const availableVersions = Array.from(versionReleaseMap.keys()) + .sort(Installable.Version.COMPARATOR) + .reverse(); return { - id: platform.getId(), - name: platform.getName(), - author: platform.getMaintainer(), - availableVersions: [platform.getLatest()], - description: platform - .getBoardsList() - .map((b) => b.getName()) - .join(', '), - types: platform.getTypeList(), - deprecated: platform.getDeprecated(), + id, + name, summary: nls.localize( 'arduino/component/boardsIncluded', 'Boards included in this package:' ), - installedVersion, - boards: platform - .getBoardsList() - .map((b) => { name: b.getName(), fqbn: b.getFqbn() }), - moreInfoLink: platform.getWebsite(), + description: boardsList.map(({ name }) => name).join(', '), + boards: boardsList, + types: typeList, + moreInfoLink: website, + author: maintainer, + deprecated, + availableVersions, }; } + +type PlatformSummaryWithMetadata = PlatformSummary.AsObject & + Required>; +function isPlatformSummaryWithMetadata( + summary: PlatformSummary.AsObject +): summary is PlatformSummaryWithMetadata { + return Boolean(summary.metadata); +} diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts index d1692362f..651646fd8 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts @@ -15,6 +15,7 @@ import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/ import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb"; import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb"; import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb"; +import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb"; interface IArduinoCoreServiceService extends grpc.ServiceDefinition { create: IArduinoCoreServiceService_ICreate; @@ -43,7 +44,6 @@ interface IArduinoCoreServiceService extends grpc.ServiceDefinition { @@ -295,15 +301,6 @@ interface IArduinoCoreServiceService_IPlatformSearch extends grpc.MethodDefiniti responseSerialize: grpc.serialize; responseDeserialize: grpc.deserialize; } -interface IArduinoCoreServiceService_IPlatformList extends grpc.MethodDefinition { - path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformList"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} interface IArduinoCoreServiceService_ILibraryDownload extends grpc.MethodDefinition { path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryDownload"; requestStream: false; @@ -439,6 +436,60 @@ interface IArduinoCoreServiceService_IGetDebugConfig extends grpc.MethodDefiniti responseSerialize: grpc.serialize; responseDeserialize: grpc.deserialize; } +interface IArduinoCoreServiceService_ISettingsGetAll extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_ISettingsMerge extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_ISettingsGetValue extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_ISettingsSetValue extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_ISettingsWrite extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsWrite"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_ISettingsDelete extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsDelete"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} export const ArduinoCoreServiceService: IArduinoCoreServiceService; @@ -469,7 +520,6 @@ export interface IArduinoCoreServiceServer extends grpc.UntypedServiceImplementa listProgrammersAvailableForUpload: grpc.handleUnaryCall; burnBootloader: grpc.handleServerStreamingCall; platformSearch: grpc.handleUnaryCall; - platformList: grpc.handleUnaryCall; libraryDownload: grpc.handleServerStreamingCall; libraryInstall: grpc.handleServerStreamingCall; libraryUpgrade: grpc.handleServerStreamingCall; @@ -485,6 +535,12 @@ export interface IArduinoCoreServiceServer extends grpc.UntypedServiceImplementa debug: grpc.handleBidiStreamingCall; isDebugSupported: grpc.handleUnaryCall; getDebugConfig: grpc.handleUnaryCall; + settingsGetAll: grpc.handleUnaryCall; + settingsMerge: grpc.handleUnaryCall; + settingsGetValue: grpc.handleUnaryCall; + settingsSetValue: grpc.handleUnaryCall; + settingsWrite: grpc.handleUnaryCall; + settingsDelete: grpc.handleUnaryCall; } export interface IArduinoCoreServiceClient { @@ -554,9 +610,6 @@ export interface IArduinoCoreServiceClient { platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall; platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall; platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall; - platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall; - platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall; - platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall; libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, options?: Partial): grpc.ClientReadableStream; libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, metadata?: grpc.Metadata, options?: Partial): grpc.ClientReadableStream; libraryInstall(request: cc_arduino_cli_commands_v1_lib_pb.LibraryInstallRequest, options?: Partial): grpc.ClientReadableStream; @@ -595,6 +648,24 @@ export interface IArduinoCoreServiceClient { getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; + settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; + settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; + settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; + settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; + settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; + settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; + settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; + settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; + settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; + settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; + settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; + settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; + settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; + settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; + settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; } export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCoreServiceClient { @@ -665,9 +736,6 @@ export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCor public platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall; public platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall; public platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall; - public platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall; - public platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall; - public platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall; public libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, options?: Partial): grpc.ClientReadableStream; public libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, metadata?: grpc.Metadata, options?: Partial): grpc.ClientReadableStream; public libraryInstall(request: cc_arduino_cli_commands_v1_lib_pb.LibraryInstallRequest, options?: Partial): grpc.ClientReadableStream; @@ -704,4 +772,22 @@ export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCor public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; + public settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; + public settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; + public settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; + public settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + public settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + public settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; + public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; + public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; + public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; + public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; + public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; + public settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; + public settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; + public settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; + public settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; + public settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; + public settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js index 671e361d0..6ea265e3c 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js @@ -27,6 +27,7 @@ var cc_arduino_cli_commands_v1_debug_pb = require('../../../../../cc/arduino/cli var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js'); var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js'); var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js'); +var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/cli/commands/v1/settings_pb.js'); function serialize_cc_arduino_cli_commands_v1_ArchiveSketchRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.ArchiveSketchRequest)) { @@ -688,28 +689,6 @@ function deserialize_cc_arduino_cli_commands_v1_PlatformInstallResponse(buffer_a return cc_arduino_cli_commands_v1_core_pb.PlatformInstallResponse.deserializeBinary(new Uint8Array(buffer_arg)); } -function serialize_cc_arduino_cli_commands_v1_PlatformListRequest(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_core_pb.PlatformListRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.PlatformListRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_PlatformListRequest(buffer_arg) { - return cc_arduino_cli_commands_v1_core_pb.PlatformListRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_commands_v1_PlatformListResponse(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_core_pb.PlatformListResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.PlatformListResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_PlatformListResponse(buffer_arg) { - return cc_arduino_cli_commands_v1_core_pb.PlatformListResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - function serialize_cc_arduino_cli_commands_v1_PlatformSearchRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest)) { throw new Error('Expected argument of type cc.arduino.cli.commands.v1.PlatformSearchRequest'); @@ -798,6 +777,138 @@ function deserialize_cc_arduino_cli_commands_v1_SetSketchDefaultsResponse(buffer return cc_arduino_cli_commands_v1_commands_pb.SetSketchDefaultsResponse.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsDeleteRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsDeleteResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetAllRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetAllResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetValueRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetValueResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsMergeRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsMergeRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsMergeRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsMergeResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsMergeResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsMergeResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsSetValueRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsSetValueResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsWriteRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsWriteRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsWriteRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_SettingsWriteResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsWriteResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_SettingsWriteResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_cc_arduino_cli_commands_v1_SupportedUserFieldsRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_upload_pb.SupportedUserFieldsRequest)) { throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SupportedUserFieldsRequest'); @@ -1276,18 +1387,6 @@ platformSearch: { responseSerialize: serialize_cc_arduino_cli_commands_v1_PlatformSearchResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_PlatformSearchResponse, }, - // List all installed platforms. -platformList: { - path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformList', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, - responseType: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse, - requestSerialize: serialize_cc_arduino_cli_commands_v1_PlatformListRequest, - requestDeserialize: deserialize_cc_arduino_cli_commands_v1_PlatformListRequest, - responseSerialize: serialize_cc_arduino_cli_commands_v1_PlatformListResponse, - responseDeserialize: deserialize_cc_arduino_cli_commands_v1_PlatformListResponse, - }, // Download the archive file of an Arduino library in the libraries index to // the staging directory. libraryDownload: { @@ -1470,5 +1569,77 @@ getDebugConfig: { responseSerialize: serialize_cc_arduino_cli_commands_v1_GetDebugConfigResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_GetDebugConfigResponse, }, + // List all the settings. +settingsGetAll: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse, + }, + // Set multiple settings values at once. +settingsMerge: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsMergeRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsMergeRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsMergeResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsMergeResponse, + }, + // Get the value of a specific setting. +settingsGetValue: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse, + }, + // Set the value of a specific setting. +settingsSetValue: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse, + }, + // Writes to file settings currently stored in memory +settingsWrite: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsWrite', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsWriteRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsWriteRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsWriteResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsWriteResponse, + }, + // Deletes an entry and rewrites the file settings +settingsDelete: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsDelete', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse, + }, }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts index 981a4c793..79e01e887 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts @@ -14,6 +14,7 @@ import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/ import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb"; import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb"; import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb"; +import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb"; export class CreateRequest extends jspb.Message { @@ -421,61 +422,12 @@ export namespace LoadSketchRequest { } } -export class SketchProfile extends jspb.Message { - getName(): string; - setName(value: string): SketchProfile; - getFqbn(): string; - setFqbn(value: string): SketchProfile; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SketchProfile.AsObject; - static toObject(includeInstance: boolean, msg: SketchProfile): SketchProfile.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SketchProfile, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SketchProfile; - static deserializeBinaryFromReader(message: SketchProfile, reader: jspb.BinaryReader): SketchProfile; -} - -export namespace SketchProfile { - export type AsObject = { - name: string, - fqbn: string, - } -} - export class LoadSketchResponse extends jspb.Message { - getMainFile(): string; - setMainFile(value: string): LoadSketchResponse; - getLocationPath(): string; - setLocationPath(value: string): LoadSketchResponse; - clearOtherSketchFilesList(): void; - getOtherSketchFilesList(): Array; - setOtherSketchFilesList(value: Array): LoadSketchResponse; - addOtherSketchFiles(value: string, index?: number): string; - clearAdditionalFilesList(): void; - getAdditionalFilesList(): Array; - setAdditionalFilesList(value: Array): LoadSketchResponse; - addAdditionalFiles(value: string, index?: number): string; - clearRootFolderFilesList(): void; - getRootFolderFilesList(): Array; - setRootFolderFilesList(value: Array): LoadSketchResponse; - addRootFolderFiles(value: string, index?: number): string; - getDefaultFqbn(): string; - setDefaultFqbn(value: string): LoadSketchResponse; - getDefaultPort(): string; - setDefaultPort(value: string): LoadSketchResponse; - getDefaultProtocol(): string; - setDefaultProtocol(value: string): LoadSketchResponse; - clearProfilesList(): void; - getProfilesList(): Array; - setProfilesList(value: Array): LoadSketchResponse; - addProfiles(value?: SketchProfile, index?: number): SketchProfile; - - hasDefaultProfile(): boolean; - clearDefaultProfile(): void; - getDefaultProfile(): SketchProfile | undefined; - setDefaultProfile(value?: SketchProfile): LoadSketchResponse; + + hasSketch(): boolean; + clearSketch(): void; + getSketch(): cc_arduino_cli_commands_v1_common_pb.Sketch | undefined; + setSketch(value?: cc_arduino_cli_commands_v1_common_pb.Sketch): LoadSketchResponse; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LoadSketchResponse.AsObject; @@ -489,16 +441,7 @@ export class LoadSketchResponse extends jspb.Message { export namespace LoadSketchResponse { export type AsObject = { - mainFile: string, - locationPath: string, - otherSketchFilesList: Array, - additionalFilesList: Array, - rootFolderFilesList: Array, - defaultFqbn: string, - defaultPort: string, - defaultProtocol: string, - profilesList: Array, - defaultProfile?: SketchProfile.AsObject, + sketch?: cc_arduino_cli_commands_v1_common_pb.Sketch.AsObject, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js index 7c8f9d694..ebc76506d 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js @@ -39,6 +39,8 @@ var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cl goog.object.extend(proto, cc_arduino_cli_commands_v1_upload_pb); var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_lib_pb); +var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/cli/commands/v1/settings_pb.js'); +goog.object.extend(proto, cc_arduino_cli_commands_v1_settings_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CreateRequest', null, global); @@ -57,7 +59,6 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.NewSketchRequest', null, glo goog.exportSymbol('proto.cc.arduino.cli.commands.v1.NewSketchResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SketchProfile', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateIndexRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateIndexResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest', null, global); @@ -421,27 +422,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.LoadSketchRequest.displayName = 'proto.cc.arduino.cli.commands.v1.LoadSketchRequest'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.cc.arduino.cli.commands.v1.SketchProfile = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.cc.arduino.cli.commands.v1.SketchProfile, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.SketchProfile.displayName = 'proto.cc.arduino.cli.commands.v1.SketchProfile'; -} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -453,7 +433,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.LoadSketchResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.LoadSketchResponse.repeatedFields_, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; goog.inherits(proto.cc.arduino.cli.commands.v1.LoadSketchResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -3222,173 +3202,6 @@ proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.setSketchPath = fun -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SketchProfile.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.toObject = function(includeInstance, msg) { - var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SketchProfile; - return proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setName(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setFqbn(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getName(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getFqbn(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } -}; - - -/** - * optional string name = 1; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setName = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string fqbn = 2; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getFqbn = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this - */ -proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setFqbn = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.repeatedFields_ = [3,4,5,9]; - - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3418,17 +3231,7 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.toObject = functio */ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.toObject = function(includeInstance, msg) { var f, obj = { - mainFile: jspb.Message.getFieldWithDefault(msg, 1, ""), - locationPath: jspb.Message.getFieldWithDefault(msg, 2, ""), - otherSketchFilesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f, - additionalFilesList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f, - rootFolderFilesList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f, - defaultFqbn: jspb.Message.getFieldWithDefault(msg, 6, ""), - defaultPort: jspb.Message.getFieldWithDefault(msg, 7, ""), - defaultProtocol: jspb.Message.getFieldWithDefault(msg, 8, ""), - profilesList: jspb.Message.toObjectList(msg.getProfilesList(), - proto.cc.arduino.cli.commands.v1.SketchProfile.toObject, includeInstance), - defaultProfile: (f = msg.getDefaultProfile()) && proto.cc.arduino.cli.commands.v1.SketchProfile.toObject(includeInstance, f) + sketch: (f = msg.getSketch()) && cc_arduino_cli_commands_v1_common_pb.Sketch.toObject(includeInstance, f) }; if (includeInstance) { @@ -3466,46 +3269,9 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinaryFromReader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMainFile(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setLocationPath(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.addOtherSketchFiles(value); - break; - case 4: - var value = /** @type {string} */ (reader.readString()); - msg.addAdditionalFiles(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.addRootFolderFiles(value); - break; - case 6: - var value = /** @type {string} */ (reader.readString()); - msg.setDefaultFqbn(value); - break; - case 7: - var value = /** @type {string} */ (reader.readString()); - msg.setDefaultPort(value); - break; - case 8: - var value = /** @type {string} */ (reader.readString()); - msg.setDefaultProtocol(value); - break; - case 9: - var value = new proto.cc.arduino.cli.commands.v1.SketchProfile; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader); - msg.addProfiles(value); - break; - case 10: - var value = new proto.cc.arduino.cli.commands.v1.SketchProfile; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader); - msg.setDefaultProfile(value); + var value = new cc_arduino_cli_commands_v1_common_pb.Sketch; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Sketch.deserializeBinaryFromReader); + msg.setSketch(value); break; default: reader.skipField(); @@ -3536,336 +3302,33 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.serializeBinary = */ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMainFile(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getLocationPath(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getOtherSketchFilesList(); - if (f.length > 0) { - writer.writeRepeatedString( - 3, - f - ); - } - f = message.getAdditionalFilesList(); - if (f.length > 0) { - writer.writeRepeatedString( - 4, - f - ); - } - f = message.getRootFolderFilesList(); - if (f.length > 0) { - writer.writeRepeatedString( - 5, - f - ); - } - f = message.getDefaultFqbn(); - if (f.length > 0) { - writer.writeString( - 6, - f - ); - } - f = message.getDefaultPort(); - if (f.length > 0) { - writer.writeString( - 7, - f - ); - } - f = message.getDefaultProtocol(); - if (f.length > 0) { - writer.writeString( - 8, - f - ); - } - f = message.getProfilesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 9, - f, - proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter - ); - } - f = message.getDefaultProfile(); + f = message.getSketch(); if (f != null) { writer.writeMessage( - 10, + 1, f, - proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.Sketch.serializeBinaryToWriter ); } }; /** - * optional string main_file = 1; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getMainFile = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setMainFile = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string location_path = 2; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getLocationPath = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this + * optional Sketch sketch = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Sketch} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setLocationPath = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getSketch = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Sketch} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Sketch, 1)); }; /** - * repeated string other_sketch_files = 3; - * @return {!Array} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getOtherSketchFilesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3)); -}; - - -/** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setOtherSketchFilesList = function(value) { - return jspb.Message.setField(this, 3, value || []); -}; - - -/** - * @param {string} value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.addOtherSketchFiles = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 3, value, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearOtherSketchFilesList = function() { - return this.setOtherSketchFilesList([]); -}; - - -/** - * repeated string additional_files = 4; - * @return {!Array} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getAdditionalFilesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); -}; - - -/** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setAdditionalFilesList = function(value) { - return jspb.Message.setField(this, 4, value || []); -}; - - -/** - * @param {string} value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.addAdditionalFiles = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 4, value, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearAdditionalFilesList = function() { - return this.setAdditionalFilesList([]); -}; - - -/** - * repeated string root_folder_files = 5; - * @return {!Array} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getRootFolderFilesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5)); -}; - - -/** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setRootFolderFilesList = function(value) { - return jspb.Message.setField(this, 5, value || []); -}; - - -/** - * @param {string} value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.addRootFolderFiles = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 5, value, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearRootFolderFilesList = function() { - return this.setRootFolderFilesList([]); -}; - - -/** - * optional string default_fqbn = 6; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getDefaultFqbn = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setDefaultFqbn = function(value) { - return jspb.Message.setProto3StringField(this, 6, value); -}; - - -/** - * optional string default_port = 7; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getDefaultPort = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setDefaultPort = function(value) { - return jspb.Message.setProto3StringField(this, 7, value); -}; - - -/** - * optional string default_protocol = 8; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getDefaultProtocol = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setDefaultProtocol = function(value) { - return jspb.Message.setProto3StringField(this, 8, value); -}; - - -/** - * repeated SketchProfile profiles = 9; - * @return {!Array} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getProfilesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.SketchProfile, 9)); -}; - - -/** - * @param {!Array} value + * @param {?proto.cc.arduino.cli.commands.v1.Sketch|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setProfilesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 9, value); -}; - - -/** - * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile=} opt_value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.addProfiles = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 9, opt_value, proto.cc.arduino.cli.commands.v1.SketchProfile, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearProfilesList = function() { - return this.setProfilesList([]); -}; - - -/** - * optional SketchProfile default_profile = 10; - * @return {?proto.cc.arduino.cli.commands.v1.SketchProfile} - */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getDefaultProfile = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.SketchProfile} */ ( - jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.SketchProfile, 10)); -}; - - -/** - * @param {?proto.cc.arduino.cli.commands.v1.SketchProfile|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setDefaultProfile = function(value) { - return jspb.Message.setWrapperField(this, 10, value); +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setSketch = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; @@ -3873,8 +3336,8 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setDefaultProfile * Clears the message field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearDefaultProfile = function() { - return this.setDefaultProfile(undefined); +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearSketch = function() { + return this.setSketch(undefined); }; @@ -3882,8 +3345,8 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearDefaultProfil * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.hasDefaultProfile = function() { - return jspb.Message.getField(this, 10) != null; +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.hasSketch = function() { + return jspb.Message.getField(this, 1) != null; }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts index 76437e03f..686aaddc7 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts @@ -213,68 +213,154 @@ export namespace MissingProgrammerError { } export class Platform extends jspb.Message { + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): PlatformMetadata | undefined; + setMetadata(value?: PlatformMetadata): Platform; + + hasRelease(): boolean; + clearRelease(): void; + getRelease(): PlatformRelease | undefined; + setRelease(value?: PlatformRelease): Platform; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Platform.AsObject; + static toObject(includeInstance: boolean, msg: Platform): Platform.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Platform, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Platform; + static deserializeBinaryFromReader(message: Platform, reader: jspb.BinaryReader): Platform; +} + +export namespace Platform { + export type AsObject = { + metadata?: PlatformMetadata.AsObject, + release?: PlatformRelease.AsObject, + } +} + +export class PlatformSummary extends jspb.Message { + + hasMetadata(): boolean; + clearMetadata(): void; + getMetadata(): PlatformMetadata | undefined; + setMetadata(value?: PlatformMetadata): PlatformSummary; + + getReleasesMap(): jspb.Map; + clearReleasesMap(): void; + getInstalledVersion(): string; + setInstalledVersion(value: string): PlatformSummary; + getLatestVersion(): string; + setLatestVersion(value: string): PlatformSummary; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): PlatformSummary.AsObject; + static toObject(includeInstance: boolean, msg: PlatformSummary): PlatformSummary.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: PlatformSummary, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): PlatformSummary; + static deserializeBinaryFromReader(message: PlatformSummary, reader: jspb.BinaryReader): PlatformSummary; +} + +export namespace PlatformSummary { + export type AsObject = { + metadata?: PlatformMetadata.AsObject, + + releasesMap: Array<[string, PlatformRelease.AsObject]>, + installedVersion: string, + latestVersion: string, + } +} + +export class PlatformMetadata extends jspb.Message { getId(): string; - setId(value: string): Platform; - getInstalled(): string; - setInstalled(value: string): Platform; - getLatest(): string; - setLatest(value: string): Platform; - getName(): string; - setName(value: string): Platform; + setId(value: string): PlatformMetadata; getMaintainer(): string; - setMaintainer(value: string): Platform; + setMaintainer(value: string): PlatformMetadata; getWebsite(): string; - setWebsite(value: string): Platform; + setWebsite(value: string): PlatformMetadata; getEmail(): string; - setEmail(value: string): Platform; - clearBoardsList(): void; - getBoardsList(): Array; - setBoardsList(value: Array): Platform; - addBoards(value?: Board, index?: number): Board; + setEmail(value: string): PlatformMetadata; getManuallyInstalled(): boolean; - setManuallyInstalled(value: boolean): Platform; + setManuallyInstalled(value: boolean): PlatformMetadata; getDeprecated(): boolean; - setDeprecated(value: boolean): Platform; + setDeprecated(value: boolean): PlatformMetadata; + getIndexed(): boolean; + setIndexed(value: boolean): PlatformMetadata; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): PlatformMetadata.AsObject; + static toObject(includeInstance: boolean, msg: PlatformMetadata): PlatformMetadata.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: PlatformMetadata, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): PlatformMetadata; + static deserializeBinaryFromReader(message: PlatformMetadata, reader: jspb.BinaryReader): PlatformMetadata; +} + +export namespace PlatformMetadata { + export type AsObject = { + id: string, + maintainer: string, + website: string, + email: string, + manuallyInstalled: boolean, + deprecated: boolean, + indexed: boolean, + } +} + +export class PlatformRelease extends jspb.Message { + getName(): string; + setName(value: string): PlatformRelease; + getVersion(): string; + setVersion(value: string): PlatformRelease; clearTypeList(): void; getTypeList(): Array; - setTypeList(value: Array): Platform; + setTypeList(value: Array): PlatformRelease; addType(value: string, index?: number): string; + getInstalled(): boolean; + setInstalled(value: boolean): PlatformRelease; + clearBoardsList(): void; + getBoardsList(): Array; + setBoardsList(value: Array): PlatformRelease; + addBoards(value?: Board, index?: number): Board; hasHelp(): boolean; clearHelp(): void; getHelp(): HelpResources | undefined; - setHelp(value?: HelpResources): Platform; - getIndexed(): boolean; - setIndexed(value: boolean): Platform; + setHelp(value?: HelpResources): PlatformRelease; getMissingMetadata(): boolean; - setMissingMetadata(value: boolean): Platform; + setMissingMetadata(value: boolean): PlatformRelease; + getDeprecated(): boolean; + setDeprecated(value: boolean): PlatformRelease; + getCompatible(): boolean; + setCompatible(value: boolean): PlatformRelease; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Platform.AsObject; - static toObject(includeInstance: boolean, msg: Platform): Platform.AsObject; + toObject(includeInstance?: boolean): PlatformRelease.AsObject; + static toObject(includeInstance: boolean, msg: PlatformRelease): PlatformRelease.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Platform, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Platform; - static deserializeBinaryFromReader(message: Platform, reader: jspb.BinaryReader): Platform; + static serializeBinaryToWriter(message: PlatformRelease, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): PlatformRelease; + static deserializeBinaryFromReader(message: PlatformRelease, reader: jspb.BinaryReader): PlatformRelease; } -export namespace Platform { +export namespace PlatformRelease { export type AsObject = { - id: string, - installed: string, - latest: string, name: string, - maintainer: string, - website: string, - email: string, - boardsList: Array, - manuallyInstalled: boolean, - deprecated: boolean, + version: string, typeList: Array, + installed: boolean, + boardsList: Array, help?: HelpResources.AsObject, - indexed: boolean, missingMetadata: boolean, + deprecated: boolean, + compatible: boolean, } } @@ -372,3 +458,84 @@ export namespace HelpResources { online: string, } } + +export class Sketch extends jspb.Message { + getMainFile(): string; + setMainFile(value: string): Sketch; + getLocationPath(): string; + setLocationPath(value: string): Sketch; + clearOtherSketchFilesList(): void; + getOtherSketchFilesList(): Array; + setOtherSketchFilesList(value: Array): Sketch; + addOtherSketchFiles(value: string, index?: number): string; + clearAdditionalFilesList(): void; + getAdditionalFilesList(): Array; + setAdditionalFilesList(value: Array): Sketch; + addAdditionalFiles(value: string, index?: number): string; + clearRootFolderFilesList(): void; + getRootFolderFilesList(): Array; + setRootFolderFilesList(value: Array): Sketch; + addRootFolderFiles(value: string, index?: number): string; + getDefaultFqbn(): string; + setDefaultFqbn(value: string): Sketch; + getDefaultPort(): string; + setDefaultPort(value: string): Sketch; + getDefaultProtocol(): string; + setDefaultProtocol(value: string): Sketch; + clearProfilesList(): void; + getProfilesList(): Array; + setProfilesList(value: Array): Sketch; + addProfiles(value?: SketchProfile, index?: number): SketchProfile; + + hasDefaultProfile(): boolean; + clearDefaultProfile(): void; + getDefaultProfile(): SketchProfile | undefined; + setDefaultProfile(value?: SketchProfile): Sketch; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Sketch.AsObject; + static toObject(includeInstance: boolean, msg: Sketch): Sketch.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Sketch, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Sketch; + static deserializeBinaryFromReader(message: Sketch, reader: jspb.BinaryReader): Sketch; +} + +export namespace Sketch { + export type AsObject = { + mainFile: string, + locationPath: string, + otherSketchFilesList: Array, + additionalFilesList: Array, + rootFolderFilesList: Array, + defaultFqbn: string, + defaultPort: string, + defaultProtocol: string, + profilesList: Array, + defaultProfile?: SketchProfile.AsObject, + } +} + +export class SketchProfile extends jspb.Message { + getName(): string; + setName(value: string): SketchProfile; + getFqbn(): string; + setFqbn(value: string): SketchProfile; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SketchProfile.AsObject; + static toObject(includeInstance: boolean, msg: SketchProfile): SketchProfile.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SketchProfile, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SketchProfile; + static deserializeBinaryFromReader(message: SketchProfile, reader: jspb.BinaryReader): SketchProfile; +} + +export namespace SketchProfile { + export type AsObject = { + name: string, + fqbn: string, + } +} diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js index 3f7418a1d..d30df0410 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js @@ -32,8 +32,13 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.InstalledPlatformReference', goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Instance', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MissingProgrammerError', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Platform', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformMetadata', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformRelease', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformSummary', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Profile', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Programmer', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Sketch', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SketchProfile', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.TaskProgress', null, global); /** * Generated by JsPbCodeGenerator. @@ -214,7 +219,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.Platform = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.Platform.repeatedFields_, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; goog.inherits(proto.cc.arduino.cli.commands.v1.Platform, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -224,6 +229,69 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.Platform.displayName = 'proto.cc.arduino.cli.commands.v1.Platform'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.PlatformSummary = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformSummary, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.PlatformSummary.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformSummary'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.PlatformMetadata = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformMetadata, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.PlatformMetadata.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformMetadata'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.PlatformRelease.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformRelease, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.PlatformRelease.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformRelease'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -308,6 +376,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.HelpResources.displayName = 'proto.cc.arduino.cli.commands.v1.HelpResources'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Sketch = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.Sketch.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Sketch, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Sketch.displayName = 'proto.cc.arduino.cli.commands.v1.Sketch'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.SketchProfile = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.SketchProfile, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.SketchProfile.displayName = 'proto.cc.arduino.cli.commands.v1.SketchProfile'; +} @@ -1710,13 +1820,6 @@ proto.cc.arduino.cli.commands.v1.MissingProgrammerError.serializeBinaryToWriter -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.cc.arduino.cli.commands.v1.Platform.repeatedFields_ = [8,11]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1748,21 +1851,8 @@ proto.cc.arduino.cli.commands.v1.Platform.prototype.toObject = function(opt_incl */ proto.cc.arduino.cli.commands.v1.Platform.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - installed: jspb.Message.getFieldWithDefault(msg, 2, ""), - latest: jspb.Message.getFieldWithDefault(msg, 3, ""), - name: jspb.Message.getFieldWithDefault(msg, 4, ""), - maintainer: jspb.Message.getFieldWithDefault(msg, 5, ""), - website: jspb.Message.getFieldWithDefault(msg, 6, ""), - email: jspb.Message.getFieldWithDefault(msg, 7, ""), - boardsList: jspb.Message.toObjectList(msg.getBoardsList(), - proto.cc.arduino.cli.commands.v1.Board.toObject, includeInstance), - manuallyInstalled: jspb.Message.getBooleanFieldWithDefault(msg, 9, false), - deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 10, false), - typeList: (f = jspb.Message.getRepeatedField(msg, 11)) == null ? undefined : f, - help: (f = msg.getHelp()) && proto.cc.arduino.cli.commands.v1.HelpResources.toObject(includeInstance, f), - indexed: jspb.Message.getBooleanFieldWithDefault(msg, 13, false), - missingMetadata: jspb.Message.getBooleanFieldWithDefault(msg, 14, false) + metadata: (f = msg.getMetadata()) && proto.cc.arduino.cli.commands.v1.PlatformMetadata.toObject(includeInstance, f), + release: (f = msg.getRelease()) && proto.cc.arduino.cli.commands.v1.PlatformRelease.toObject(includeInstance, f) }; if (includeInstance) { @@ -1800,62 +1890,14 @@ proto.cc.arduino.cli.commands.v1.Platform.deserializeBinaryFromReader = function var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setId(value); + var value = new proto.cc.arduino.cli.commands.v1.PlatformMetadata; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.PlatformMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setInstalled(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setLatest(value); - break; - case 4: - var value = /** @type {string} */ (reader.readString()); - msg.setName(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.setMaintainer(value); - break; - case 6: - var value = /** @type {string} */ (reader.readString()); - msg.setWebsite(value); - break; - case 7: - var value = /** @type {string} */ (reader.readString()); - msg.setEmail(value); - break; - case 8: - var value = new proto.cc.arduino.cli.commands.v1.Board; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader); - msg.addBoards(value); - break; - case 9: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setManuallyInstalled(value); - break; - case 10: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setDeprecated(value); - break; - case 11: - var value = /** @type {string} */ (reader.readString()); - msg.addType(value); - break; - case 12: - var value = new proto.cc.arduino.cli.commands.v1.HelpResources; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader); - msg.setHelp(value); - break; - case 13: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setIndexed(value); - break; - case 14: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setMissingMetadata(value); + var value = new proto.cc.arduino.cli.commands.v1.PlatformRelease; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.PlatformRelease.deserializeBinaryFromReader); + msg.setRelease(value); break; default: reader.skipField(); @@ -1886,416 +1928,340 @@ proto.cc.arduino.cli.commands.v1.Platform.prototype.serializeBinary = function() */ proto.cc.arduino.cli.commands.v1.Platform.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); - if (f.length > 0) { - writer.writeString( + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( 1, - f - ); - } - f = message.getInstalled(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getLatest(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getName(); - if (f.length > 0) { - writer.writeString( - 4, - f - ); - } - f = message.getMaintainer(); - if (f.length > 0) { - writer.writeString( - 5, - f - ); - } - f = message.getWebsite(); - if (f.length > 0) { - writer.writeString( - 6, - f - ); - } - f = message.getEmail(); - if (f.length > 0) { - writer.writeString( - 7, - f - ); - } - f = message.getBoardsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 8, f, - proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter - ); - } - f = message.getManuallyInstalled(); - if (f) { - writer.writeBool( - 9, - f - ); - } - f = message.getDeprecated(); - if (f) { - writer.writeBool( - 10, - f + proto.cc.arduino.cli.commands.v1.PlatformMetadata.serializeBinaryToWriter ); } - f = message.getTypeList(); - if (f.length > 0) { - writer.writeRepeatedString( - 11, - f - ); - } - f = message.getHelp(); + f = message.getRelease(); if (f != null) { writer.writeMessage( - 12, + 2, f, - proto.cc.arduino.cli.commands.v1.HelpResources.serializeBinaryToWriter - ); - } - f = message.getIndexed(); - if (f) { - writer.writeBool( - 13, - f - ); - } - f = message.getMissingMetadata(); - if (f) { - writer.writeBool( - 14, - f + proto.cc.arduino.cli.commands.v1.PlatformRelease.serializeBinaryToWriter ); } }; /** - * optional string id = 1; - * @return {string} + * optional PlatformMetadata metadata = 1; + * @return {?proto.cc.arduino.cli.commands.v1.PlatformMetadata} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.cc.arduino.cli.commands.v1.Platform.prototype.getMetadata = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.PlatformMetadata} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.PlatformMetadata, 1)); }; /** - * @param {string} value + * @param {?proto.cc.arduino.cli.commands.v1.PlatformMetadata|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +*/ +proto.cc.arduino.cli.commands.v1.Platform.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** - * optional string installed = 2; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getInstalled = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.cc.arduino.cli.commands.v1.Platform.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setInstalled = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.cc.arduino.cli.commands.v1.Platform.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * optional string latest = 3; - * @return {string} + * optional PlatformRelease release = 2; + * @return {?proto.cc.arduino.cli.commands.v1.PlatformRelease} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getLatest = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.cc.arduino.cli.commands.v1.Platform.prototype.getRelease = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.PlatformRelease} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.PlatformRelease, 2)); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setLatest = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - -/** - * optional string name = 4; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); -}; - - -/** - * @param {string} value + * @param {?proto.cc.arduino.cli.commands.v1.PlatformRelease|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setName = function(value) { - return jspb.Message.setProto3StringField(this, 4, value); -}; - - -/** - * optional string maintainer = 5; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getMaintainer = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setMaintainer = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); -}; - - -/** - * optional string website = 6; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getWebsite = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +*/ +proto.cc.arduino.cli.commands.v1.Platform.prototype.setRelease = function(value) { + return jspb.Message.setWrapperField(this, 2, value); }; /** - * @param {string} value + * Clears the message field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setWebsite = function(value) { - return jspb.Message.setProto3StringField(this, 6, value); -}; - - -/** - * optional string email = 7; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getEmail = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); +proto.cc.arduino.cli.commands.v1.Platform.prototype.clearRelease = function() { + return this.setRelease(undefined); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setEmail = function(value) { - return jspb.Message.setProto3StringField(this, 7, value); +proto.cc.arduino.cli.commands.v1.Platform.prototype.hasRelease = function() { + return jspb.Message.getField(this, 2) != null; }; -/** - * repeated Board boards = 8; - * @return {!Array} - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getBoardsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.Board, 8)); -}; - -/** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this -*/ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setBoardsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 8, value); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * @param {!proto.cc.arduino.cli.commands.v1.Board=} opt_value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.Board} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.addBoards = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.cc.arduino.cli.commands.v1.Board, opt_index); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.PlatformSummary.toObject(opt_includeInstance, this); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.PlatformSummary} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.clearBoardsList = function() { - return this.setBoardsList([]); -}; - +proto.cc.arduino.cli.commands.v1.PlatformSummary.toObject = function(includeInstance, msg) { + var f, obj = { + metadata: (f = msg.getMetadata()) && proto.cc.arduino.cli.commands.v1.PlatformMetadata.toObject(includeInstance, f), + releasesMap: (f = msg.getReleasesMap()) ? f.toObject(includeInstance, proto.cc.arduino.cli.commands.v1.PlatformRelease.toObject) : [], + installedVersion: jspb.Message.getFieldWithDefault(msg, 3, ""), + latestVersion: jspb.Message.getFieldWithDefault(msg, 4, "") + }; -/** - * optional bool manually_installed = 9; - * @return {boolean} - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getManuallyInstalled = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false)); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setManuallyInstalled = function(value) { - return jspb.Message.setProto3BooleanField(this, 9, value); +proto.cc.arduino.cli.commands.v1.PlatformSummary.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.PlatformSummary; + return proto.cc.arduino.cli.commands.v1.PlatformSummary.deserializeBinaryFromReader(msg, reader); }; /** - * optional bool deprecated = 10; - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformSummary} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getDeprecated = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false)); +proto.cc.arduino.cli.commands.v1.PlatformSummary.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.cc.arduino.cli.commands.v1.PlatformMetadata; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.PlatformMetadata.deserializeBinaryFromReader); + msg.setMetadata(value); + break; + case 2: + var value = msg.getReleasesMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.cc.arduino.cli.commands.v1.PlatformRelease.deserializeBinaryFromReader, "", new proto.cc.arduino.cli.commands.v1.PlatformRelease()); + }); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setInstalledVersion(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setLatestVersion(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setDeprecated = function(value) { - return jspb.Message.setProto3BooleanField(this, 10, value); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.PlatformSummary.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * repeated string type = 11; - * @return {!Array} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformSummary} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getTypeList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 11)); +proto.cc.arduino.cli.commands.v1.PlatformSummary.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getMetadata(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.cc.arduino.cli.commands.v1.PlatformMetadata.serializeBinaryToWriter + ); + } + f = message.getReleasesMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.cc.arduino.cli.commands.v1.PlatformRelease.serializeBinaryToWriter); + } + f = message.getInstalledVersion(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getLatestVersion(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } }; /** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * optional PlatformMetadata metadata = 1; + * @return {?proto.cc.arduino.cli.commands.v1.PlatformMetadata} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setTypeList = function(value) { - return jspb.Message.setField(this, 11, value || []); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.getMetadata = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.PlatformMetadata} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.PlatformMetadata, 1)); }; /** - * @param {string} value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this - */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.addType = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 11, value, opt_index); + * @param {?proto.cc.arduino.cli.commands.v1.PlatformMetadata|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.setMetadata = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} returns this */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.clearTypeList = function() { - return this.setTypeList([]); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.clearMetadata = function() { + return this.setMetadata(undefined); }; /** - * optional HelpResources help = 12; - * @return {?proto.cc.arduino.cli.commands.v1.HelpResources} + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getHelp = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.HelpResources} */ ( - jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.HelpResources, 12)); -}; - - -/** - * @param {?proto.cc.arduino.cli.commands.v1.HelpResources|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this -*/ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setHelp = function(value) { - return jspb.Message.setWrapperField(this, 12, value); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.hasMetadata = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * map releases = 2; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.clearHelp = function() { - return this.setHelp(undefined); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.getReleasesMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 2, opt_noLazyCreate, + proto.cc.arduino.cli.commands.v1.PlatformRelease)); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears values from the map. The map will be non-null. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} returns this */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.hasHelp = function() { - return jspb.Message.getField(this, 12) != null; -}; +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.clearReleasesMap = function() { + this.getReleasesMap().clear(); + return this;}; /** - * optional bool indexed = 13; - * @return {boolean} + * optional string installed_version = 3; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getIndexed = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false)); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.getInstalledVersion = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} returns this */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setIndexed = function(value) { - return jspb.Message.setProto3BooleanField(this, 13, value); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.setInstalledVersion = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * optional bool missing_metadata = 14; - * @return {boolean} + * optional string latest_version = 4; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.getMissingMetadata = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false)); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.getLatestVersion = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.Platform} returns this + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} returns this */ -proto.cc.arduino.cli.commands.v1.Platform.prototype.setMissingMetadata = function(value) { - return jspb.Message.setProto3BooleanField(this, 14, value); +proto.cc.arduino.cli.commands.v1.PlatformSummary.prototype.setLatestVersion = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); }; @@ -2315,8 +2281,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.PlatformMetadata.toObject(opt_includeInstance, this); }; @@ -2325,16 +2291,19 @@ proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.toObject = function(includeInstance, msg) { var f, obj = { id: jspb.Message.getFieldWithDefault(msg, 1, ""), - version: jspb.Message.getFieldWithDefault(msg, 2, ""), - installDir: jspb.Message.getFieldWithDefault(msg, 3, ""), - packageUrl: jspb.Message.getFieldWithDefault(msg, 4, "") + maintainer: jspb.Message.getFieldWithDefault(msg, 2, ""), + website: jspb.Message.getFieldWithDefault(msg, 3, ""), + email: jspb.Message.getFieldWithDefault(msg, 4, ""), + manuallyInstalled: jspb.Message.getBooleanFieldWithDefault(msg, 5, false), + deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 6, false), + indexed: jspb.Message.getBooleanFieldWithDefault(msg, 7, false) }; if (includeInstance) { @@ -2348,23 +2317,23 @@ proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.toObject = function( /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.InstalledPlatformReference; - return proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.PlatformMetadata; + return proto.cc.arduino.cli.commands.v1.PlatformMetadata.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2377,15 +2346,27 @@ proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinaryFro break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setVersion(value); + msg.setMaintainer(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setInstallDir(value); + msg.setWebsite(value); break; case 4: var value = /** @type {string} */ (reader.readString()); - msg.setPackageUrl(value); + msg.setEmail(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setManuallyInstalled(value); + break; + case 6: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDeprecated(value); + break; + case 7: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setIndexed(value); break; default: reader.skipField(); @@ -2400,9 +2381,9 @@ proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinaryFro * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.PlatformMetadata.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2410,11 +2391,11 @@ proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.serializeB /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} message + * @param {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getId(); if (f.length > 0) { @@ -2423,102 +2404,184 @@ proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.serializeBinaryToWri f ); } - f = message.getVersion(); + f = message.getMaintainer(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getInstallDir(); + f = message.getWebsite(); if (f.length > 0) { writer.writeString( 3, f ); } - f = message.getPackageUrl(); + f = message.getEmail(); if (f.length > 0) { writer.writeString( 4, f ); } -}; - - -/** - * optional string id = 1; - * @return {string} + f = message.getManuallyInstalled(); + if (f) { + writer.writeBool( + 5, + f + ); + } + f = message.getDeprecated(); + if (f) { + writer.writeBool( + 6, + f + ); + } + f = message.getIndexed(); + if (f) { + writer.writeBool( + 7, + f + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getId = function() { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.getId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} returns this */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setId = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.setId = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string version = 2; + * optional string maintainer = 2; * @return {string} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getVersion = function() { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.getMaintainer = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} returns this */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setVersion = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.setMaintainer = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string install_dir = 3; + * optional string website = 3; * @return {string} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getInstallDir = function() { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.getWebsite = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} returns this */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setInstallDir = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.setWebsite = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; /** - * optional string package_url = 4; + * optional string email = 4; * @return {string} */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getPackageUrl = function() { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.getEmail = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} returns this */ -proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setPackageUrl = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.setEmail = function(value) { return jspb.Message.setProto3StringField(this, 4, value); }; +/** + * optional bool manually_installed = 5; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.getManuallyInstalled = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.setManuallyInstalled = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + +/** + * optional bool deprecated = 6; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.getDeprecated = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.setDeprecated = function(value) { + return jspb.Message.setProto3BooleanField(this, 6, value); +}; + + +/** + * optional bool indexed = 7; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.getIndexed = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformMetadata} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformMetadata.prototype.setIndexed = function(value) { + return jspb.Message.setProto3BooleanField(this, 7, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.repeatedFields_ = [3,5]; @@ -2535,8 +2598,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.Board.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.Board.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.PlatformRelease.toObject(opt_includeInstance, this); }; @@ -2545,14 +2608,22 @@ proto.cc.arduino.cli.commands.v1.Board.prototype.toObject = function(opt_include * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.Board} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformRelease} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.Board.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.toObject = function(includeInstance, msg) { var f, obj = { name: jspb.Message.getFieldWithDefault(msg, 1, ""), - fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") + version: jspb.Message.getFieldWithDefault(msg, 2, ""), + typeList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f, + installed: jspb.Message.getBooleanFieldWithDefault(msg, 4, false), + boardsList: jspb.Message.toObjectList(msg.getBoardsList(), + proto.cc.arduino.cli.commands.v1.Board.toObject, includeInstance), + help: (f = msg.getHelp()) && proto.cc.arduino.cli.commands.v1.HelpResources.toObject(includeInstance, f), + missingMetadata: jspb.Message.getBooleanFieldWithDefault(msg, 7, false), + deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 8, false), + compatible: jspb.Message.getBooleanFieldWithDefault(msg, 9, false) }; if (includeInstance) { @@ -2566,23 +2637,23 @@ proto.cc.arduino.cli.commands.v1.Board.toObject = function(includeInstance, msg) /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.Board} + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} */ -proto.cc.arduino.cli.commands.v1.Board.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.Board; - return proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.PlatformRelease; + return proto.cc.arduino.cli.commands.v1.PlatformRelease.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.Board} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformRelease} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.Board} + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} */ -proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2595,7 +2666,37 @@ proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader = function(ms break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setFqbn(value); + msg.setVersion(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.addType(value); + break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setInstalled(value); + break; + case 5: + var value = new proto.cc.arduino.cli.commands.v1.Board; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader); + msg.addBoards(value); + break; + case 6: + var value = new proto.cc.arduino.cli.commands.v1.HelpResources; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader); + msg.setHelp(value); + break; + case 7: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setMissingMetadata(value); + break; + case 8: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDeprecated(value); + break; + case 9: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setCompatible(value); break; default: reader.skipField(); @@ -2610,9 +2711,9 @@ proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader = function(ms * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.Board.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.PlatformRelease.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2620,11 +2721,11 @@ proto.cc.arduino.cli.commands.v1.Board.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.Board} message + * @param {!proto.cc.arduino.cli.commands.v1.PlatformRelease} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getName(); if (f.length > 0) { @@ -2633,13 +2734,64 @@ proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter = function(messag f ); } - f = message.getFqbn(); + f = message.getVersion(); if (f.length > 0) { writer.writeString( 2, f ); } + f = message.getTypeList(); + if (f.length > 0) { + writer.writeRepeatedString( + 3, + f + ); + } + f = message.getInstalled(); + if (f) { + writer.writeBool( + 4, + f + ); + } + f = message.getBoardsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 5, + f, + proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter + ); + } + f = message.getHelp(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.cc.arduino.cli.commands.v1.HelpResources.serializeBinaryToWriter + ); + } + f = message.getMissingMetadata(); + if (f) { + writer.writeBool( + 7, + f + ); + } + f = message.getDeprecated(); + if (f) { + writer.writeBool( + 8, + f + ); + } + f = message.getCompatible(); + if (f) { + writer.writeBool( + 9, + f + ); + } }; @@ -2647,115 +2799,1019 @@ proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter = function(messag * optional string name = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.Board.prototype.getName = function() { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getName = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Board} returns this + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.Board.prototype.setName = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setName = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string fqbn = 2; + * optional string version = 2; * @return {string} */ -proto.cc.arduino.cli.commands.v1.Board.prototype.getFqbn = function() { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getVersion = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Board} returns this + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.Board.prototype.setFqbn = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setVersion = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; +/** + * repeated string type = 3; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getTypeList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3)); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.Profile.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setTypeList = function(value) { + return jspb.Message.setField(this, 3, value || []); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.Profile} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.Profile.toObject = function(includeInstance, msg) { - var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") - }; +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.addType = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 3, value, opt_index); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.clearTypeList = function() { + return this.setTypeList([]); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.Profile} + * optional bool installed = 4; + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.Profile.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.Profile; - return proto.cc.arduino.cli.commands.v1.Profile.deserializeBinaryFromReader(msg, reader); +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getInstalled = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.Profile} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.Profile} + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.Profile.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setInstalled = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); +}; + + +/** + * repeated Board boards = 5; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getBoardsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.Board, 5)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setBoardsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 5, value); +}; + + +/** + * @param {!proto.cc.arduino.cli.commands.v1.Board=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.Board} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.addBoards = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.cc.arduino.cli.commands.v1.Board, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.clearBoardsList = function() { + return this.setBoardsList([]); +}; + + +/** + * optional HelpResources help = 6; + * @return {?proto.cc.arduino.cli.commands.v1.HelpResources} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getHelp = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.HelpResources} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.HelpResources, 6)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.HelpResources|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setHelp = function(value) { + return jspb.Message.setWrapperField(this, 6, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.clearHelp = function() { + return this.setHelp(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.hasHelp = function() { + return jspb.Message.getField(this, 6) != null; +}; + + +/** + * optional bool missing_metadata = 7; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getMissingMetadata = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setMissingMetadata = function(value) { + return jspb.Message.setProto3BooleanField(this, 7, value); +}; + + +/** + * optional bool deprecated = 8; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getDeprecated = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setDeprecated = function(value) { + return jspb.Message.setProto3BooleanField(this, 8, value); +}; + + +/** + * optional bool compatible = 9; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getCompatible = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setCompatible = function(value) { + return jspb.Message.setProto3BooleanField(this, 9, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + version: jspb.Message.getFieldWithDefault(msg, 2, ""), + installDir: jspb.Message.getFieldWithDefault(msg, 3, ""), + packageUrl: jspb.Message.getFieldWithDefault(msg, 4, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.InstalledPlatformReference; + return proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setVersion(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setInstallDir(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setPackageUrl(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getVersion(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getInstallDir(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getPackageUrl(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string version = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getVersion = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setVersion = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string install_dir = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getInstallDir = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setInstallDir = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional string package_url = 4; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.getPackageUrl = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} returns this + */ +proto.cc.arduino.cli.commands.v1.InstalledPlatformReference.prototype.setPackageUrl = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Board.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Board.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Board} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Board.toObject = function(includeInstance, msg) { + var f, obj = { + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Board} + */ +proto.cc.arduino.cli.commands.v1.Board.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Board; + return proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Board} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Board} + */ +proto.cc.arduino.cli.commands.v1.Board.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setFqbn(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Board.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Board} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Board.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getFqbn(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string name = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Board.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Board} returns this + */ +proto.cc.arduino.cli.commands.v1.Board.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string fqbn = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Board.prototype.getFqbn = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Board} returns this + */ +proto.cc.arduino.cli.commands.v1.Board.prototype.setFqbn = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Profile.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Profile.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Profile} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Profile.toObject = function(includeInstance, msg) { + var f, obj = { + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Profile} + */ +proto.cc.arduino.cli.commands.v1.Profile.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Profile; + return proto.cc.arduino.cli.commands.v1.Profile.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Profile} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Profile} + */ +proto.cc.arduino.cli.commands.v1.Profile.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setFqbn(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Profile.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Profile.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Profile} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Profile.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getFqbn(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string name = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Profile.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Profile} returns this + */ +proto.cc.arduino.cli.commands.v1.Profile.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string fqbn = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Profile.prototype.getFqbn = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Profile} returns this + */ +proto.cc.arduino.cli.commands.v1.Profile.prototype.setFqbn = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.HelpResources.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.HelpResources.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.HelpResources} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.HelpResources.toObject = function(includeInstance, msg) { + var f, obj = { + online: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.HelpResources} + */ +proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.HelpResources; + return proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.HelpResources} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.HelpResources} + */ +proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setName(value); + msg.setOnline(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.HelpResources.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.HelpResources.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.HelpResources} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.HelpResources.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOnline(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string online = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.HelpResources.prototype.getOnline = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.HelpResources} returns this + */ +proto.cc.arduino.cli.commands.v1.HelpResources.prototype.setOnline = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.Sketch.repeatedFields_ = [3,4,5,9]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Sketch.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Sketch} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Sketch.toObject = function(includeInstance, msg) { + var f, obj = { + mainFile: jspb.Message.getFieldWithDefault(msg, 1, ""), + locationPath: jspb.Message.getFieldWithDefault(msg, 2, ""), + otherSketchFilesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f, + additionalFilesList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f, + rootFolderFilesList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f, + defaultFqbn: jspb.Message.getFieldWithDefault(msg, 6, ""), + defaultPort: jspb.Message.getFieldWithDefault(msg, 7, ""), + defaultProtocol: jspb.Message.getFieldWithDefault(msg, 8, ""), + profilesList: jspb.Message.toObjectList(msg.getProfilesList(), + proto.cc.arduino.cli.commands.v1.SketchProfile.toObject, includeInstance), + defaultProfile: (f = msg.getDefaultProfile()) && proto.cc.arduino.cli.commands.v1.SketchProfile.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} + */ +proto.cc.arduino.cli.commands.v1.Sketch.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Sketch; + return proto.cc.arduino.cli.commands.v1.Sketch.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Sketch} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} + */ +proto.cc.arduino.cli.commands.v1.Sketch.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setMainFile(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setFqbn(value); + msg.setLocationPath(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.addOtherSketchFiles(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.addAdditionalFiles(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.addRootFolderFiles(value); + break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultFqbn(value); + break; + case 7: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultPort(value); + break; + case 8: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultProtocol(value); + break; + case 9: + var value = new proto.cc.arduino.cli.commands.v1.SketchProfile; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader); + msg.addProfiles(value); + break; + case 10: + var value = new proto.cc.arduino.cli.commands.v1.SketchProfile; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader); + msg.setDefaultProfile(value); break; default: reader.skipField(); @@ -2770,9 +3826,9 @@ proto.cc.arduino.cli.commands.v1.Profile.deserializeBinaryFromReader = function( * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.Sketch.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.Profile.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.Sketch.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2780,65 +3836,363 @@ proto.cc.arduino.cli.commands.v1.Profile.prototype.serializeBinary = function() /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.Profile} message + * @param {!proto.cc.arduino.cli.commands.v1.Sketch} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.Profile.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.Sketch.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getName(); + f = message.getMainFile(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getLocationPath(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getOtherSketchFilesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 3, + f + ); + } + f = message.getAdditionalFilesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 4, + f + ); + } + f = message.getRootFolderFilesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 5, + f + ); + } + f = message.getDefaultFqbn(); if (f.length > 0) { writer.writeString( - 1, + 6, f ); } - f = message.getFqbn(); + f = message.getDefaultPort(); if (f.length > 0) { writer.writeString( - 2, + 7, + f + ); + } + f = message.getDefaultProtocol(); + if (f.length > 0) { + writer.writeString( + 8, f ); } + f = message.getProfilesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 9, + f, + proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter + ); + } + f = message.getDefaultProfile(); + if (f != null) { + writer.writeMessage( + 10, + f, + proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter + ); + } }; /** - * optional string name = 1; + * optional string main_file = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.getName = function() { +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getMainFile = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Profile} returns this + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.setName = function(value) { +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setMainFile = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string fqbn = 2; + * optional string location_path = 2; * @return {string} */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.getFqbn = function() { +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getLocationPath = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Profile} returns this + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.setFqbn = function(value) { +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setLocationPath = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; +/** + * repeated string other_sketch_files = 3; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getOtherSketchFilesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setOtherSketchFilesList = function(value) { + return jspb.Message.setField(this, 3, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.addOtherSketchFiles = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 3, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.clearOtherSketchFilesList = function() { + return this.setOtherSketchFilesList([]); +}; + + +/** + * repeated string additional_files = 4; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getAdditionalFilesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setAdditionalFilesList = function(value) { + return jspb.Message.setField(this, 4, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.addAdditionalFiles = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 4, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.clearAdditionalFilesList = function() { + return this.setAdditionalFilesList([]); +}; + + +/** + * repeated string root_folder_files = 5; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getRootFolderFilesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setRootFolderFilesList = function(value) { + return jspb.Message.setField(this, 5, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.addRootFolderFiles = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 5, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.clearRootFolderFilesList = function() { + return this.setRootFolderFilesList([]); +}; + + +/** + * optional string default_fqbn = 6; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getDefaultFqbn = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setDefaultFqbn = function(value) { + return jspb.Message.setProto3StringField(this, 6, value); +}; + + +/** + * optional string default_port = 7; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getDefaultPort = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setDefaultPort = function(value) { + return jspb.Message.setProto3StringField(this, 7, value); +}; + + +/** + * optional string default_protocol = 8; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getDefaultProtocol = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setDefaultProtocol = function(value) { + return jspb.Message.setProto3StringField(this, 8, value); +}; + + +/** + * repeated SketchProfile profiles = 9; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getProfilesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.SketchProfile, 9)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this +*/ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setProfilesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 9, value); +}; + + +/** + * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.addProfiles = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 9, opt_value, proto.cc.arduino.cli.commands.v1.SketchProfile, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.clearProfilesList = function() { + return this.setProfilesList([]); +}; + + +/** + * optional SketchProfile default_profile = 10; + * @return {?proto.cc.arduino.cli.commands.v1.SketchProfile} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getDefaultProfile = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.SketchProfile} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.SketchProfile, 10)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.SketchProfile|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this +*/ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setDefaultProfile = function(value) { + return jspb.Message.setWrapperField(this, 10, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.clearDefaultProfile = function() { + return this.setDefaultProfile(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.hasDefaultProfile = function() { + return jspb.Message.getField(this, 10) != null; +}; + + @@ -2855,8 +4209,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.HelpResources.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.HelpResources.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SketchProfile.toObject(opt_includeInstance, this); }; @@ -2865,13 +4219,14 @@ proto.cc.arduino.cli.commands.v1.HelpResources.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.HelpResources} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.HelpResources.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SketchProfile.toObject = function(includeInstance, msg) { var f, obj = { - online: jspb.Message.getFieldWithDefault(msg, 1, "") + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -2885,23 +4240,23 @@ proto.cc.arduino.cli.commands.v1.HelpResources.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.HelpResources} + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} */ -proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.HelpResources; - return proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SketchProfile; + return proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.HelpResources} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.HelpResources} + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} */ -proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2910,7 +4265,11 @@ proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader = fun switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setOnline(value); + msg.setName(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setFqbn(value); break; default: reader.skipField(); @@ -2925,9 +4284,9 @@ proto.cc.arduino.cli.commands.v1.HelpResources.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.HelpResources.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.HelpResources.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2935,38 +4294,63 @@ proto.cc.arduino.cli.commands.v1.HelpResources.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.HelpResources} message + * @param {!proto.cc.arduino.cli.commands.v1.SketchProfile} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.HelpResources.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getOnline(); + f = message.getName(); if (f.length > 0) { writer.writeString( 1, f ); } + f = message.getFqbn(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } }; /** - * optional string online = 1; + * optional string name = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.HelpResources.prototype.getOnline = function() { +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getName = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.HelpResources} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this */ -proto.cc.arduino.cli.commands.v1.HelpResources.prototype.setOnline = function(value) { +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setName = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; +/** + * optional string fqbn = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getFqbn = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setFqbn = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + goog.object.extend(exports, proto.cc.arduino.cli.commands.v1); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts index d24160005..b5e832ec0 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts @@ -116,65 +116,110 @@ export namespace CompileRequest { } export class CompileResponse extends jspb.Message { + + hasOutStream(): boolean; + clearOutStream(): void; getOutStream(): Uint8Array | string; getOutStream_asU8(): Uint8Array; getOutStream_asB64(): string; setOutStream(value: Uint8Array | string): CompileResponse; + + hasErrStream(): boolean; + clearErrStream(): void; getErrStream(): Uint8Array | string; getErrStream_asU8(): Uint8Array; getErrStream_asB64(): string; setErrStream(value: Uint8Array | string): CompileResponse; + + hasProgress(): boolean; + clearProgress(): void; + getProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; + setProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): CompileResponse; + + hasResult(): boolean; + clearResult(): void; + getResult(): BuilderResult | undefined; + setResult(value?: BuilderResult): CompileResponse; + + getMessageCase(): CompileResponse.MessageCase; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CompileResponse.AsObject; + static toObject(includeInstance: boolean, msg: CompileResponse): CompileResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CompileResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CompileResponse; + static deserializeBinaryFromReader(message: CompileResponse, reader: jspb.BinaryReader): CompileResponse; +} + +export namespace CompileResponse { + export type AsObject = { + outStream: Uint8Array | string, + errStream: Uint8Array | string, + progress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: BuilderResult.AsObject, + } + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + OUT_STREAM = 1, + ERR_STREAM = 2, + PROGRESS = 3, + RESULT = 4, + } + +} + +export class BuilderResult extends jspb.Message { getBuildPath(): string; - setBuildPath(value: string): CompileResponse; + setBuildPath(value: string): BuilderResult; clearUsedLibrariesList(): void; getUsedLibrariesList(): Array; - setUsedLibrariesList(value: Array): CompileResponse; + setUsedLibrariesList(value: Array): BuilderResult; addUsedLibraries(value?: cc_arduino_cli_commands_v1_lib_pb.Library, index?: number): cc_arduino_cli_commands_v1_lib_pb.Library; clearExecutableSectionsSizeList(): void; getExecutableSectionsSizeList(): Array; - setExecutableSectionsSizeList(value: Array): CompileResponse; + setExecutableSectionsSizeList(value: Array): BuilderResult; addExecutableSectionsSize(value?: ExecutableSectionSize, index?: number): ExecutableSectionSize; hasBoardPlatform(): boolean; clearBoardPlatform(): void; getBoardPlatform(): cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference | undefined; - setBoardPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): CompileResponse; + setBoardPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): BuilderResult; hasBuildPlatform(): boolean; clearBuildPlatform(): void; getBuildPlatform(): cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference | undefined; - setBuildPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): CompileResponse; - - hasProgress(): boolean; - clearProgress(): void; - getProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; - setProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): CompileResponse; + setBuildPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): BuilderResult; clearBuildPropertiesList(): void; getBuildPropertiesList(): Array; - setBuildPropertiesList(value: Array): CompileResponse; + setBuildPropertiesList(value: Array): BuilderResult; addBuildProperties(value: string, index?: number): string; + clearDiagnosticsList(): void; + getDiagnosticsList(): Array; + setDiagnosticsList(value: Array): BuilderResult; + addDiagnostics(value?: CompileDiagnostic, index?: number): CompileDiagnostic; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): CompileResponse.AsObject; - static toObject(includeInstance: boolean, msg: CompileResponse): CompileResponse.AsObject; + toObject(includeInstance?: boolean): BuilderResult.AsObject; + static toObject(includeInstance: boolean, msg: BuilderResult): BuilderResult.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: CompileResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): CompileResponse; - static deserializeBinaryFromReader(message: CompileResponse, reader: jspb.BinaryReader): CompileResponse; + static serializeBinaryToWriter(message: BuilderResult, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): BuilderResult; + static deserializeBinaryFromReader(message: BuilderResult, reader: jspb.BinaryReader): BuilderResult; } -export namespace CompileResponse { +export namespace BuilderResult { export type AsObject = { - outStream: Uint8Array | string, - errStream: Uint8Array | string, buildPath: string, usedLibrariesList: Array, executableSectionsSizeList: Array, boardPlatform?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.AsObject, buildPlatform?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.AsObject, - progress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, buildPropertiesList: Array, + diagnosticsList: Array, } } @@ -203,3 +248,103 @@ export namespace ExecutableSectionSize { maxSize: number, } } + +export class CompileDiagnostic extends jspb.Message { + getSeverity(): string; + setSeverity(value: string): CompileDiagnostic; + getMessage(): string; + setMessage(value: string): CompileDiagnostic; + getFile(): string; + setFile(value: string): CompileDiagnostic; + getLine(): number; + setLine(value: number): CompileDiagnostic; + getColumn(): number; + setColumn(value: number): CompileDiagnostic; + clearContextList(): void; + getContextList(): Array; + setContextList(value: Array): CompileDiagnostic; + addContext(value?: CompileDiagnosticContext, index?: number): CompileDiagnosticContext; + clearNotesList(): void; + getNotesList(): Array; + setNotesList(value: Array): CompileDiagnostic; + addNotes(value?: CompileDiagnosticNote, index?: number): CompileDiagnosticNote; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CompileDiagnostic.AsObject; + static toObject(includeInstance: boolean, msg: CompileDiagnostic): CompileDiagnostic.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CompileDiagnostic, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CompileDiagnostic; + static deserializeBinaryFromReader(message: CompileDiagnostic, reader: jspb.BinaryReader): CompileDiagnostic; +} + +export namespace CompileDiagnostic { + export type AsObject = { + severity: string, + message: string, + file: string, + line: number, + column: number, + contextList: Array, + notesList: Array, + } +} + +export class CompileDiagnosticContext extends jspb.Message { + getMessage(): string; + setMessage(value: string): CompileDiagnosticContext; + getFile(): string; + setFile(value: string): CompileDiagnosticContext; + getLine(): number; + setLine(value: number): CompileDiagnosticContext; + getColumn(): number; + setColumn(value: number): CompileDiagnosticContext; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CompileDiagnosticContext.AsObject; + static toObject(includeInstance: boolean, msg: CompileDiagnosticContext): CompileDiagnosticContext.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CompileDiagnosticContext, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CompileDiagnosticContext; + static deserializeBinaryFromReader(message: CompileDiagnosticContext, reader: jspb.BinaryReader): CompileDiagnosticContext; +} + +export namespace CompileDiagnosticContext { + export type AsObject = { + message: string, + file: string, + line: number, + column: number, + } +} + +export class CompileDiagnosticNote extends jspb.Message { + getMessage(): string; + setMessage(value: string): CompileDiagnosticNote; + getFile(): string; + setFile(value: string): CompileDiagnosticNote; + getLine(): number; + setLine(value: number): CompileDiagnosticNote; + getColumn(): number; + setColumn(value: number): CompileDiagnosticNote; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CompileDiagnosticNote.AsObject; + static toObject(includeInstance: boolean, msg: CompileDiagnosticNote): CompileDiagnosticNote.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CompileDiagnosticNote, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CompileDiagnosticNote; + static deserializeBinaryFromReader(message: CompileDiagnosticNote, reader: jspb.BinaryReader): CompileDiagnosticNote; +} + +export namespace CompileDiagnosticNote { + export type AsObject = { + message: string, + file: string, + line: number, + column: number, + } +} diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js index 7dcaad1ee..affc77361 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js @@ -27,8 +27,13 @@ var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cl goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb); var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_lib_pb); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BuilderResult', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileDiagnostic', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileResponse.MessageCase', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ExecutableSectionSize', null, global); /** * Generated by JsPbCodeGenerator. @@ -62,7 +67,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.CompileResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.CompileResponse.repeatedFields_, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.CompileResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -72,6 +77,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.CompileResponse.displayName = 'proto.cc.arduino.cli.commands.v1.CompileResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.BuilderResult = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.BuilderResult.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.BuilderResult, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.BuilderResult.displayName = 'proto.cc.arduino.cli.commands.v1.BuilderResult'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -93,6 +119,69 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.displayName = 'proto.cc.arduino.cli.commands.v1.ExecutableSectionSize'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.CompileDiagnostic.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.CompileDiagnostic, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.CompileDiagnostic.displayName = 'proto.cc.arduino.cli.commands.v1.CompileDiagnostic'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.displayName = 'proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.displayName = 'proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote'; +} /** * List of repeated fields within this message type. @@ -1054,11 +1143,32 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.setDoNotExpandBuildPro /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.cc.arduino.cli.commands.v1.CompileResponse.repeatedFields_ = [4,5,9]; +proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_ = [[1,2,3,4]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.CompileResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + OUT_STREAM: 1, + ERR_STREAM: 2, + PROGRESS: 3, + RESULT: 4 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.CompileResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.CompileResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_[0])); +}; @@ -1093,15 +1203,8 @@ proto.cc.arduino.cli.commands.v1.CompileResponse.toObject = function(includeInst var f, obj = { outStream: msg.getOutStream_asB64(), errStream: msg.getErrStream_asB64(), - buildPath: jspb.Message.getFieldWithDefault(msg, 3, ""), - usedLibrariesList: jspb.Message.toObjectList(msg.getUsedLibrariesList(), - cc_arduino_cli_commands_v1_lib_pb.Library.toObject, includeInstance), - executableSectionsSizeList: jspb.Message.toObjectList(msg.getExecutableSectionsSizeList(), - proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.toObject, includeInstance), - boardPlatform: (f = msg.getBoardPlatform()) && cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.toObject(includeInstance, f), - buildPlatform: (f = msg.getBuildPlatform()) && cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.toObject(includeInstance, f), progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), - buildPropertiesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.BuilderResult.toObject(includeInstance, f) }; if (includeInstance) { @@ -1147,37 +1250,14 @@ proto.cc.arduino.cli.commands.v1.CompileResponse.deserializeBinaryFromReader = f msg.setErrStream(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setBuildPath(value); - break; - case 4: - var value = new cc_arduino_cli_commands_v1_lib_pb.Library; - reader.readMessage(value,cc_arduino_cli_commands_v1_lib_pb.Library.deserializeBinaryFromReader); - msg.addUsedLibraries(value); - break; - case 5: - var value = new proto.cc.arduino.cli.commands.v1.ExecutableSectionSize; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromReader); - msg.addExecutableSectionsSize(value); - break; - case 6: - var value = new cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.deserializeBinaryFromReader); - msg.setBoardPlatform(value); - break; - case 7: - var value = new cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.deserializeBinaryFromReader); - msg.setBuildPlatform(value); - break; - case 8: var value = new cc_arduino_cli_commands_v1_common_pb.TaskProgress; reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setProgress(value); break; - case 9: - var value = /** @type {string} */ (reader.readString()); - msg.addBuildProperties(value); + case 4: + var value = new proto.cc.arduino.cli.commands.v1.BuilderResult; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.BuilderResult.deserializeBinaryFromReader); + msg.setResult(value); break; default: reader.skipField(); @@ -1208,72 +1288,34 @@ proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.serializeBinary = fun */ proto.cc.arduino.cli.commands.v1.CompileResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getOutStream_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { writer.writeBytes( 1, f ); } - f = message.getErrStream_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + if (f != null) { writer.writeBytes( 2, f ); } - f = message.getBuildPath(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getUsedLibrariesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 4, - f, - cc_arduino_cli_commands_v1_lib_pb.Library.serializeBinaryToWriter - ); - } - f = message.getExecutableSectionsSizeList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 5, - f, - proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.serializeBinaryToWriter - ); - } - f = message.getBoardPlatform(); - if (f != null) { - writer.writeMessage( - 6, - f, - cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.serializeBinaryToWriter - ); - } - f = message.getBuildPlatform(); + f = message.getProgress(); if (f != null) { writer.writeMessage( - 7, + 3, f, - cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } - f = message.getProgress(); + f = message.getResult(); if (f != null) { writer.writeMessage( - 8, + 4, f, - cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter - ); - } - f = message.getBuildPropertiesList(); - if (f.length > 0) { - writer.writeRepeatedString( - 9, - f + proto.cc.arduino.cli.commands.v1.BuilderResult.serializeBinaryToWriter ); } }; @@ -1317,7 +1359,25 @@ proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getOutStream_asU8 = f * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this */ proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setOutStream = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearOutStream = function() { + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasOutStream = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -1359,249 +1419,1319 @@ proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getErrStream_asU8 = f * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this */ proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setErrStream = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_[0], value); }; /** - * optional string build_path = 3; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getBuildPath = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearErrStream = function() { + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_[0], undefined); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setBuildPath = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasErrStream = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * repeated Library used_libraries = 4; - * @return {!Array} + * optional TaskProgress progress = 3; + * @return {?proto.cc.arduino.cli.commands.v1.TaskProgress} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getUsedLibrariesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, cc_arduino_cli_commands_v1_lib_pb.Library, 4)); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getProgress = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.TaskProgress} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.TaskProgress, 3)); }; /** - * @param {!Array} value + * @param {?proto.cc.arduino.cli.commands.v1.TaskProgress|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setUsedLibrariesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 4, value); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setProgress = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_[0], value); }; /** - * @param {!proto.cc.arduino.cli.commands.v1.Library=} opt_value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.Library} + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.addUsedLibraries = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.cc.arduino.cli.commands.v1.Library, opt_index); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearProgress = function() { + return this.setProgress(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearUsedLibrariesList = function() { - return this.setUsedLibrariesList([]); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasProgress = function() { + return jspb.Message.getField(this, 3) != null; }; /** - * repeated ExecutableSectionSize executable_sections_size = 5; - * @return {!Array} + * optional BuilderResult result = 4; + * @return {?proto.cc.arduino.cli.commands.v1.BuilderResult} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getExecutableSectionsSizeList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.ExecutableSectionSize, 5)); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.BuilderResult} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.BuilderResult, 4)); }; /** - * @param {!Array} value + * @param {?proto.cc.arduino.cli.commands.v1.BuilderResult|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setExecutableSectionsSizeList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 5, value); -}; - - -/** - * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize=} opt_value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} - */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.addExecutableSectionsSize = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.cc.arduino.cli.commands.v1.ExecutableSectionSize, opt_index); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 4, proto.cc.arduino.cli.commands.v1.CompileResponse.oneofGroups_[0], value); }; /** - * Clears the list making it empty but non-null. + * Clears the message field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearExecutableSectionsSizeList = function() { - return this.setExecutableSectionsSizeList([]); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearResult = function() { + return this.setResult(undefined); }; /** - * optional InstalledPlatformReference board_platform = 6; - * @return {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getBoardPlatform = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference, 6)); +proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 4) != null; }; -/** - * @param {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setBoardPlatform = function(value) { - return jspb.Message.setWrapperField(this, 6, value); -}; - /** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearBoardPlatform = function() { - return this.setBoardPlatform(undefined); -}; +proto.cc.arduino.cli.commands.v1.BuilderResult.repeatedFields_ = [2,3,7,8]; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasBoardPlatform = function() { - return jspb.Message.getField(this, 6) != null; +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.BuilderResult.toObject(opt_includeInstance, this); }; /** - * optional InstalledPlatformReference build_platform = 7; - * @return {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} - */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getBuildPlatform = function() { + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.BuilderResult} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.toObject = function(includeInstance, msg) { + var f, obj = { + buildPath: jspb.Message.getFieldWithDefault(msg, 1, ""), + usedLibrariesList: jspb.Message.toObjectList(msg.getUsedLibrariesList(), + cc_arduino_cli_commands_v1_lib_pb.Library.toObject, includeInstance), + executableSectionsSizeList: jspb.Message.toObjectList(msg.getExecutableSectionsSizeList(), + proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.toObject, includeInstance), + boardPlatform: (f = msg.getBoardPlatform()) && cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.toObject(includeInstance, f), + buildPlatform: (f = msg.getBuildPlatform()) && cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.toObject(includeInstance, f), + buildPropertiesList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f, + diagnosticsList: jspb.Message.toObjectList(msg.getDiagnosticsList(), + proto.cc.arduino.cli.commands.v1.CompileDiagnostic.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.BuilderResult; + return proto.cc.arduino.cli.commands.v1.BuilderResult.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.BuilderResult} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setBuildPath(value); + break; + case 2: + var value = new cc_arduino_cli_commands_v1_lib_pb.Library; + reader.readMessage(value,cc_arduino_cli_commands_v1_lib_pb.Library.deserializeBinaryFromReader); + msg.addUsedLibraries(value); + break; + case 3: + var value = new proto.cc.arduino.cli.commands.v1.ExecutableSectionSize; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromReader); + msg.addExecutableSectionsSize(value); + break; + case 4: + var value = new cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.deserializeBinaryFromReader); + msg.setBoardPlatform(value); + break; + case 5: + var value = new cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.deserializeBinaryFromReader); + msg.setBuildPlatform(value); + break; + case 7: + var value = /** @type {string} */ (reader.readString()); + msg.addBuildProperties(value); + break; + case 8: + var value = new proto.cc.arduino.cli.commands.v1.CompileDiagnostic; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.CompileDiagnostic.deserializeBinaryFromReader); + msg.addDiagnostics(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.BuilderResult.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.BuilderResult} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBuildPath(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getUsedLibrariesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + cc_arduino_cli_commands_v1_lib_pb.Library.serializeBinaryToWriter + ); + } + f = message.getExecutableSectionsSizeList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 3, + f, + proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.serializeBinaryToWriter + ); + } + f = message.getBoardPlatform(); + if (f != null) { + writer.writeMessage( + 4, + f, + cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.serializeBinaryToWriter + ); + } + f = message.getBuildPlatform(); + if (f != null) { + writer.writeMessage( + 5, + f, + cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.serializeBinaryToWriter + ); + } + f = message.getBuildPropertiesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 7, + f + ); + } + f = message.getDiagnosticsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 8, + f, + proto.cc.arduino.cli.commands.v1.CompileDiagnostic.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string build_path = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.getBuildPath = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.setBuildPath = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * repeated Library used_libraries = 2; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.getUsedLibrariesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, cc_arduino_cli_commands_v1_lib_pb.Library, 2)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this +*/ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.setUsedLibrariesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); +}; + + +/** + * @param {!proto.cc.arduino.cli.commands.v1.Library=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.Library} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.addUsedLibraries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.cc.arduino.cli.commands.v1.Library, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.clearUsedLibrariesList = function() { + return this.setUsedLibrariesList([]); +}; + + +/** + * repeated ExecutableSectionSize executable_sections_size = 3; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.getExecutableSectionsSizeList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.ExecutableSectionSize, 3)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this +*/ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.setExecutableSectionsSizeList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 3, value); +}; + + +/** + * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.addExecutableSectionsSize = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.cc.arduino.cli.commands.v1.ExecutableSectionSize, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.clearExecutableSectionsSizeList = function() { + return this.setExecutableSectionsSizeList([]); +}; + + +/** + * optional InstalledPlatformReference board_platform = 4; + * @return {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.getBoardPlatform = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference, 4)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this +*/ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.setBoardPlatform = function(value) { + return jspb.Message.setWrapperField(this, 4, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.clearBoardPlatform = function() { + return this.setBoardPlatform(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.hasBoardPlatform = function() { + return jspb.Message.getField(this, 4) != null; +}; + + +/** + * optional InstalledPlatformReference build_platform = 5; + * @return {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.getBuildPlatform = function() { return /** @type{?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference, 7)); + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference, 5)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this +*/ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.setBuildPlatform = function(value) { + return jspb.Message.setWrapperField(this, 5, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.clearBuildPlatform = function() { + return this.setBuildPlatform(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.hasBuildPlatform = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * repeated string build_properties = 7; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.getBuildPropertiesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 7)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.setBuildPropertiesList = function(value) { + return jspb.Message.setField(this, 7, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.addBuildProperties = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 7, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.clearBuildPropertiesList = function() { + return this.setBuildPropertiesList([]); +}; + + +/** + * repeated CompileDiagnostic diagnostics = 8; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.getDiagnosticsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.CompileDiagnostic, 8)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this +*/ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.setDiagnosticsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 8, value); +}; + + +/** + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.addDiagnostics = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.cc.arduino.cli.commands.v1.CompileDiagnostic, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BuilderResult} returns this + */ +proto.cc.arduino.cli.commands.v1.BuilderResult.prototype.clearDiagnosticsList = function() { + return this.setDiagnosticsList([]); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.toObject = function(includeInstance, msg) { + var f, obj = { + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + size: jspb.Message.getFieldWithDefault(msg, 2, 0), + maxSize: jspb.Message.getFieldWithDefault(msg, 3, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.ExecutableSectionSize; + return proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + case 2: + var value = /** @type {number} */ (reader.readInt64()); + msg.setSize(value); + break; + case 3: + var value = /** @type {number} */ (reader.readInt64()); + msg.setMaxSize(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getSize(); + if (f !== 0) { + writer.writeInt64( + 2, + f + ); + } + f = message.getMaxSize(); + if (f !== 0) { + writer.writeInt64( + 3, + f + ); + } +}; + + +/** + * optional string name = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} returns this + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional int64 size = 2; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.getSize = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} returns this + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.setSize = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional int64 max_size = 3; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.getMaxSize = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} returns this + */ +proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.setMaxSize = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.repeatedFields_ = [6,7]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.CompileDiagnostic.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.toObject = function(includeInstance, msg) { + var f, obj = { + severity: jspb.Message.getFieldWithDefault(msg, 1, ""), + message: jspb.Message.getFieldWithDefault(msg, 2, ""), + file: jspb.Message.getFieldWithDefault(msg, 3, ""), + line: jspb.Message.getFieldWithDefault(msg, 4, 0), + column: jspb.Message.getFieldWithDefault(msg, 5, 0), + contextList: jspb.Message.toObjectList(msg.getContextList(), + proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.toObject, includeInstance), + notesList: jspb.Message.toObjectList(msg.getNotesList(), + proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.CompileDiagnostic; + return proto.cc.arduino.cli.commands.v1.CompileDiagnostic.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setSeverity(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMessage(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setFile(value); + break; + case 4: + var value = /** @type {number} */ (reader.readInt64()); + msg.setLine(value); + break; + case 5: + var value = /** @type {number} */ (reader.readInt64()); + msg.setColumn(value); + break; + case 6: + var value = new proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.deserializeBinaryFromReader); + msg.addContext(value); + break; + case 7: + var value = new proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.deserializeBinaryFromReader); + msg.addNotes(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.CompileDiagnostic.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getSeverity(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getMessage(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getFile(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getLine(); + if (f !== 0) { + writer.writeInt64( + 4, + f + ); + } + f = message.getColumn(); + if (f !== 0) { + writer.writeInt64( + 5, + f + ); + } + f = message.getContextList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 6, + f, + proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.serializeBinaryToWriter + ); + } + f = message.getNotesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 7, + f, + proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string severity = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.getSeverity = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.setSeverity = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string message = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.getMessage = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.setMessage = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string file = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.getFile = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.setFile = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional int64 line = 4; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.getLine = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.setLine = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + +/** + * optional int64 column = 5; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.getColumn = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.setColumn = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); +}; + + +/** + * repeated CompileDiagnosticContext context = 6; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.getContextList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext, 6)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this +*/ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.setContextList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 6, value); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.InstalledPlatformReference|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.addContext = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.clearContextList = function() { + return this.setContextList([]); +}; + + +/** + * repeated CompileDiagnosticNote notes = 7; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.getNotesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote, 7)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setBuildPlatform = function(value) { - return jspb.Message.setWrapperField(this, 7, value); +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.setNotesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 7, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearBuildPlatform = function() { - return this.setBuildPlatform(undefined); +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.addNotes = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnostic} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasBuildPlatform = function() { - return jspb.Message.getField(this, 7) != null; +proto.cc.arduino.cli.commands.v1.CompileDiagnostic.prototype.clearNotesList = function() { + return this.setNotesList([]); }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional TaskProgress progress = 8; - * @return {?proto.cc.arduino.cli.commands.v1.TaskProgress} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getProgress = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.TaskProgress} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.TaskProgress, 8)); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.toObject(opt_includeInstance, this); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.TaskProgress|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 8, value); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.toObject = function(includeInstance, msg) { + var f, obj = { + message: jspb.Message.getFieldWithDefault(msg, 1, ""), + file: jspb.Message.getFieldWithDefault(msg, 2, ""), + line: jspb.Message.getFieldWithDefault(msg, 3, 0), + column: jspb.Message.getFieldWithDefault(msg, 4, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearProgress = function() { - return this.setProgress(undefined); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext; + return proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasProgress = function() { - return jspb.Message.getField(this, 8) != null; +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setMessage(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setFile(value); + break; + case 3: + var value = /** @type {number} */ (reader.readInt64()); + msg.setLine(value); + break; + case 4: + var value = /** @type {number} */ (reader.readInt64()); + msg.setColumn(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * repeated string build_properties = 9; - * @return {!Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.getBuildPropertiesList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 9)); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getMessage(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getFile(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getLine(); + if (f !== 0) { + writer.writeInt64( + 3, + f + ); + } + f = message.getColumn(); + if (f !== 0) { + writer.writeInt64( + 4, + f + ); + } +}; + + +/** + * optional string message = 1; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.setBuildPropertiesList = function(value) { - return jspb.Message.setField(this, 9, value || []); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.getMessage = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} returns this */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.addBuildProperties = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 9, value, opt_index); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.setMessage = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.CompileResponse} returns this + * optional string file = 2; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.clearBuildPropertiesList = function() { - return this.setBuildPropertiesList([]); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.getFile = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.setFile = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional int64 line = 3; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.getLine = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.setLine = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional int64 column = 4; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.getColumn = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticContext.prototype.setColumn = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; @@ -1621,8 +2751,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.toObject(opt_includeInstance, this); }; @@ -1631,15 +2761,16 @@ proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.toObject = function(includeInstance, msg) { var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - size: jspb.Message.getFieldWithDefault(msg, 2, 0), - maxSize: jspb.Message.getFieldWithDefault(msg, 3, 0) + message: jspb.Message.getFieldWithDefault(msg, 1, ""), + file: jspb.Message.getFieldWithDefault(msg, 2, ""), + line: jspb.Message.getFieldWithDefault(msg, 3, 0), + column: jspb.Message.getFieldWithDefault(msg, 4, 0) }; if (includeInstance) { @@ -1653,23 +2784,23 @@ proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.ExecutableSectionSize; - return proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote; + return proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1678,15 +2809,19 @@ proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromRead switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setName(value); + msg.setMessage(value); break; case 2: - var value = /** @type {number} */ (reader.readInt64()); - msg.setSize(value); + var value = /** @type {string} */ (reader.readString()); + msg.setFile(value); break; case 3: var value = /** @type {number} */ (reader.readInt64()); - msg.setMaxSize(value); + msg.setLine(value); + break; + case 4: + var value = /** @type {number} */ (reader.readInt64()); + msg.setColumn(value); break; default: reader.skipField(); @@ -1701,9 +2836,9 @@ proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1711,88 +2846,113 @@ proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} message + * @param {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getName(); + f = message.getMessage(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getSize(); - if (f !== 0) { - writer.writeInt64( + f = message.getFile(); + if (f.length > 0) { + writer.writeString( 2, f ); } - f = message.getMaxSize(); + f = message.getLine(); if (f !== 0) { writer.writeInt64( 3, f ); } + f = message.getColumn(); + if (f !== 0) { + writer.writeInt64( + 4, + f + ); + } }; /** - * optional string name = 1; + * optional string message = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.getName = function() { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.getMessage = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} returns this + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} returns this */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.setName = function(value) { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.setMessage = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional int64 size = 2; - * @return {number} + * optional string file = 2; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.getSize = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.getFile = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {number} value - * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} returns this + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} returns this */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.setSize = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.setFile = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional int64 max_size = 3; + * optional int64 line = 3; * @return {number} */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.getMaxSize = function() { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.getLine = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** * @param {number} value - * @return {!proto.cc.arduino.cli.commands.v1.ExecutableSectionSize} returns this + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} returns this */ -proto.cc.arduino.cli.commands.v1.ExecutableSectionSize.prototype.setMaxSize = function(value) { +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.setLine = function(value) { return jspb.Message.setProto3IntField(this, 3, value); }; +/** + * optional int64 column = 4; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.getColumn = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileDiagnosticNote.prototype.setColumn = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); +}; + + goog.object.extend(exports, proto.cc.arduino.cli.commands.v1); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts index 99b25cb15..89b28e6ee 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts @@ -299,8 +299,8 @@ export class PlatformSearchRequest extends jspb.Message { setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): PlatformSearchRequest; getSearchArgs(): string; setSearchArgs(value: string): PlatformSearchRequest; - getAllVersions(): boolean; - setAllVersions(value: boolean): PlatformSearchRequest; + getManuallyInstalled(): boolean; + setManuallyInstalled(value: boolean): PlatformSearchRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): PlatformSearchRequest.AsObject; @@ -316,15 +316,15 @@ export namespace PlatformSearchRequest { export type AsObject = { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, searchArgs: string, - allVersions: boolean, + manuallyInstalled: boolean, } } export class PlatformSearchResponse extends jspb.Message { clearSearchOutputList(): void; - getSearchOutputList(): Array; - setSearchOutputList(value: Array): PlatformSearchResponse; - addSearchOutput(value?: cc_arduino_cli_commands_v1_common_pb.Platform, index?: number): cc_arduino_cli_commands_v1_common_pb.Platform; + getSearchOutputList(): Array; + setSearchOutputList(value: Array): PlatformSearchResponse; + addSearchOutput(value?: cc_arduino_cli_commands_v1_common_pb.PlatformSummary, index?: number): cc_arduino_cli_commands_v1_common_pb.PlatformSummary; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): PlatformSearchResponse.AsObject; @@ -338,57 +338,6 @@ export class PlatformSearchResponse extends jspb.Message { export namespace PlatformSearchResponse { export type AsObject = { - searchOutputList: Array, - } -} - -export class PlatformListRequest extends jspb.Message { - - hasInstance(): boolean; - clearInstance(): void; - getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; - setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): PlatformListRequest; - getUpdatableOnly(): boolean; - setUpdatableOnly(value: boolean): PlatformListRequest; - getAll(): boolean; - setAll(value: boolean): PlatformListRequest; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): PlatformListRequest.AsObject; - static toObject(includeInstance: boolean, msg: PlatformListRequest): PlatformListRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: PlatformListRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): PlatformListRequest; - static deserializeBinaryFromReader(message: PlatformListRequest, reader: jspb.BinaryReader): PlatformListRequest; -} - -export namespace PlatformListRequest { - export type AsObject = { - instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, - updatableOnly: boolean, - all: boolean, - } -} - -export class PlatformListResponse extends jspb.Message { - clearInstalledPlatformsList(): void; - getInstalledPlatformsList(): Array; - setInstalledPlatformsList(value: Array): PlatformListResponse; - addInstalledPlatforms(value?: cc_arduino_cli_commands_v1_common_pb.Platform, index?: number): cc_arduino_cli_commands_v1_common_pb.Platform; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): PlatformListResponse.AsObject; - static toObject(includeInstance: boolean, msg: PlatformListResponse): PlatformListResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: PlatformListResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): PlatformListResponse; - static deserializeBinaryFromReader(message: PlatformListResponse, reader: jspb.BinaryReader): PlatformListResponse; -} - -export namespace PlatformListResponse { - export type AsObject = { - installedPlatformsList: Array, + searchOutputList: Array, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js index 9e49ed462..00fe8d64a 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js @@ -28,8 +28,6 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformDownloadRequest', nu goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformInstallRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformInstallResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformListRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformListResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformLoadingError', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformSearchRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformSearchResponse', null, global); @@ -289,48 +287,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformSearchResponse'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformListRequest, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.PlatformListRequest.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformListRequest'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.PlatformListResponse.repeatedFields_, null); -}; -goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformListResponse, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.PlatformListResponse.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformListResponse'; -} @@ -2408,7 +2364,7 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.toObject = function(inclu var f, obj = { instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), searchArgs: jspb.Message.getFieldWithDefault(msg, 2, ""), - allVersions: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) + manuallyInstalled: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) }; if (includeInstance) { @@ -2456,7 +2412,7 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.deserializeBinaryFromRead break; case 3: var value = /** @type {boolean} */ (reader.readBool()); - msg.setAllVersions(value); + msg.setManuallyInstalled(value); break; default: reader.skipField(); @@ -2502,7 +2458,7 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.serializeBinaryToWriter = f ); } - f = message.getAllVersions(); + f = message.getManuallyInstalled(); if (f) { writer.writeBool( 3, @@ -2568,10 +2524,10 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.prototype.setSearchArgs = /** - * optional bool all_versions = 3; + * optional bool manually_installed = 3; * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.prototype.getAllVersions = function() { +proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.prototype.getManuallyInstalled = function() { return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; @@ -2580,7 +2536,7 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.prototype.getAllVersions * @param {boolean} value * @return {!proto.cc.arduino.cli.commands.v1.PlatformSearchRequest} returns this */ -proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.prototype.setAllVersions = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformSearchRequest.prototype.setManuallyInstalled = function(value) { return jspb.Message.setProto3BooleanField(this, 3, value); }; @@ -2625,7 +2581,7 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.prototype.toObject = fun proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.toObject = function(includeInstance, msg) { var f, obj = { searchOutputList: jspb.Message.toObjectList(msg.getSearchOutputList(), - cc_arduino_cli_commands_v1_common_pb.Platform.toObject, includeInstance) + cc_arduino_cli_commands_v1_common_pb.PlatformSummary.toObject, includeInstance) }; if (includeInstance) { @@ -2663,8 +2619,8 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.deserializeBinaryFromRea var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.Platform; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Platform.deserializeBinaryFromReader); + var value = new cc_arduino_cli_commands_v1_common_pb.PlatformSummary; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.PlatformSummary.deserializeBinaryFromReader); msg.addSearchOutput(value); break; default: @@ -2701,24 +2657,24 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.serializeBinaryToWriter writer.writeRepeatedMessage( 1, f, - cc_arduino_cli_commands_v1_common_pb.Platform.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.PlatformSummary.serializeBinaryToWriter ); } }; /** - * repeated Platform search_output = 1; - * @return {!Array} + * repeated PlatformSummary search_output = 1; + * @return {!Array} */ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.prototype.getSearchOutputList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Platform, 1)); + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, cc_arduino_cli_commands_v1_common_pb.PlatformSummary, 1)); }; /** - * @param {!Array} value + * @param {!Array} value * @return {!proto.cc.arduino.cli.commands.v1.PlatformSearchResponse} returns this */ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.prototype.setSearchOutputList = function(value) { @@ -2727,12 +2683,12 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.prototype.setSearchOutpu /** - * @param {!proto.cc.arduino.cli.commands.v1.Platform=} opt_value + * @param {!proto.cc.arduino.cli.commands.v1.PlatformSummary=} opt_value * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.Platform} + * @return {!proto.cc.arduino.cli.commands.v1.PlatformSummary} */ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.prototype.addSearchOutput = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.Platform, opt_index); + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.PlatformSummary, opt_index); }; @@ -2745,375 +2701,4 @@ proto.cc.arduino.cli.commands.v1.PlatformSearchResponse.prototype.clearSearchOut }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.PlatformListRequest.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.toObject = function(includeInstance, msg) { - var f, obj = { - instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), - updatableOnly: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), - all: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.PlatformListRequest; - return proto.cc.arduino.cli.commands.v1.PlatformListRequest.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.Instance; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); - msg.setInstance(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setUpdatableOnly(value); - break; - case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setAll(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.PlatformListRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getInstance(); - if (f != null) { - writer.writeMessage( - 1, - f, - cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter - ); - } - f = message.getUpdatableOnly(); - if (f) { - writer.writeBool( - 2, - f - ); - } - f = message.getAll(); - if (f) { - writer.writeBool( - 3, - f - ); - } -}; - - -/** - * optional Instance instance = 1; - * @return {?proto.cc.arduino.cli.commands.v1.Instance} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.getInstance = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.Instance} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Instance, 1)); -}; - - -/** - * @param {?proto.cc.arduino.cli.commands.v1.Instance|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} returns this -*/ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.setInstance = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} returns this - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.clearInstance = function() { - return this.setInstance(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.hasInstance = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional bool updatable_only = 2; - * @return {boolean} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.getUpdatableOnly = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} returns this - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.setUpdatableOnly = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); -}; - - -/** - * optional bool all = 3; - * @return {boolean} - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.getAll = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListRequest} returns this - */ -proto.cc.arduino.cli.commands.v1.PlatformListRequest.prototype.setAll = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); -}; - - - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.repeatedFields_ = [1]; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.PlatformListResponse.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.PlatformListResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.toObject = function(includeInstance, msg) { - var f, obj = { - installedPlatformsList: jspb.Message.toObjectList(msg.getInstalledPlatformsList(), - cc_arduino_cli_commands_v1_common_pb.Platform.toObject, includeInstance) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListResponse} - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.PlatformListResponse; - return proto.cc.arduino.cli.commands.v1.PlatformListResponse.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.PlatformListResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListResponse} - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.Platform; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Platform.deserializeBinaryFromReader); - msg.addInstalledPlatforms(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.PlatformListResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.PlatformListResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getInstalledPlatformsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - cc_arduino_cli_commands_v1_common_pb.Platform.serializeBinaryToWriter - ); - } -}; - - -/** - * repeated Platform installed_platforms = 1; - * @return {!Array} - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.prototype.getInstalledPlatformsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Platform, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.prototype.setInstalledPlatformsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.cc.arduino.cli.commands.v1.Platform=} opt_value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.Platform} - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.prototype.addInstalledPlatforms = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.Platform, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.PlatformListResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.PlatformListResponse.prototype.clearInstalledPlatformsList = function() { - return this.setInstalledPlatformsList([]); -}; - - goog.object.extend(exports, proto.cc.arduino.cli.commands.v1); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts index e0b50ba58..ae018a7a3 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts @@ -298,6 +298,8 @@ export class LibraryResolveDependenciesRequest extends jspb.Message { setName(value: string): LibraryResolveDependenciesRequest; getVersion(): string; setVersion(value: string): LibraryResolveDependenciesRequest; + getDoNotUpdateInstalledLibraries(): boolean; + setDoNotUpdateInstalledLibraries(value: boolean): LibraryResolveDependenciesRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LibraryResolveDependenciesRequest.AsObject; @@ -314,6 +316,7 @@ export namespace LibraryResolveDependenciesRequest { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, name: string, version: string, + doNotUpdateInstalledLibraries: boolean, } } @@ -371,8 +374,6 @@ export class LibrarySearchRequest extends jspb.Message { clearInstance(): void; getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): LibrarySearchRequest; - getQuery(): string; - setQuery(value: string): LibrarySearchRequest; getOmitReleasesDetails(): boolean; setOmitReleasesDetails(value: boolean): LibrarySearchRequest; getSearchArgs(): string; @@ -391,7 +392,6 @@ export class LibrarySearchRequest extends jspb.Message { export namespace LibrarySearchRequest { export type AsObject = { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, - query: string, omitReleasesDetails: boolean, searchArgs: string, } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js index 7ec2e0bbf..53d6a21b0 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js @@ -2648,7 +2648,8 @@ proto.cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.toObject = fu var f, obj = { instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), name: jspb.Message.getFieldWithDefault(msg, 2, ""), - version: jspb.Message.getFieldWithDefault(msg, 3, "") + version: jspb.Message.getFieldWithDefault(msg, 3, ""), + doNotUpdateInstalledLibraries: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; if (includeInstance) { @@ -2698,6 +2699,10 @@ proto.cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.deserializeBi var value = /** @type {string} */ (reader.readString()); msg.setVersion(value); break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDoNotUpdateInstalledLibraries(value); + break; default: reader.skipField(); break; @@ -2749,6 +2754,13 @@ proto.cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.serializeBina f ); } + f = message.getDoNotUpdateInstalledLibraries(); + if (f) { + writer.writeBool( + 4, + f + ); + } }; @@ -2825,6 +2837,24 @@ proto.cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.prototype.set }; +/** + * optional bool do_not_update_installed_libraries = 4; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.prototype.getDoNotUpdateInstalledLibraries = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.prototype.setDoNotUpdateInstalledLibraries = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); +}; + + /** * List of repeated fields within this message type. @@ -3208,9 +3238,8 @@ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.toObject = funct proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.toObject = function(includeInstance, msg) { var f, obj = { instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), - query: jspb.Message.getFieldWithDefault(msg, 2, ""), - omitReleasesDetails: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - searchArgs: jspb.Message.getFieldWithDefault(msg, 4, "") + omitReleasesDetails: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), + searchArgs: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -3253,14 +3282,10 @@ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.deserializeBinaryFromReade msg.setInstance(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setQuery(value); - break; - case 3: var value = /** @type {boolean} */ (reader.readBool()); msg.setOmitReleasesDetails(value); break; - case 4: + case 3: var value = /** @type {string} */ (reader.readString()); msg.setSearchArgs(value); break; @@ -3301,24 +3326,17 @@ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.serializeBinaryToWriter = cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter ); } - f = message.getQuery(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } f = message.getOmitReleasesDetails(); if (f) { writer.writeBool( - 3, + 2, f ); } f = message.getSearchArgs(); if (f.length > 0) { writer.writeString( - 4, + 3, f ); } @@ -3363,29 +3381,11 @@ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.hasInstance = fu /** - * optional string query = 2; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.getQuery = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LibrarySearchRequest} returns this - */ -proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.setQuery = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional bool omit_releases_details = 3; + * optional bool omit_releases_details = 2; * @return {boolean} */ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.getOmitReleasesDetails = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; @@ -3394,16 +3394,16 @@ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.getOmitReleasesD * @return {!proto.cc.arduino.cli.commands.v1.LibrarySearchRequest} returns this */ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.setOmitReleasesDetails = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * optional string search_args = 4; + * optional string search_args = 3; * @return {string} */ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.getSearchArgs = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; @@ -3412,7 +3412,7 @@ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.getSearchArgs = * @return {!proto.cc.arduino.cli.commands.v1.LibrarySearchRequest} returns this */ proto.cc.arduino.cli.commands.v1.LibrarySearchRequest.prototype.setSearchArgs = function(value) { - return jspb.Message.setProto3StringField(this, 4, value); + return jspb.Message.setProto3StringField(this, 3, value); }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts index 49140fcb5..2e298b4c8 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts @@ -10,26 +10,29 @@ import * as cc_arduino_cli_commands_v1_port_pb from "../../../../../cc/arduino/c export class MonitorRequest extends jspb.Message { - hasInstance(): boolean; - clearInstance(): void; - getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; - setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): MonitorRequest; + hasOpenRequest(): boolean; + clearOpenRequest(): void; + getOpenRequest(): MonitorPortOpenRequest | undefined; + setOpenRequest(value?: MonitorPortOpenRequest): MonitorRequest; - hasPort(): boolean; - clearPort(): void; - getPort(): cc_arduino_cli_commands_v1_port_pb.Port | undefined; - setPort(value?: cc_arduino_cli_commands_v1_port_pb.Port): MonitorRequest; - getFqbn(): string; - setFqbn(value: string): MonitorRequest; + hasTxData(): boolean; + clearTxData(): void; getTxData(): Uint8Array | string; getTxData_asU8(): Uint8Array; getTxData_asB64(): string; setTxData(value: Uint8Array | string): MonitorRequest; - hasPortConfiguration(): boolean; - clearPortConfiguration(): void; - getPortConfiguration(): MonitorPortConfiguration | undefined; - setPortConfiguration(value?: MonitorPortConfiguration): MonitorRequest; + hasUpdatedConfiguration(): boolean; + clearUpdatedConfiguration(): void; + getUpdatedConfiguration(): MonitorPortConfiguration | undefined; + setUpdatedConfiguration(value?: MonitorPortConfiguration): MonitorRequest; + + hasClose(): boolean; + clearClose(): void; + getClose(): boolean; + setClose(value: boolean): MonitorRequest; + + getMessageCase(): MonitorRequest.MessageCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): MonitorRequest.AsObject; @@ -42,11 +45,57 @@ export class MonitorRequest extends jspb.Message { } export namespace MonitorRequest { + export type AsObject = { + openRequest?: MonitorPortOpenRequest.AsObject, + txData: Uint8Array | string, + updatedConfiguration?: MonitorPortConfiguration.AsObject, + close: boolean, + } + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + OPEN_REQUEST = 1, + TX_DATA = 2, + UPDATED_CONFIGURATION = 3, + CLOSE = 4, + } + +} + +export class MonitorPortOpenRequest extends jspb.Message { + + hasInstance(): boolean; + clearInstance(): void; + getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; + setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): MonitorPortOpenRequest; + + hasPort(): boolean; + clearPort(): void; + getPort(): cc_arduino_cli_commands_v1_port_pb.Port | undefined; + setPort(value?: cc_arduino_cli_commands_v1_port_pb.Port): MonitorPortOpenRequest; + getFqbn(): string; + setFqbn(value: string): MonitorPortOpenRequest; + + hasPortConfiguration(): boolean; + clearPortConfiguration(): void; + getPortConfiguration(): MonitorPortConfiguration | undefined; + setPortConfiguration(value?: MonitorPortConfiguration): MonitorPortOpenRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): MonitorPortOpenRequest.AsObject; + static toObject(includeInstance: boolean, msg: MonitorPortOpenRequest): MonitorPortOpenRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: MonitorPortOpenRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): MonitorPortOpenRequest; + static deserializeBinaryFromReader(message: MonitorPortOpenRequest, reader: jspb.BinaryReader): MonitorPortOpenRequest; +} + +export namespace MonitorPortOpenRequest { export type AsObject = { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, port?: cc_arduino_cli_commands_v1_port_pb.Port.AsObject, fqbn: string, - txData: Uint8Array | string, portConfiguration?: MonitorPortConfiguration.AsObject, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js index db4445ce3..24f22a3fb 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js @@ -28,9 +28,11 @@ goog.object.extend(proto, cc_arduino_cli_commands_v1_port_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSetting', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorResponse', null, global); /** * Generated by JsPbCodeGenerator. @@ -43,7 +45,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorResponse', null, glob * @constructor */ proto.cc.arduino.cli.commands.v1.MonitorRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -53,6 +55,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.MonitorRequest.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorRequest'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -180,6 +203,34 @@ if (goog.DEBUG && !COMPILED) { proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor'; } +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_ = [[1,2,3,4]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase = { + MESSAGE_NOT_SET: 0, + OPEN_REQUEST: 1, + TX_DATA: 2, + UPDATED_CONFIGURATION: 3, + CLOSE: 4 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -211,11 +262,10 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.toObject = function(op */ proto.cc.arduino.cli.commands.v1.MonitorRequest.toObject = function(includeInstance, msg) { var f, obj = { - instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), - port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f), - fqbn: jspb.Message.getFieldWithDefault(msg, 3, ""), + openRequest: (f = msg.getOpenRequest()) && proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.toObject(includeInstance, f), txData: msg.getTxData_asB64(), - portConfiguration: (f = msg.getPortConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f) + updatedConfiguration: (f = msg.getUpdatedConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f), + close: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; if (includeInstance) { @@ -246,6 +296,328 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.deserializeBinary = function(byt * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} */ proto.cc.arduino.cli.commands.v1.MonitorRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinaryFromReader); + msg.setOpenRequest(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setTxData(value); + break; + case 3: + var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); + msg.setUpdatedConfiguration(value); + break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setClose(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.MonitorRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOpenRequest(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter + ); + } + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeBytes( + 2, + f + ); + } + f = message.getUpdatedConfiguration(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter + ); + } + f = /** @type {boolean} */ (jspb.Message.getField(message, 4)); + if (f != null) { + writer.writeBool( + 4, + f + ); + } +}; + + +/** + * optional MonitorPortOpenRequest open_request = 1; + * @return {?proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getOpenRequest = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this +*/ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setOpenRequest = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearOpenRequest = function() { + return this.setOpenRequest(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasOpenRequest = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional bytes tx_data = 2; + * @return {!(string|Uint8Array)} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData = function() { + return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes tx_data = 2; + * This is a type-conversion wrapper around `getTxData()` + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getTxData())); +}; + + +/** + * optional bytes tx_data = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getTxData()` + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getTxData())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setTxData = function(value) { + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearTxData = function() { + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasTxData = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional MonitorPortConfiguration updated_configuration = 3; + * @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getUpdatedConfiguration = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 3)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this +*/ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setUpdatedConfiguration = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearUpdatedConfiguration = function() { + return this.setUpdatedConfiguration(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasUpdatedConfiguration = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional bool close = 4; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getClose = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setClose = function(value) { + return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearClose = function() { + return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasClose = function() { + return jspb.Message.getField(this, 4) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.toObject = function(includeInstance, msg) { + var f, obj = { + instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), + port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f), + fqbn: jspb.Message.getFieldWithDefault(msg, 3, ""), + portConfiguration: (f = msg.getPortConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest; + return proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -267,10 +639,6 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.deserializeBinaryFromReader = fu msg.setFqbn(value); break; case 4: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setTxData(value); - break; - case 5: var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); msg.setPortConfiguration(value); @@ -288,9 +656,9 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.deserializeBinaryFromReader = fu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -298,11 +666,11 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.serializeBinary = func /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.MonitorRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getInstance(); if (f != null) { @@ -327,17 +695,10 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter = functi f ); } - f = message.getTxData_asU8(); - if (f.length > 0) { - writer.writeBytes( - 4, - f - ); - } f = message.getPortConfiguration(); if (f != null) { writer.writeMessage( - 5, + 4, f, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter ); @@ -349,7 +710,7 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter = functi * optional Instance instance = 1; * @return {?proto.cc.arduino.cli.commands.v1.Instance} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getInstance = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getInstance = function() { return /** @type{?proto.cc.arduino.cli.commands.v1.Instance} */ ( jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Instance, 1)); }; @@ -357,18 +718,18 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getInstance = function /** * @param {?proto.cc.arduino.cli.commands.v1.Instance|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setInstance = function(value) { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setInstance = function(value) { return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearInstance = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearInstance = function() { return this.setInstance(undefined); }; @@ -377,7 +738,7 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearInstance = functi * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasInstance = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasInstance = function() { return jspb.Message.getField(this, 1) != null; }; @@ -386,7 +747,7 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasInstance = function * optional Port port = 2; * @return {?proto.cc.arduino.cli.commands.v1.Port} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getPort = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getPort = function() { return /** @type{?proto.cc.arduino.cli.commands.v1.Port} */ ( jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_port_pb.Port, 2)); }; @@ -394,18 +755,18 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getPort = function() { /** * @param {?proto.cc.arduino.cli.commands.v1.Port|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setPort = function(value) { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setPort = function(value) { return jspb.Message.setWrapperField(this, 2, value); }; /** * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearPort = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearPort = function() { return this.setPort(undefined); }; @@ -414,7 +775,7 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearPort = function() * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasPort = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasPort = function() { return jspb.Message.getField(this, 2) != null; }; @@ -423,86 +784,44 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasPort = function() { * optional string fqbn = 3; * @return {string} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getFqbn = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getFqbn = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setFqbn = function(value) { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setFqbn = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; /** - * optional bytes tx_data = 4; - * @return {!(string|Uint8Array)} - */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData = function() { - return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 4, "")); -}; - - -/** - * optional bytes tx_data = 4; - * This is a type-conversion wrapper around `getTxData()` - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getTxData())); -}; - - -/** - * optional bytes tx_data = 4; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getTxData()` - * @return {!Uint8Array} - */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getTxData())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this - */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setTxData = function(value) { - return jspb.Message.setProto3BytesField(this, 4, value); -}; - - -/** - * optional MonitorPortConfiguration port_configuration = 5; + * optional MonitorPortConfiguration port_configuration = 4; * @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getPortConfiguration = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getPortConfiguration = function() { return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( - jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 5)); + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 4)); }; /** * @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setPortConfiguration = function(value) { - return jspb.Message.setWrapperField(this, 5, value); +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setPortConfiguration = function(value) { + return jspb.Message.setWrapperField(this, 4, value); }; /** * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearPortConfiguration = function() { +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearPortConfiguration = function() { return this.setPortConfiguration(undefined); }; @@ -511,8 +830,8 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearPortConfiguration * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasPortConfiguration = function() { - return jspb.Message.getField(this, 5) != null; +proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasPortConfiguration = function() { + return jspb.Message.getField(this, 4) != null; }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_grpc_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_grpc_pb.js new file mode 100644 index 000000000..97b3a2461 --- /dev/null +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_grpc_pb.js @@ -0,0 +1 @@ +// GENERATED CODE -- NO SERVICES IN PROTO \ No newline at end of file diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts new file mode 100644 index 000000000..b960375a5 --- /dev/null +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts @@ -0,0 +1,238 @@ +// package: cc.arduino.cli.commands.v1 +// file: cc/arduino/cli/commands/v1/settings.proto + +/* tslint:disable */ +/* eslint-disable */ + +import * as jspb from "google-protobuf"; + +export class SettingsGetAllResponse extends jspb.Message { + getJsonData(): string; + setJsonData(value: string): SettingsGetAllResponse; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsGetAllResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsGetAllResponse): SettingsGetAllResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsGetAllResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsGetAllResponse; + static deserializeBinaryFromReader(message: SettingsGetAllResponse, reader: jspb.BinaryReader): SettingsGetAllResponse; +} + +export namespace SettingsGetAllResponse { + export type AsObject = { + jsonData: string, + } +} + +export class SettingsMergeRequest extends jspb.Message { + getJsonData(): string; + setJsonData(value: string): SettingsMergeRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsMergeRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsMergeRequest): SettingsMergeRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsMergeRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsMergeRequest; + static deserializeBinaryFromReader(message: SettingsMergeRequest, reader: jspb.BinaryReader): SettingsMergeRequest; +} + +export namespace SettingsMergeRequest { + export type AsObject = { + jsonData: string, + } +} + +export class SettingsGetValueResponse extends jspb.Message { + getKey(): string; + setKey(value: string): SettingsGetValueResponse; + getJsonData(): string; + setJsonData(value: string): SettingsGetValueResponse; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsGetValueResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsGetValueResponse): SettingsGetValueResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsGetValueResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsGetValueResponse; + static deserializeBinaryFromReader(message: SettingsGetValueResponse, reader: jspb.BinaryReader): SettingsGetValueResponse; +} + +export namespace SettingsGetValueResponse { + export type AsObject = { + key: string, + jsonData: string, + } +} + +export class SettingsSetValueRequest extends jspb.Message { + getKey(): string; + setKey(value: string): SettingsSetValueRequest; + getJsonData(): string; + setJsonData(value: string): SettingsSetValueRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsSetValueRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsSetValueRequest): SettingsSetValueRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsSetValueRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsSetValueRequest; + static deserializeBinaryFromReader(message: SettingsSetValueRequest, reader: jspb.BinaryReader): SettingsSetValueRequest; +} + +export namespace SettingsSetValueRequest { + export type AsObject = { + key: string, + jsonData: string, + } +} + +export class SettingsGetAllRequest extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsGetAllRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsGetAllRequest): SettingsGetAllRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsGetAllRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsGetAllRequest; + static deserializeBinaryFromReader(message: SettingsGetAllRequest, reader: jspb.BinaryReader): SettingsGetAllRequest; +} + +export namespace SettingsGetAllRequest { + export type AsObject = { + } +} + +export class SettingsGetValueRequest extends jspb.Message { + getKey(): string; + setKey(value: string): SettingsGetValueRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsGetValueRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsGetValueRequest): SettingsGetValueRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsGetValueRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsGetValueRequest; + static deserializeBinaryFromReader(message: SettingsGetValueRequest, reader: jspb.BinaryReader): SettingsGetValueRequest; +} + +export namespace SettingsGetValueRequest { + export type AsObject = { + key: string, + } +} + +export class SettingsMergeResponse extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsMergeResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsMergeResponse): SettingsMergeResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsMergeResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsMergeResponse; + static deserializeBinaryFromReader(message: SettingsMergeResponse, reader: jspb.BinaryReader): SettingsMergeResponse; +} + +export namespace SettingsMergeResponse { + export type AsObject = { + } +} + +export class SettingsSetValueResponse extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsSetValueResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsSetValueResponse): SettingsSetValueResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsSetValueResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsSetValueResponse; + static deserializeBinaryFromReader(message: SettingsSetValueResponse, reader: jspb.BinaryReader): SettingsSetValueResponse; +} + +export namespace SettingsSetValueResponse { + export type AsObject = { + } +} + +export class SettingsWriteRequest extends jspb.Message { + getFilePath(): string; + setFilePath(value: string): SettingsWriteRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsWriteRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsWriteRequest): SettingsWriteRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsWriteRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsWriteRequest; + static deserializeBinaryFromReader(message: SettingsWriteRequest, reader: jspb.BinaryReader): SettingsWriteRequest; +} + +export namespace SettingsWriteRequest { + export type AsObject = { + filePath: string, + } +} + +export class SettingsWriteResponse extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsWriteResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsWriteResponse): SettingsWriteResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsWriteResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsWriteResponse; + static deserializeBinaryFromReader(message: SettingsWriteResponse, reader: jspb.BinaryReader): SettingsWriteResponse; +} + +export namespace SettingsWriteResponse { + export type AsObject = { + } +} + +export class SettingsDeleteRequest extends jspb.Message { + getKey(): string; + setKey(value: string): SettingsDeleteRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsDeleteRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsDeleteRequest): SettingsDeleteRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsDeleteRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsDeleteRequest; + static deserializeBinaryFromReader(message: SettingsDeleteRequest, reader: jspb.BinaryReader): SettingsDeleteRequest; +} + +export namespace SettingsDeleteRequest { + export type AsObject = { + key: string, + } +} + +export class SettingsDeleteResponse extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): SettingsDeleteResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsDeleteResponse): SettingsDeleteResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: SettingsDeleteResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsDeleteResponse; + static deserializeBinaryFromReader(message: SettingsDeleteResponse, reader: jspb.BinaryReader): SettingsDeleteResponse; +} + +export namespace SettingsDeleteResponse { + export type AsObject = { + } +} diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.js similarity index 59% rename from arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_pb.js rename to arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.js index a00c4ffe8..cabb89ab0 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.js @@ -1,4 +1,4 @@ -// source: cc/arduino/cli/settings/v1/settings.proto +// source: cc/arduino/cli/commands/v1/settings.proto /** * @fileoverview * @enhanceable @@ -21,18 +21,18 @@ var global = (function() { return Function('return this')(); }.call(null)); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.DeleteRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.DeleteResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.GetAllRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.GetAllResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.GetValueRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.GetValueResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.MergeRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.MergeResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.SetValueRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.SetValueResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.WriteRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.settings.v1.WriteResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsMergeRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsMergeResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsWriteRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsWriteResponse', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -43,16 +43,16 @@ goog.exportSymbol('proto.cc.arduino.cli.settings.v1.WriteResponse', null, global * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.GetAllResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.GetAllResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.GetAllResponse.displayName = 'proto.cc.arduino.cli.settings.v1.GetAllResponse'; + proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse'; } /** * Generated by JsPbCodeGenerator. @@ -64,16 +64,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.MergeRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.MergeRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsMergeRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.MergeRequest.displayName = 'proto.cc.arduino.cli.settings.v1.MergeRequest'; + proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsMergeRequest'; } /** * Generated by JsPbCodeGenerator. @@ -85,16 +85,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.GetValueResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.GetValueResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.GetValueResponse.displayName = 'proto.cc.arduino.cli.settings.v1.GetValueResponse'; + proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse'; } /** * Generated by JsPbCodeGenerator. @@ -106,16 +106,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.SetValueRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.SetValueRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.SetValueRequest.displayName = 'proto.cc.arduino.cli.settings.v1.SetValueRequest'; + proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest'; } /** * Generated by JsPbCodeGenerator. @@ -127,16 +127,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.GetAllRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.GetAllRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.GetAllRequest.displayName = 'proto.cc.arduino.cli.settings.v1.GetAllRequest'; + proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest'; } /** * Generated by JsPbCodeGenerator. @@ -148,16 +148,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.GetValueRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.GetValueRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.GetValueRequest.displayName = 'proto.cc.arduino.cli.settings.v1.GetValueRequest'; + proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest'; } /** * Generated by JsPbCodeGenerator. @@ -169,16 +169,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.MergeResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsMergeResponse = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.MergeResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsMergeResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.MergeResponse.displayName = 'proto.cc.arduino.cli.settings.v1.MergeResponse'; + proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsMergeResponse'; } /** * Generated by JsPbCodeGenerator. @@ -190,16 +190,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.SetValueResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.SetValueResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.SetValueResponse.displayName = 'proto.cc.arduino.cli.settings.v1.SetValueResponse'; + proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse'; } /** * Generated by JsPbCodeGenerator. @@ -211,16 +211,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.WriteRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.WriteRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsWriteRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.WriteRequest.displayName = 'proto.cc.arduino.cli.settings.v1.WriteRequest'; + proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsWriteRequest'; } /** * Generated by JsPbCodeGenerator. @@ -232,16 +232,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.WriteResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsWriteResponse = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.WriteResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsWriteResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.WriteResponse.displayName = 'proto.cc.arduino.cli.settings.v1.WriteResponse'; + proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsWriteResponse'; } /** * Generated by JsPbCodeGenerator. @@ -253,16 +253,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.DeleteRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.DeleteRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.DeleteRequest.displayName = 'proto.cc.arduino.cli.settings.v1.DeleteRequest'; + proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest'; } /** * Generated by JsPbCodeGenerator. @@ -274,16 +274,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.settings.v1.DeleteResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.settings.v1.DeleteResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.settings.v1.DeleteResponse.displayName = 'proto.cc.arduino.cli.settings.v1.DeleteResponse'; + proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse'; } @@ -301,8 +301,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.GetAllResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.toObject(opt_includeInstance, this); }; @@ -311,11 +311,11 @@ proto.cc.arduino.cli.settings.v1.GetAllResponse.prototype.toObject = function(op * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.GetAllResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.toObject = function(includeInstance, msg) { var f, obj = { jsonData: jspb.Message.getFieldWithDefault(msg, 1, "") }; @@ -331,23 +331,23 @@ proto.cc.arduino.cli.settings.v1.GetAllResponse.toObject = function(includeInsta /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.GetAllResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.GetAllResponse; - return proto.cc.arduino.cli.settings.v1.GetAllResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse; + return proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.GetAllResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.GetAllResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -371,9 +371,9 @@ proto.cc.arduino.cli.settings.v1.GetAllResponse.deserializeBinaryFromReader = fu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.GetAllResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -381,11 +381,11 @@ proto.cc.arduino.cli.settings.v1.GetAllResponse.prototype.serializeBinary = func /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.GetAllResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getJsonData(); if (f.length > 0) { @@ -401,16 +401,16 @@ proto.cc.arduino.cli.settings.v1.GetAllResponse.serializeBinaryToWriter = functi * optional string json_data = 1; * @return {string} */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.prototype.getJsonData = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.getJsonData = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.GetAllResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} returns this */ -proto.cc.arduino.cli.settings.v1.GetAllResponse.prototype.setJsonData = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.setJsonData = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -431,8 +431,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.MergeRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.MergeRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.toObject(opt_includeInstance, this); }; @@ -441,11 +441,11 @@ proto.cc.arduino.cli.settings.v1.MergeRequest.prototype.toObject = function(opt_ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.MergeRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.MergeRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.toObject = function(includeInstance, msg) { var f, obj = { jsonData: jspb.Message.getFieldWithDefault(msg, 1, "") }; @@ -461,23 +461,23 @@ proto.cc.arduino.cli.settings.v1.MergeRequest.toObject = function(includeInstanc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.MergeRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} */ -proto.cc.arduino.cli.settings.v1.MergeRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.MergeRequest; - return proto.cc.arduino.cli.settings.v1.MergeRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsMergeRequest; + return proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.MergeRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.MergeRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} */ -proto.cc.arduino.cli.settings.v1.MergeRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -501,9 +501,9 @@ proto.cc.arduino.cli.settings.v1.MergeRequest.deserializeBinaryFromReader = func * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.MergeRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.MergeRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -511,11 +511,11 @@ proto.cc.arduino.cli.settings.v1.MergeRequest.prototype.serializeBinary = functi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.MergeRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.MergeRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getJsonData(); if (f.length > 0) { @@ -531,16 +531,16 @@ proto.cc.arduino.cli.settings.v1.MergeRequest.serializeBinaryToWriter = function * optional string json_data = 1; * @return {string} */ -proto.cc.arduino.cli.settings.v1.MergeRequest.prototype.getJsonData = function() { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.getJsonData = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.MergeRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} returns this */ -proto.cc.arduino.cli.settings.v1.MergeRequest.prototype.setJsonData = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.setJsonData = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -561,8 +561,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.GetValueResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.toObject(opt_includeInstance, this); }; @@ -571,11 +571,11 @@ proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.GetValueResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.toObject = function(includeInstance, msg) { var f, obj = { key: jspb.Message.getFieldWithDefault(msg, 1, ""), jsonData: jspb.Message.getFieldWithDefault(msg, 2, "") @@ -592,23 +592,23 @@ proto.cc.arduino.cli.settings.v1.GetValueResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.GetValueResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.GetValueResponse; - return proto.cc.arduino.cli.settings.v1.GetValueResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse; + return proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.GetValueResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.GetValueResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -636,9 +636,9 @@ proto.cc.arduino.cli.settings.v1.GetValueResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.GetValueResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -646,11 +646,11 @@ proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.GetValueResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getKey(); if (f.length > 0) { @@ -673,16 +673,16 @@ proto.cc.arduino.cli.settings.v1.GetValueResponse.serializeBinaryToWriter = func * optional string key = 1; * @return {string} */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.getKey = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.GetValueResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} returns this */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.setKey = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.setKey = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -691,16 +691,16 @@ proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.setKey = function(va * optional string json_data = 2; * @return {string} */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.getJsonData = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.getJsonData = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.GetValueResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} returns this */ -proto.cc.arduino.cli.settings.v1.GetValueResponse.prototype.setJsonData = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.setJsonData = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; @@ -721,8 +721,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.SetValueRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.toObject(opt_includeInstance, this); }; @@ -731,11 +731,11 @@ proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.SetValueRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.toObject = function(includeInstance, msg) { var f, obj = { key: jspb.Message.getFieldWithDefault(msg, 1, ""), jsonData: jspb.Message.getFieldWithDefault(msg, 2, "") @@ -752,23 +752,23 @@ proto.cc.arduino.cli.settings.v1.SetValueRequest.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.SetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.SetValueRequest; - return proto.cc.arduino.cli.settings.v1.SetValueRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest; + return proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.SetValueRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.SetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -796,9 +796,9 @@ proto.cc.arduino.cli.settings.v1.SetValueRequest.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.SetValueRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -806,11 +806,11 @@ proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.SetValueRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getKey(); if (f.length > 0) { @@ -833,16 +833,16 @@ proto.cc.arduino.cli.settings.v1.SetValueRequest.serializeBinaryToWriter = funct * optional string key = 1; * @return {string} */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.getKey = function() { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.SetValueRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} returns this */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.setKey = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.setKey = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -851,16 +851,16 @@ proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.setKey = function(val * optional string json_data = 2; * @return {string} */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.getJsonData = function() { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.getJsonData = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.SetValueRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} returns this */ -proto.cc.arduino.cli.settings.v1.SetValueRequest.prototype.setJsonData = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.setJsonData = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; @@ -881,8 +881,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.GetAllRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.GetAllRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.toObject(opt_includeInstance, this); }; @@ -891,11 +891,11 @@ proto.cc.arduino.cli.settings.v1.GetAllRequest.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.GetAllRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetAllRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.toObject = function(includeInstance, msg) { var f, obj = { }; @@ -911,23 +911,23 @@ proto.cc.arduino.cli.settings.v1.GetAllRequest.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.GetAllRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} */ -proto.cc.arduino.cli.settings.v1.GetAllRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.GetAllRequest; - return proto.cc.arduino.cli.settings.v1.GetAllRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest; + return proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.GetAllRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.GetAllRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} */ -proto.cc.arduino.cli.settings.v1.GetAllRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -947,9 +947,9 @@ proto.cc.arduino.cli.settings.v1.GetAllRequest.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.GetAllRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.GetAllRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -957,11 +957,11 @@ proto.cc.arduino.cli.settings.v1.GetAllRequest.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.GetAllRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetAllRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; }; @@ -982,8 +982,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.GetValueRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.toObject(opt_includeInstance, this); }; @@ -992,11 +992,11 @@ proto.cc.arduino.cli.settings.v1.GetValueRequest.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.GetValueRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.toObject = function(includeInstance, msg) { var f, obj = { key: jspb.Message.getFieldWithDefault(msg, 1, "") }; @@ -1012,23 +1012,23 @@ proto.cc.arduino.cli.settings.v1.GetValueRequest.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.GetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.GetValueRequest; - return proto.cc.arduino.cli.settings.v1.GetValueRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest; + return proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.GetValueRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.GetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1052,9 +1052,9 @@ proto.cc.arduino.cli.settings.v1.GetValueRequest.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.GetValueRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1062,11 +1062,11 @@ proto.cc.arduino.cli.settings.v1.GetValueRequest.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.GetValueRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getKey(); if (f.length > 0) { @@ -1082,16 +1082,16 @@ proto.cc.arduino.cli.settings.v1.GetValueRequest.serializeBinaryToWriter = funct * optional string key = 1; * @return {string} */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.prototype.getKey = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.GetValueRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} returns this */ -proto.cc.arduino.cli.settings.v1.GetValueRequest.prototype.setKey = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.setKey = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -1112,8 +1112,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.MergeResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.MergeResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.toObject(opt_includeInstance, this); }; @@ -1122,11 +1122,11 @@ proto.cc.arduino.cli.settings.v1.MergeResponse.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.MergeResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.MergeResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.toObject = function(includeInstance, msg) { var f, obj = { }; @@ -1142,23 +1142,23 @@ proto.cc.arduino.cli.settings.v1.MergeResponse.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.MergeResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} */ -proto.cc.arduino.cli.settings.v1.MergeResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.MergeResponse; - return proto.cc.arduino.cli.settings.v1.MergeResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsMergeResponse; + return proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.MergeResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.MergeResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} */ -proto.cc.arduino.cli.settings.v1.MergeResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1178,9 +1178,9 @@ proto.cc.arduino.cli.settings.v1.MergeResponse.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.MergeResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.MergeResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1188,11 +1188,11 @@ proto.cc.arduino.cli.settings.v1.MergeResponse.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.MergeResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.MergeResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; }; @@ -1213,8 +1213,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.SetValueResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.SetValueResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.toObject(opt_includeInstance, this); }; @@ -1223,11 +1223,11 @@ proto.cc.arduino.cli.settings.v1.SetValueResponse.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.SetValueResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.SetValueResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.toObject = function(includeInstance, msg) { var f, obj = { }; @@ -1243,23 +1243,23 @@ proto.cc.arduino.cli.settings.v1.SetValueResponse.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.SetValueResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse} */ -proto.cc.arduino.cli.settings.v1.SetValueResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.SetValueResponse; - return proto.cc.arduino.cli.settings.v1.SetValueResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse; + return proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.SetValueResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.SetValueResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse} */ -proto.cc.arduino.cli.settings.v1.SetValueResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1279,9 +1279,9 @@ proto.cc.arduino.cli.settings.v1.SetValueResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.SetValueResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.SetValueResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1289,11 +1289,11 @@ proto.cc.arduino.cli.settings.v1.SetValueResponse.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.SetValueResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.SetValueResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; }; @@ -1314,8 +1314,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.WriteRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.WriteRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.toObject(opt_includeInstance, this); }; @@ -1324,11 +1324,11 @@ proto.cc.arduino.cli.settings.v1.WriteRequest.prototype.toObject = function(opt_ * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.WriteRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.WriteRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.toObject = function(includeInstance, msg) { var f, obj = { filePath: jspb.Message.getFieldWithDefault(msg, 1, "") }; @@ -1344,23 +1344,23 @@ proto.cc.arduino.cli.settings.v1.WriteRequest.toObject = function(includeInstanc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.WriteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} */ -proto.cc.arduino.cli.settings.v1.WriteRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.WriteRequest; - return proto.cc.arduino.cli.settings.v1.WriteRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsWriteRequest; + return proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.WriteRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.WriteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} */ -proto.cc.arduino.cli.settings.v1.WriteRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1384,9 +1384,9 @@ proto.cc.arduino.cli.settings.v1.WriteRequest.deserializeBinaryFromReader = func * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.WriteRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.WriteRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1394,11 +1394,11 @@ proto.cc.arduino.cli.settings.v1.WriteRequest.prototype.serializeBinary = functi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.WriteRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.WriteRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getFilePath(); if (f.length > 0) { @@ -1414,16 +1414,16 @@ proto.cc.arduino.cli.settings.v1.WriteRequest.serializeBinaryToWriter = function * optional string file_path = 1; * @return {string} */ -proto.cc.arduino.cli.settings.v1.WriteRequest.prototype.getFilePath = function() { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.getFilePath = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.WriteRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} returns this */ -proto.cc.arduino.cli.settings.v1.WriteRequest.prototype.setFilePath = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.setFilePath = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -1444,8 +1444,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.WriteResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.WriteResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.toObject(opt_includeInstance, this); }; @@ -1454,11 +1454,11 @@ proto.cc.arduino.cli.settings.v1.WriteResponse.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.WriteResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.WriteResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.toObject = function(includeInstance, msg) { var f, obj = { }; @@ -1474,23 +1474,23 @@ proto.cc.arduino.cli.settings.v1.WriteResponse.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.WriteResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} */ -proto.cc.arduino.cli.settings.v1.WriteResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.WriteResponse; - return proto.cc.arduino.cli.settings.v1.WriteResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsWriteResponse; + return proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.WriteResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.WriteResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} */ -proto.cc.arduino.cli.settings.v1.WriteResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1510,9 +1510,9 @@ proto.cc.arduino.cli.settings.v1.WriteResponse.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.WriteResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.WriteResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1520,11 +1520,11 @@ proto.cc.arduino.cli.settings.v1.WriteResponse.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.WriteResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.WriteResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; }; @@ -1545,8 +1545,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.DeleteRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.toObject(opt_includeInstance, this); }; @@ -1555,11 +1555,11 @@ proto.cc.arduino.cli.settings.v1.DeleteRequest.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.DeleteRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.toObject = function(includeInstance, msg) { var f, obj = { key: jspb.Message.getFieldWithDefault(msg, 1, "") }; @@ -1575,23 +1575,23 @@ proto.cc.arduino.cli.settings.v1.DeleteRequest.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.DeleteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.DeleteRequest; - return proto.cc.arduino.cli.settings.v1.DeleteRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest; + return proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.DeleteRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.DeleteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1615,9 +1615,9 @@ proto.cc.arduino.cli.settings.v1.DeleteRequest.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.DeleteRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1625,11 +1625,11 @@ proto.cc.arduino.cli.settings.v1.DeleteRequest.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.DeleteRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getKey(); if (f.length > 0) { @@ -1645,16 +1645,16 @@ proto.cc.arduino.cli.settings.v1.DeleteRequest.serializeBinaryToWriter = functio * optional string key = 1; * @return {string} */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.prototype.getKey = function() { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.settings.v1.DeleteRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} returns this */ -proto.cc.arduino.cli.settings.v1.DeleteRequest.prototype.setKey = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.setKey = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -1675,8 +1675,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.settings.v1.DeleteResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.settings.v1.DeleteResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.toObject(opt_includeInstance, this); }; @@ -1685,11 +1685,11 @@ proto.cc.arduino.cli.settings.v1.DeleteResponse.prototype.toObject = function(op * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.settings.v1.DeleteResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.DeleteResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.toObject = function(includeInstance, msg) { var f, obj = { }; @@ -1705,23 +1705,23 @@ proto.cc.arduino.cli.settings.v1.DeleteResponse.toObject = function(includeInsta /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.settings.v1.DeleteResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} */ -proto.cc.arduino.cli.settings.v1.DeleteResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.settings.v1.DeleteResponse; - return proto.cc.arduino.cli.settings.v1.DeleteResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse; + return proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.settings.v1.DeleteResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.settings.v1.DeleteResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} */ -proto.cc.arduino.cli.settings.v1.DeleteResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1741,9 +1741,9 @@ proto.cc.arduino.cli.settings.v1.DeleteResponse.deserializeBinaryFromReader = fu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.settings.v1.DeleteResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.settings.v1.DeleteResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1751,13 +1751,13 @@ proto.cc.arduino.cli.settings.v1.DeleteResponse.prototype.serializeBinary = func /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.settings.v1.DeleteResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.settings.v1.DeleteResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; }; -goog.object.extend(exports, proto.cc.arduino.cli.settings.v1); +goog.object.extend(exports, proto.cc.arduino.cli.commands.v1); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts index 6c82e5557..b16f167e2 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts @@ -214,15 +214,23 @@ export namespace UploadUsingProgrammerRequest { } export class UploadUsingProgrammerResponse extends jspb.Message { + + hasOutStream(): boolean; + clearOutStream(): void; getOutStream(): Uint8Array | string; getOutStream_asU8(): Uint8Array; getOutStream_asB64(): string; setOutStream(value: Uint8Array | string): UploadUsingProgrammerResponse; + + hasErrStream(): boolean; + clearErrStream(): void; getErrStream(): Uint8Array | string; getErrStream_asU8(): Uint8Array; getErrStream_asB64(): string; setErrStream(value: Uint8Array | string): UploadUsingProgrammerResponse; + getMessageCase(): UploadUsingProgrammerResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UploadUsingProgrammerResponse.AsObject; static toObject(includeInstance: boolean, msg: UploadUsingProgrammerResponse): UploadUsingProgrammerResponse.AsObject; @@ -238,6 +246,13 @@ export namespace UploadUsingProgrammerResponse { outStream: Uint8Array | string, errStream: Uint8Array | string, } + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + OUT_STREAM = 1, + ERR_STREAM = 2, + } + } export class BurnBootloaderRequest extends jspb.Message { @@ -290,15 +305,23 @@ export namespace BurnBootloaderRequest { } export class BurnBootloaderResponse extends jspb.Message { + + hasOutStream(): boolean; + clearOutStream(): void; getOutStream(): Uint8Array | string; getOutStream_asU8(): Uint8Array; getOutStream_asB64(): string; setOutStream(value: Uint8Array | string): BurnBootloaderResponse; + + hasErrStream(): boolean; + clearErrStream(): void; getErrStream(): Uint8Array | string; getErrStream_asU8(): Uint8Array; getErrStream_asB64(): string; setErrStream(value: Uint8Array | string): BurnBootloaderResponse; + getMessageCase(): BurnBootloaderResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): BurnBootloaderResponse.AsObject; static toObject(includeInstance: boolean, msg: BurnBootloaderResponse): BurnBootloaderResponse.AsObject; @@ -314,6 +337,13 @@ export namespace BurnBootloaderResponse { outStream: Uint8Array | string, errStream: Uint8Array | string, } + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + OUT_STREAM = 1, + ERR_STREAM = 2, + } + } export class ListProgrammersAvailableForUploadRequest extends jspb.Message { diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js index 937a819c4..3ff6946e1 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js @@ -27,6 +27,7 @@ var cc_arduino_cli_commands_v1_port_pb = require('../../../../../cc/arduino/cli/ goog.object.extend(proto, cc_arduino_cli_commands_v1_port_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError', null, global); @@ -38,6 +39,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadResponse.MessageCase', goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadResult', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UserField', null, global); /** * Generated by JsPbCodeGenerator. @@ -155,7 +157,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -197,7 +199,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -1837,6 +1839,32 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.clearUse +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + OUT_STREAM: 1, + ERR_STREAM: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1943,15 +1971,15 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.seriali */ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getOutStream_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { writer.writeBytes( 1, f ); } - f = message.getErrStream_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + if (f != null) { writer.writeBytes( 2, f @@ -1998,7 +2026,25 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.getOutS * @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this */ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.setOutStream = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.clearOutStream = function() { + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.hasOutStream = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -2040,7 +2086,25 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.getErrS * @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this */ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.setErrStream = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.clearErrStream = function() { + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.hasErrStream = function() { + return jspb.Message.getField(this, 2) != null; }; @@ -2430,6 +2494,32 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.clearUserFields +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + OUT_STREAM: 1, + ERR_STREAM: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -2536,15 +2626,15 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.serializeBinar */ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getOutStream_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { writer.writeBytes( 1, f ); } - f = message.getErrStream_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + if (f != null) { writer.writeBytes( 2, f @@ -2591,7 +2681,25 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.getOutStream_a * @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this */ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.setOutStream = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.clearOutStream = function() { + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.hasOutStream = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -2633,7 +2741,25 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.getErrStream_a * @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this */ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.setErrStream = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.clearErrStream = function() { + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.hasErrStream = function() { + return jspb.Message.getField(this, 2) != null; }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.d.ts deleted file mode 100644 index c5284c159..000000000 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.d.ts +++ /dev/null @@ -1,126 +0,0 @@ -// package: cc.arduino.cli.settings.v1 -// file: cc/arduino/cli/settings/v1/settings.proto - -/* tslint:disable */ -/* eslint-disable */ - -import * as grpc from "@grpc/grpc-js"; -import * as cc_arduino_cli_settings_v1_settings_pb from "../../../../../cc/arduino/cli/settings/v1/settings_pb"; - -interface ISettingsServiceService extends grpc.ServiceDefinition { - getAll: ISettingsServiceService_IGetAll; - merge: ISettingsServiceService_IMerge; - getValue: ISettingsServiceService_IGetValue; - setValue: ISettingsServiceService_ISetValue; - write: ISettingsServiceService_IWrite; - delete: ISettingsServiceService_IDelete; -} - -interface ISettingsServiceService_IGetAll extends grpc.MethodDefinition { - path: "/cc.arduino.cli.settings.v1.SettingsService/GetAll"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} -interface ISettingsServiceService_IMerge extends grpc.MethodDefinition { - path: "/cc.arduino.cli.settings.v1.SettingsService/Merge"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} -interface ISettingsServiceService_IGetValue extends grpc.MethodDefinition { - path: "/cc.arduino.cli.settings.v1.SettingsService/GetValue"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} -interface ISettingsServiceService_ISetValue extends grpc.MethodDefinition { - path: "/cc.arduino.cli.settings.v1.SettingsService/SetValue"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} -interface ISettingsServiceService_IWrite extends grpc.MethodDefinition { - path: "/cc.arduino.cli.settings.v1.SettingsService/Write"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} -interface ISettingsServiceService_IDelete extends grpc.MethodDefinition { - path: "/cc.arduino.cli.settings.v1.SettingsService/Delete"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} - -export const SettingsServiceService: ISettingsServiceService; - -export interface ISettingsServiceServer extends grpc.UntypedServiceImplementation { - getAll: grpc.handleUnaryCall; - merge: grpc.handleUnaryCall; - getValue: grpc.handleUnaryCall; - setValue: grpc.handleUnaryCall; - write: grpc.handleUnaryCall; - delete: grpc.handleUnaryCall; -} - -export interface ISettingsServiceClient { - getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall; - getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall; - getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall; - merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall; - merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall; - merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall; - getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall; - getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall; - getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall; - setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall; - setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall; - setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall; - write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall; - write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall; - write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall; - delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall; - delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall; - delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall; -} - -export class SettingsServiceClient extends grpc.Client implements ISettingsServiceClient { - constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial); - public getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall; - public getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall; - public getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall; - public merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall; - public merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall; - public merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall; - public getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall; - public getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall; - public getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall; - public setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall; - public setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall; - public setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall; - public write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall; - public write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall; - public write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall; - public delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall; - public delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall; - public delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall; -} diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.js deleted file mode 100644 index 76c399866..000000000 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb.js +++ /dev/null @@ -1,231 +0,0 @@ -// GENERATED CODE -- DO NOT EDIT! - -// Original file comments: -// This file is part of arduino-cli. -// -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) -// -// This software is released under the GNU General Public License version 3, -// which covers the main part of arduino-cli. -// The terms of this license can be found at: -// https://www.gnu.org/licenses/gpl-3.0.en.html -// -// You can be released from the requirements of the above licenses by purchasing -// a commercial license. Buying such a license is mandatory if you want to -// modify or otherwise use the software for commercial activities involving the -// Arduino software without disclosing the source code of your own applications. -// To purchase a commercial license, send an email to license@arduino.cc. -// -'use strict'; -var cc_arduino_cli_settings_v1_settings_pb = require('../../../../../cc/arduino/cli/settings/v1/settings_pb.js'); - -function serialize_cc_arduino_cli_settings_v1_DeleteRequest(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.DeleteRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.DeleteRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_DeleteRequest(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.DeleteRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_DeleteResponse(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.DeleteResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.DeleteResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_DeleteResponse(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.DeleteResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_GetAllRequest(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetAllRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetAllRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_GetAllRequest(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.GetAllRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_GetAllResponse(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetAllResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetAllResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_GetAllResponse(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.GetAllResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_GetValueRequest(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetValueRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetValueRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_GetValueRequest(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.GetValueRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_GetValueResponse(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetValueResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetValueResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_GetValueResponse(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.GetValueResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_MergeRequest(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.MergeRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.MergeRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_MergeRequest(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.MergeRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_MergeResponse(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.MergeResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.MergeResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_MergeResponse(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.MergeResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_SetValueRequest(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.SetValueRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.SetValueRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_SetValueRequest(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.SetValueRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_SetValueResponse(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.SetValueResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.SetValueResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_SetValueResponse(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.SetValueResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_WriteRequest(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.WriteRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.WriteRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_WriteRequest(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.WriteRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_settings_v1_WriteResponse(arg) { - if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.WriteResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.settings.v1.WriteResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_settings_v1_WriteResponse(buffer_arg) { - return cc_arduino_cli_settings_v1_settings_pb.WriteResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - - -// The SettingsService provides an interface to Arduino CLI configuration -// options -var SettingsServiceService = exports['cc.arduino.cli.settings.v1.SettingsService'] = { - // List all the settings. -getAll: { - path: '/cc.arduino.cli.settings.v1.SettingsService/GetAll', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, - responseType: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse, - requestSerialize: serialize_cc_arduino_cli_settings_v1_GetAllRequest, - requestDeserialize: deserialize_cc_arduino_cli_settings_v1_GetAllRequest, - responseSerialize: serialize_cc_arduino_cli_settings_v1_GetAllResponse, - responseDeserialize: deserialize_cc_arduino_cli_settings_v1_GetAllResponse, - }, - // Set multiple settings values at once. -merge: { - path: '/cc.arduino.cli.settings.v1.SettingsService/Merge', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, - responseType: cc_arduino_cli_settings_v1_settings_pb.MergeResponse, - requestSerialize: serialize_cc_arduino_cli_settings_v1_MergeRequest, - requestDeserialize: deserialize_cc_arduino_cli_settings_v1_MergeRequest, - responseSerialize: serialize_cc_arduino_cli_settings_v1_MergeResponse, - responseDeserialize: deserialize_cc_arduino_cli_settings_v1_MergeResponse, - }, - // Get the value of a specific setting. -getValue: { - path: '/cc.arduino.cli.settings.v1.SettingsService/GetValue', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, - responseType: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse, - requestSerialize: serialize_cc_arduino_cli_settings_v1_GetValueRequest, - requestDeserialize: deserialize_cc_arduino_cli_settings_v1_GetValueRequest, - responseSerialize: serialize_cc_arduino_cli_settings_v1_GetValueResponse, - responseDeserialize: deserialize_cc_arduino_cli_settings_v1_GetValueResponse, - }, - // Set the value of a specific setting. -setValue: { - path: '/cc.arduino.cli.settings.v1.SettingsService/SetValue', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, - responseType: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse, - requestSerialize: serialize_cc_arduino_cli_settings_v1_SetValueRequest, - requestDeserialize: deserialize_cc_arduino_cli_settings_v1_SetValueRequest, - responseSerialize: serialize_cc_arduino_cli_settings_v1_SetValueResponse, - responseDeserialize: deserialize_cc_arduino_cli_settings_v1_SetValueResponse, - }, - // Writes to file settings currently stored in memory -write: { - path: '/cc.arduino.cli.settings.v1.SettingsService/Write', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, - responseType: cc_arduino_cli_settings_v1_settings_pb.WriteResponse, - requestSerialize: serialize_cc_arduino_cli_settings_v1_WriteRequest, - requestDeserialize: deserialize_cc_arduino_cli_settings_v1_WriteRequest, - responseSerialize: serialize_cc_arduino_cli_settings_v1_WriteResponse, - responseDeserialize: deserialize_cc_arduino_cli_settings_v1_WriteResponse, - }, - // Deletes an entry and rewrites the file settings -delete: { - path: '/cc.arduino.cli.settings.v1.SettingsService/Delete', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, - responseType: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse, - requestSerialize: serialize_cc_arduino_cli_settings_v1_DeleteRequest, - requestDeserialize: deserialize_cc_arduino_cli_settings_v1_DeleteRequest, - responseSerialize: serialize_cc_arduino_cli_settings_v1_DeleteResponse, - responseDeserialize: deserialize_cc_arduino_cli_settings_v1_DeleteResponse, - }, -}; - diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_pb.d.ts deleted file mode 100644 index 03fdbf449..000000000 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/settings/v1/settings_pb.d.ts +++ /dev/null @@ -1,238 +0,0 @@ -// package: cc.arduino.cli.settings.v1 -// file: cc/arduino/cli/settings/v1/settings.proto - -/* tslint:disable */ -/* eslint-disable */ - -import * as jspb from "google-protobuf"; - -export class GetAllResponse extends jspb.Message { - getJsonData(): string; - setJsonData(value: string): GetAllResponse; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetAllResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetAllResponse): GetAllResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetAllResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetAllResponse; - static deserializeBinaryFromReader(message: GetAllResponse, reader: jspb.BinaryReader): GetAllResponse; -} - -export namespace GetAllResponse { - export type AsObject = { - jsonData: string, - } -} - -export class MergeRequest extends jspb.Message { - getJsonData(): string; - setJsonData(value: string): MergeRequest; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): MergeRequest.AsObject; - static toObject(includeInstance: boolean, msg: MergeRequest): MergeRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: MergeRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): MergeRequest; - static deserializeBinaryFromReader(message: MergeRequest, reader: jspb.BinaryReader): MergeRequest; -} - -export namespace MergeRequest { - export type AsObject = { - jsonData: string, - } -} - -export class GetValueResponse extends jspb.Message { - getKey(): string; - setKey(value: string): GetValueResponse; - getJsonData(): string; - setJsonData(value: string): GetValueResponse; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetValueResponse.AsObject; - static toObject(includeInstance: boolean, msg: GetValueResponse): GetValueResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetValueResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetValueResponse; - static deserializeBinaryFromReader(message: GetValueResponse, reader: jspb.BinaryReader): GetValueResponse; -} - -export namespace GetValueResponse { - export type AsObject = { - key: string, - jsonData: string, - } -} - -export class SetValueRequest extends jspb.Message { - getKey(): string; - setKey(value: string): SetValueRequest; - getJsonData(): string; - setJsonData(value: string): SetValueRequest; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SetValueRequest.AsObject; - static toObject(includeInstance: boolean, msg: SetValueRequest): SetValueRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SetValueRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SetValueRequest; - static deserializeBinaryFromReader(message: SetValueRequest, reader: jspb.BinaryReader): SetValueRequest; -} - -export namespace SetValueRequest { - export type AsObject = { - key: string, - jsonData: string, - } -} - -export class GetAllRequest extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetAllRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetAllRequest): GetAllRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetAllRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetAllRequest; - static deserializeBinaryFromReader(message: GetAllRequest, reader: jspb.BinaryReader): GetAllRequest; -} - -export namespace GetAllRequest { - export type AsObject = { - } -} - -export class GetValueRequest extends jspb.Message { - getKey(): string; - setKey(value: string): GetValueRequest; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): GetValueRequest.AsObject; - static toObject(includeInstance: boolean, msg: GetValueRequest): GetValueRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: GetValueRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): GetValueRequest; - static deserializeBinaryFromReader(message: GetValueRequest, reader: jspb.BinaryReader): GetValueRequest; -} - -export namespace GetValueRequest { - export type AsObject = { - key: string, - } -} - -export class MergeResponse extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): MergeResponse.AsObject; - static toObject(includeInstance: boolean, msg: MergeResponse): MergeResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: MergeResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): MergeResponse; - static deserializeBinaryFromReader(message: MergeResponse, reader: jspb.BinaryReader): MergeResponse; -} - -export namespace MergeResponse { - export type AsObject = { - } -} - -export class SetValueResponse extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SetValueResponse.AsObject; - static toObject(includeInstance: boolean, msg: SetValueResponse): SetValueResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SetValueResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SetValueResponse; - static deserializeBinaryFromReader(message: SetValueResponse, reader: jspb.BinaryReader): SetValueResponse; -} - -export namespace SetValueResponse { - export type AsObject = { - } -} - -export class WriteRequest extends jspb.Message { - getFilePath(): string; - setFilePath(value: string): WriteRequest; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): WriteRequest.AsObject; - static toObject(includeInstance: boolean, msg: WriteRequest): WriteRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: WriteRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): WriteRequest; - static deserializeBinaryFromReader(message: WriteRequest, reader: jspb.BinaryReader): WriteRequest; -} - -export namespace WriteRequest { - export type AsObject = { - filePath: string, - } -} - -export class WriteResponse extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): WriteResponse.AsObject; - static toObject(includeInstance: boolean, msg: WriteResponse): WriteResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: WriteResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): WriteResponse; - static deserializeBinaryFromReader(message: WriteResponse, reader: jspb.BinaryReader): WriteResponse; -} - -export namespace WriteResponse { - export type AsObject = { - } -} - -export class DeleteRequest extends jspb.Message { - getKey(): string; - setKey(value: string): DeleteRequest; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DeleteRequest.AsObject; - static toObject(includeInstance: boolean, msg: DeleteRequest): DeleteRequest.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DeleteRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DeleteRequest; - static deserializeBinaryFromReader(message: DeleteRequest, reader: jspb.BinaryReader): DeleteRequest; -} - -export namespace DeleteRequest { - export type AsObject = { - key: string, - } -} - -export class DeleteResponse extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): DeleteResponse.AsObject; - static toObject(includeInstance: boolean, msg: DeleteResponse): DeleteResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: DeleteResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): DeleteResponse; - static deserializeBinaryFromReader(message: DeleteResponse, reader: jspb.BinaryReader): DeleteResponse; -} - -export namespace DeleteResponse { - export type AsObject = { - } -} diff --git a/arduino-ide-extension/src/node/config-service-impl.ts b/arduino-ide-extension/src/node/config-service-impl.ts index 1f56748cc..1a83d8a6a 100644 --- a/arduino-ide-extension/src/node/config-service-impl.ts +++ b/arduino-ide-extension/src/node/config-service-impl.ts @@ -1,7 +1,6 @@ import { promises as fs } from 'node:fs'; import { dirname } from 'node:path'; import yaml from 'js-yaml'; -import * as grpc from '@grpc/grpc-js'; import { injectable, inject, named } from '@theia/core/shared/inversify'; import URI from '@theia/core/lib/common/uri'; import { ILogger } from '@theia/core/lib/common/logger'; @@ -16,18 +15,17 @@ import { ConfigState, } from '../common/protocol'; import { spawnCommand } from './exec-util'; -import { - MergeRequest, - WriteRequest, -} from './cli-protocol/cc/arduino/cli/settings/v1/settings_pb'; -import { SettingsServiceClient } from './cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb'; -import * as serviceGrpcPb from './cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb'; import { ArduinoDaemonImpl } from './arduino-daemon-impl'; import { DefaultCliConfig, CLI_CONFIG } from './cli-config'; import { Deferred } from '@theia/core/lib/common/promise-util'; import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { deepClone, nls } from '@theia/core'; import { ErrnoException } from './utils/errors'; +import { + SettingsMergeRequest, + SettingsWriteRequest, +} from './cli-protocol/cc/arduino/cli/commands/v1/settings_pb'; +import { createArduinoCoreServiceClient } from './arduino-core-service-client'; const deepmerge = require('deepmerge'); @@ -293,16 +291,16 @@ export class ConfigServiceImpl } private async updateDaemon( - port: string | number, + port: number | number, config: DefaultCliConfig ): Promise { - const client = this.createClient(port); - const req = new MergeRequest(); + const client = createArduinoCoreServiceClient({ port }); + const req = new SettingsMergeRequest(); const json = JSON.stringify(config, null, 2); req.setJsonData(json); this.logger.info(`Updating daemon with 'data': ${json}`); return new Promise((resolve, reject) => { - client.merge(req, (error) => { + client.settingsMerge(req, (error) => { try { if (error) { reject(error); @@ -316,14 +314,14 @@ export class ConfigServiceImpl }); } - private async writeDaemonState(port: string | number): Promise { - const client = this.createClient(port); - const req = new WriteRequest(); + private async writeDaemonState(port: number | number): Promise { + const client = createArduinoCoreServiceClient({ port }); + const req = new SettingsWriteRequest(); const cliConfigUri = await this.getCliConfigFileUri(); const cliConfigPath = FileUri.fsPath(cliConfigUri); req.setFilePath(cliConfigPath); return new Promise((resolve, reject) => { - client.write(req, (error) => { + client.settingsWrite(req, (error) => { try { if (error) { reject(error); @@ -337,19 +335,6 @@ export class ConfigServiceImpl }); } - private createClient(port: string | number): SettingsServiceClient { - // https://github.com/agreatfool/grpc_tools_node_protoc_ts/blob/master/doc/grpcjs_support.md#usage - const SettingsServiceClient = grpc.makeClientConstructor( - // @ts-expect-error: ignore - serviceGrpcPb['cc.arduino.cli.settings.v1.SettingsService'], - 'SettingsServiceService' - ) as any; - return new SettingsServiceClient( - `localhost:${port}`, - grpc.credentials.createInsecure() - ) as SettingsServiceClient; - } - // #1445 private async ensureUserDirExists( cliConfig: DefaultCliConfig diff --git a/arduino-ide-extension/src/node/core-client-provider.ts b/arduino-ide-extension/src/node/core-client-provider.ts index 28e8f028c..f113b96c5 100644 --- a/arduino-ide-extension/src/node/core-client-provider.ts +++ b/arduino-ide-extension/src/node/core-client-provider.ts @@ -17,7 +17,6 @@ import { UpdateLibrariesIndexRequest, UpdateLibrariesIndexResponse, } from './cli-protocol/cc/arduino/cli/commands/v1/commands_pb'; -import * as commandsGrpcPb from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb'; import { IndexType, IndexUpdateDidCompleteParams, @@ -43,6 +42,10 @@ import { } from './grpc-progressible'; import type { DefaultCliConfig } from './cli-config'; import { ServiceError } from './service-error'; +import { + createArduinoCoreServiceClient, + createDefaultChannelOptions, +} from './arduino-core-service-client'; @injectable() export class CoreClientProvider { @@ -128,10 +131,9 @@ export class CoreClientProvider { /** * Encapsulates both the gRPC core client creation (`CreateRequest`) and initialization (`InitRequest`). */ - private async create(port: string): Promise { + private async create(port: number): Promise { this.closeClient(); - const address = this.address(port); - const client = await this.createClient(address); + const client = await this.createClient(port); this.toDisposeOnCloseClient.pushAll([ Disposable.create(() => client.client.close()), ]); @@ -195,22 +197,9 @@ export class CoreClientProvider { return this.toDisposeOnCloseClient.dispose(); } - private async createClient( - address: string - ): Promise { - // https://github.com/agreatfool/grpc_tools_node_protoc_ts/blob/master/doc/grpcjs_support.md#usage - const ArduinoCoreServiceClient = grpc.makeClientConstructor( - // @ts-expect-error: ignore - commandsGrpcPb['cc.arduino.cli.commands.v1.ArduinoCoreService'], - 'ArduinoCoreServiceService' - // eslint-disable-next-line @typescript-eslint/no-explicit-any - ) as any; - const client = new ArduinoCoreServiceClient( - address, - grpc.credentials.createInsecure(), - this.channelOptions - ) as ArduinoCoreServiceClient; - + private async createClient(port: number): Promise { + const channelOptions = createDefaultChannelOptions(this.version); + const client = createArduinoCoreServiceClient({ port, channelOptions }); const instance = await new Promise((resolve, reject) => { client.create(new CreateRequest(), (err, resp) => { if (err) { @@ -407,18 +396,6 @@ export class CoreClientProvider { }); } - private address(port: string): string { - return `localhost:${port}`; - } - - private get channelOptions(): Record { - return { - 'grpc.max_send_message_length': 512 * 1024 * 1024, - 'grpc.max_receive_message_length': 512 * 1024 * 1024, - 'grpc.primary_user_agent': `arduino-ide/${this.version}`, - }; - } - private _version: string | undefined; private get version(): string { if (this._version) { diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index a8dfab98b..3a9677c18 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -535,18 +535,31 @@ function updateCompileSummary( compileSummary: CompileSummaryFragment, response: CompileResponse ): CompileSummaryFragment { - const buildPath = response.getBuildPath(); + const messageCase = response.getMessageCase(); + if (messageCase !== CompileResponse.MessageCase.RESULT) { + return compileSummary; + } + const result = response.getResult(); + if (!result) { + console.warn( + `Build result is missing from response: ${JSON.stringify( + response.toObject(false) + )}` + ); + return compileSummary; + } + const buildPath = result.getBuildPath(); if (buildPath) { compileSummary.buildPath = buildPath; compileSummary.buildOutputUri = FileUri.create(buildPath).toString(); } - const executableSectionsSize = response.getExecutableSectionsSizeList(); + const executableSectionsSize = result.getExecutableSectionsSizeList(); if (executableSectionsSize) { compileSummary.executableSectionsSize = executableSectionsSize.map((item) => item.toObject(false) ); } - const usedLibraries = response.getUsedLibrariesList(); + const usedLibraries = result.getUsedLibrariesList(); if (usedLibraries) { compileSummary.usedLibraries = usedLibraries.map((item) => { const object = item.toObject(false); @@ -575,15 +588,15 @@ function updateCompileSummary( return library; }); } - const boardPlatform = response.getBoardPlatform(); + const boardPlatform = result.getBoardPlatform(); if (boardPlatform) { compileSummary.buildPlatform = boardPlatform.toObject(false); } - const buildPlatform = response.getBuildPlatform(); + const buildPlatform = result.getBuildPlatform(); if (buildPlatform) { compileSummary.buildPlatform = buildPlatform.toObject(false); } - const buildProperties = response.getBuildPropertiesList(); + const buildProperties = result.getBuildPropertiesList(); if (buildProperties) { compileSummary.buildProperties = buildProperties.slice(); } diff --git a/arduino-ide-extension/src/node/library-service-impl.ts b/arduino-ide-extension/src/node/library-service-impl.ts index afdfae052..1b447bb4c 100644 --- a/arduino-ide-extension/src/node/library-service-impl.ts +++ b/arduino-ide-extension/src/node/library-service-impl.ts @@ -81,7 +81,7 @@ export class LibraryServiceImpl } const req = new LibrarySearchRequest(); - req.setQuery(options.query || ''); + req.setSearchArgs(options.query || ''); req.setInstance(instance); req.setOmitReleasesDetails(true); const resp = await new Promise((resolve, reject) => diff --git a/arduino-ide-extension/src/node/monitor-service.ts b/arduino-ide-extension/src/node/monitor-service.ts index e6c3172f1..2e48f7f79 100644 --- a/arduino-ide-extension/src/node/monitor-service.ts +++ b/arduino-ide-extension/src/node/monitor-service.ts @@ -23,6 +23,7 @@ import { EnumerateMonitorPortSettingsRequest, EnumerateMonitorPortSettingsResponse, MonitorPortConfiguration, + MonitorPortOpenRequest, MonitorPortSetting, MonitorRequest, MonitorResponse, @@ -229,16 +230,16 @@ export class MonitorService extends CoreClientAware implements Disposable { const coreClient = await this.coreClient; const { instance } = coreClient; - const monitorRequest = new MonitorRequest(); - monitorRequest.setInstance(instance); + const openPortRequest = new MonitorPortOpenRequest(); + openPortRequest.setInstance(instance); if (this.board?.fqbn) { - monitorRequest.setFqbn(this.board.fqbn); + openPortRequest.setFqbn(this.board.fqbn); } if (this.port?.address && this.port?.protocol) { const rpcPort = new RpcPort(); rpcPort.setAddress(this.port.address); rpcPort.setProtocol(this.port.protocol); - monitorRequest.setPort(rpcPort); + openPortRequest.setPort(rpcPort); } const config = new MonitorPortConfiguration(); for (const id in this.settings.pluggableMonitorSettings) { @@ -247,9 +248,9 @@ export class MonitorService extends CoreClientAware implements Disposable { s.setValue(this.settings.pluggableMonitorSettings[id].selectedValue); config.addSettings(s); } - monitorRequest.setPortConfiguration(config); + openPortRequest.setPortConfiguration(config); - await this.pollWriteToStream(monitorRequest); + await this.pollWriteToStream(openPortRequest); // Only store the config, if the monitor has successfully started. this.currentPortConfigSnapshot = MonitorPortConfiguration.toObject( false, @@ -344,7 +345,7 @@ export class MonitorService extends CoreClientAware implements Disposable { } } - pollWriteToStream(request: MonitorRequest): Promise { + pollWriteToStream(request: MonitorPortOpenRequest): Promise { const createWriteToStreamExecutor = (duplex: ClientDuplexStream) => (resolve: () => void, reject: (reason?: unknown) => void) => { @@ -380,7 +381,7 @@ export class MonitorService extends CoreClientAware implements Disposable { ]; this.setDuplexHandlers(duplex, resolvingDuplexHandlers); - duplex.write(request); + duplex.write(new MonitorRequest().setOpenRequest(request)); }; return Promise.race([ @@ -409,6 +410,8 @@ export class MonitorService extends CoreClientAware implements Disposable { ]) as Promise as Promise; } + private endingDuplex: Promise | undefined; + /** * Pauses the currently running monitor, it still closes the gRPC connection * with the underlying monitor process but it doesn't stop the message handlers @@ -418,29 +421,43 @@ export class MonitorService extends CoreClientAware implements Disposable { * @returns */ async pause(): Promise { - return new Promise(async (resolve) => { - if (!this.duplex) { - this.logger.warn( - `monitor to ${this.port?.address} using ${this.port?.protocol} already stopped` - ); - return resolve(); - } - // It's enough to close the connection with the client - // to stop the monitor process - this.duplex.end(); - this.logger.info( - `stopped monitor to ${this.port?.address} using ${this.port?.protocol}` + const duplex = this.duplex; + if (!duplex) { + this.logger.warn( + `monitor to ${this.port?.address} using ${this.port?.protocol} already stopped` ); + return; + } + if (this.endingDuplex) { + return this.endingDuplex; + } + const deferredEnd = new Deferred(); + this.endingDuplex = deferredEnd.promise; - this.duplex.on('end', resolve); + // to terminate the monitor connection, send a close request, and wait for the end event + duplex.once('end', () => { + deferredEnd.resolve(); }); + try { + await new Promise((resolve) => + duplex.write(new MonitorRequest().setClose(true), resolve) + ); + await this.endingDuplex; + } finally { + this.endingDuplex = undefined; + } + // Sanity check + // Duplexes are allowed to be half open, check whether the monitor server (the readable) has ended + if (!duplex.readableEnded) { + throw new Error('Could not end the monitor connection'); + } } /** * Stop the monitor currently running */ async stop(): Promise { - return this.pause().finally(this.stopMessagesHandlers.bind(this)); + return this.pause().finally(() => this.stopMessagesHandlers()); } /** @@ -454,11 +471,7 @@ export class MonitorService extends CoreClientAware implements Disposable { if (!this.duplex) { throw createNotConnectedError(this.port); } - const coreClient = await this.coreClient; - const { instance } = coreClient; - const req = new MonitorRequest(); - req.setInstance(instance); req.setTxData(new TextEncoder().encode(message)); return new Promise((resolve, reject) => { if (this.duplex) { @@ -588,17 +601,13 @@ export class MonitorService extends CoreClientAware implements Disposable { return; } - const coreClient = await this.coreClient; - const { instance } = coreClient; - this.logger.info( `Sending monitor request with new port configuration: ${JSON.stringify( MonitorPortConfiguration.toObject(false, diffConfig) )}` ); const req = new MonitorRequest(); - req.setInstance(instance); - req.setPortConfiguration(diffConfig); + req.setUpdatedConfiguration(diffConfig); this.duplex.write(req); } diff --git a/arduino-ide-extension/src/node/notification-service-server.ts b/arduino-ide-extension/src/node/notification-service-server.ts index cd3cac91e..bcbdb99d8 100644 --- a/arduino-ide-extension/src/node/notification-service-server.ts +++ b/arduino-ide-extension/src/node/notification-service-server.ts @@ -43,7 +43,7 @@ export class NotificationServiceServerImpl this.clients.forEach((client) => client.notifyIndexUpdateDidFail(params)); } - notifyDaemonDidStart(port: string): void { + notifyDaemonDidStart(port: number): void { this.clients.forEach((client) => client.notifyDaemonDidStart(port)); } diff --git a/arduino-ide-extension/src/node/sketches-service-impl.ts b/arduino-ide-extension/src/node/sketches-service-impl.ts index 6e1b987bc..21320000e 100644 --- a/arduino-ide-extension/src/node/sketches-service-impl.ts +++ b/arduino-ide-extension/src/node/sketches-service-impl.ts @@ -167,7 +167,16 @@ export class SketchesServiceImpl reject(rejectWith); return; } - const responseSketchPath = maybeNormalizeDrive(resp.getLocationPath()); + const sketch = resp.getSketch(); + if (!sketch) { + reject( + new Error(`Incomplete LoadSketch response. Sketch is missing.`) + ); + return; + } + const responseSketchPath = maybeNormalizeDrive( + sketch.getLocationPath() + ); if (requestSketchPath !== responseSketchPath) { this.logger.warn( `Warning! The request sketch path was different than the response sketch path from the CLI. This could be a potential bug. Request: <${requestSketchPath}>, response: <${responseSketchPath}>.` @@ -185,14 +194,14 @@ export class SketchesServiceImpl resolve({ name: path.basename(responseSketchPath), uri: FileUri.create(responseSketchPath).toString(), - mainFileUri: FileUri.create(resp.getMainFile()).toString(), - otherSketchFileUris: resp + mainFileUri: FileUri.create(sketch.getMainFile()).toString(), + otherSketchFileUris: sketch .getOtherSketchFilesList() .map((p) => FileUri.create(p).toString()), - additionalFileUris: resp + additionalFileUris: sketch .getAdditionalFilesList() .map((p) => FileUri.create(p).toString()), - rootFolderFileUris: resp + rootFolderFileUris: sketch .getRootFolderFilesList() .map((p) => FileUri.create(p).toString()), mtimeMs, diff --git a/arduino-ide-extension/src/test/node/arduino-daemon-impl.test.ts b/arduino-ide-extension/src/test/node/arduino-daemon-impl.test.ts index 635bbeeb3..ed5149102 100644 --- a/arduino-ide-extension/src/test/node/arduino-daemon-impl.test.ts +++ b/arduino-ide-extension/src/test/node/arduino-daemon-impl.test.ts @@ -21,7 +21,7 @@ class SilentArduinoDaemonImpl extends ArduinoDaemonImpl { override async spawnDaemonProcess(): Promise<{ daemon: ChildProcess; - port: string; + port: number; }> { return super.spawnDaemonProcess(); } diff --git a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts index fbd5aeb4d..767bb9d6e 100644 --- a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts @@ -1,7 +1,7 @@ import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; -import { BoardSearch, BoardsService } from '../../common/protocol'; +import { BoardSearch, BoardsService, Installable } from '../../common/protocol'; import { createBaseContainer, startDaemon } from './node-test-bindings'; describe('boards-service-impl', () => { @@ -24,6 +24,29 @@ describe('boards-service-impl', () => { expect(result).is.not.empty; }); + it('should order the available platform release versions in descending order', async function () { + const result = await boardService.search({}); + result.forEach((platform) => + platform.availableVersions.forEach( + (currentVersion, index, versions) => { + if (index < versions.length - 2) { + const nextArrayElement = versions[index + 1]; + const actual = Installable.Version.COMPARATOR( + currentVersion, + nextArrayElement + ); + expect(actual).to.be.greaterThan( + 0, + `Expected '${currentVersion}' to be gt '${nextArrayElement}'. All versions: ${JSON.stringify( + versions + )}` + ); + } + } + ) + ); + }); + it("should boost a result when 'types' includes 'arduino', and lower the score if deprecated", async () => { const result = await boardService.search({}); const arduinoIndexes: number[] = []; diff --git a/arduino-ide-extension/src/test/node/node-test-bindings.ts b/arduino-ide-extension/src/test/node/node-test-bindings.ts index 29ff09f52..0f2ca5e35 100644 --- a/arduino-ide-extension/src/test/node/node-test-bindings.ts +++ b/arduino-ide-extension/src/test/node/node-test-bindings.ts @@ -111,7 +111,7 @@ class TestNotificationServiceServer implements NotificationServiceServer { notifyIndexUpdateDidFail(params: IndexUpdateDidFailParams): void { this.events.push(`notifyIndexUpdateDidFail:${JSON.stringify(params)}`); } - notifyDaemonDidStart(port: string): void { + notifyDaemonDidStart(port: number): void { this.events.push(`notifyDaemonDidStart:${port}`); } notifyDaemonDidStop(): void { From 347e3d81186ed110ee618578485f5d6110f39fed Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Tue, 22 Aug 2023 13:17:22 +0200 Subject: [PATCH 14/87] fix: can unset `network#proxy` in the CLI config An empty object (`{}`) must be used to correctly unset the CLI config value to its default. Closes arduino/arduino-ide#2184 Signed-off-by: Akos Kitta --- .../src/node/config-service-impl.ts | 2 +- .../node/config-service-impl.slow-test.ts | 178 ++++++++++++++++++ 2 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 arduino-ide-extension/src/test/node/config-service-impl.slow-test.ts diff --git a/arduino-ide-extension/src/node/config-service-impl.ts b/arduino-ide-extension/src/node/config-service-impl.ts index 1a83d8a6a..f112f7206 100644 --- a/arduino-ide-extension/src/node/config-service-impl.ts +++ b/arduino-ide-extension/src/node/config-service-impl.ts @@ -95,7 +95,7 @@ export class ConfigServiceImpl }; copyDefaultCliConfig.locale = locale || 'en'; const proxy = Network.stringify(network); - copyDefaultCliConfig.network = { proxy }; + copyDefaultCliConfig.network = proxy ? { proxy } : {}; // must be an empty object to unset the default prop with the `WriteRequest`. // always use the port of the daemon const port = await this.daemon.getPort(); diff --git a/arduino-ide-extension/src/test/node/config-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/config-service-impl.slow-test.ts new file mode 100644 index 000000000..fe585bb7d --- /dev/null +++ b/arduino-ide-extension/src/test/node/config-service-impl.slow-test.ts @@ -0,0 +1,178 @@ +import { + Disposable, + DisposableCollection, +} from '@theia/core/lib/common/disposable'; +import { deepClone } from '@theia/core/lib/common/objects'; +import type { MaybePromise, Mutable } from '@theia/core/lib/common/types'; +import type { Container } from '@theia/core/shared/inversify'; +import { expect } from 'chai'; +import { load as parseYaml } from 'js-yaml'; +import { promises as fs } from 'node:fs'; +import { join } from 'node:path'; +import temp from 'temp'; +import { + Config, + Network, + ProxySettings, +} from '../../common/protocol/config-service'; +import { CLI_CONFIG, DefaultCliConfig } from '../../node/cli-config'; +import { ConfigServiceImpl } from '../../node/config-service-impl'; +import { ConfigDirUriProvider } from '../../node/theia/env-variables/env-variables-server'; +import { + createBaseContainer, + createCliConfig, + startDaemon, +} from './node-test-bindings'; + +describe('config-service-impl', () => { + const noProxy = 'none'; + const manualProxy: ProxySettings = { + protocol: 'http', + hostname: 'hostname', + password: 'secret', + username: 'username', + port: '1234', + }; + + describe('setConfiguration', () => { + let configService: ConfigServiceImpl; + let toDispose: DisposableCollection; + let cliConfigPath: string; + + beforeEach(async () => { + const container = await createBaseContainer(); + toDispose = new DisposableCollection(); + await startDaemon(container, toDispose); + configService = container.get(ConfigServiceImpl); + cliConfigPath = getCliConfigPath(container); + }); + + afterEach(() => toDispose.dispose()); + + it("should detect 'none' proxy with th default config", async () => { + const state = await configService.getConfiguration(); + expect(state.config).to.be.not.undefined; + const config = state.config; + expect(config.network).to.be.equal(noProxy); + expect(Network.stringify(config.network)).is.undefined; + await assertRawConfigModel(cliConfigPath, (actualModel) => { + expect(actualModel.network).to.be.undefined; + }); + }); + + it('should ignore noop changes', async () => { + const beforeState = await configService.getConfiguration(); + const config = >deepClone(beforeState).config; + let eventCounter = 0; + toDispose.push(configService.onConfigChange(() => eventCounter++)); + await configService.setConfiguration(config); + const afterState = await configService.getConfiguration(); + expect(beforeState.config).to.be.deep.equal(afterState.config); + expect(eventCounter).to.be.equal(0); + }); + + it('should set the manual proxy', async () => { + const beforeState = await configService.getConfiguration(); + const config = >deepClone(beforeState).config; + config.network = manualProxy; + let eventCounter = 0; + toDispose.push(configService.onConfigChange(() => eventCounter++)); + await configService.setConfiguration(config); + const afterState = await configService.getConfiguration(); + expect(beforeState.config).to.be.not.deep.equal(afterState.config); + expect(afterState.config?.network).to.be.deep.equal(manualProxy); + expect(eventCounter).to.be.equal(1); + await assertRawConfigModel(cliConfigPath, (actualModel) => { + expect(actualModel.network?.proxy).to.be.equal( + Network.stringify(manualProxy) + ); + }); + }); + + it('should unset the manual proxy', async () => { + const initialState = await configService.getConfiguration(); + const config = >deepClone(initialState).config; + config.network = manualProxy; + let eventCounter = 0; + toDispose.push(configService.onConfigChange(() => eventCounter++)); + await configService.setConfiguration(config); + const beforeState = await configService.getConfiguration(); + const config2 = >deepClone(config); + config2.network = noProxy; + await configService.setConfiguration(config2); + const afterState = await configService.getConfiguration(); + expect(beforeState.config).to.be.not.deep.equal(afterState.config); + expect(afterState.config?.network).to.be.deep.equal(noProxy); + expect(eventCounter).to.be.equal(2); + await assertRawConfigModel(cliConfigPath, (actualModel) => { + expect(actualModel.network?.proxy).to.be.undefined; + }); + }); + }); + + describe('setConfiguration (multiple CLI daemon sessions)', () => { + let tracked: typeof temp; + let toDispose: DisposableCollection; + + before(() => { + tracked = temp.track(); + toDispose = new DisposableCollection( + Disposable.create(() => tracked.cleanupSync()) + ); + }); + + after(() => toDispose.dispose()); + + it("should unset the 'network#proxy' config value between daemon sessions", async () => { + const configDirPath = tracked.mkdirSync(); + const cliConfigPath = join(configDirPath, CLI_CONFIG); + const cliConfig = await createCliConfig(configDirPath); + const setupContainer = await createBaseContainer({ + cliConfig, + configDirPath, + }); + const toDisposeAfterFirstStart = new DisposableCollection(); + toDispose.push(toDisposeAfterFirstStart); + await startDaemon(setupContainer, toDisposeAfterFirstStart); + toDisposeAfterFirstStart.dispose(); + + // second startup when the indexes are all downloaded and the daemon is initialized with the network#proxy + cliConfig.network = { proxy: Network.stringify(manualProxy) }; + const container = await createBaseContainer({ cliConfig, configDirPath }); + await startDaemon(container, toDispose); + const configService = container.get(ConfigServiceImpl); + let eventCounter = 0; + toDispose.push(configService.onConfigChange(() => eventCounter++)); + + const beforeState = await configService.getConfiguration(); + const config = >deepClone(beforeState.config); + config.network = noProxy; + await configService.setConfiguration(config); + const afterState = await configService.getConfiguration(); + expect(beforeState.config).to.be.not.deep.equal(afterState.config); + expect(afterState.config?.network).to.be.deep.equal(noProxy); + expect(eventCounter).to.be.equal(1); + await assertRawConfigModel(cliConfigPath, (actualModel) => { + expect(actualModel.network?.proxy).to.be.undefined; // currently fails due to arduino/arduino-cli#2275 + }); + }); + }); + + async function assertRawConfigModel( + cliConfigPath: string, + assert: (actual: DefaultCliConfig) => MaybePromise + ): Promise { + const raw = await fs.readFile(cliConfigPath, { encoding: 'utf8' }); + const model = parseYaml(raw); + await assert(model); + } + + function getCliConfigPath(container: Container): string { + const configDirUriProvider = + container.get(ConfigDirUriProvider); + return configDirUriProvider + .configDirUri() + .resolve(CLI_CONFIG) + .path.fsPath(); + } +}); From 2a325a5b74a7ea80645cd2da74588f706292f4ff Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Mon, 5 Feb 2024 13:17:00 +0100 Subject: [PATCH 15/87] feat: cancelable verify+upload Closes arduino/arduino-ide#1199 Signed-off-by: Akos Kitta --- .../browser/contributions/burn-bootloader.ts | 14 +- .../src/browser/contributions/contribution.ts | 124 ++++++---- .../browser/contributions/upload-sketch.ts | 5 +- .../browser/contributions/verify-sketch.ts | 26 +- .../browser/library/library-list-widget.ts | 6 +- .../component-list/component-list-item.tsx | 2 +- .../filterable-list-container.tsx | 7 +- .../widgets/component-list/list-widget.tsx | 7 - arduino-ide-extension/src/common/nls.ts | 2 + .../src/common/protocol/core-service.ts | 18 +- .../src/common/protocol/progressible.ts | 43 +++- .../src/node/core-service-impl.ts | 230 +++++++++++------- i18n/en.json | 3 +- 13 files changed, 307 insertions(+), 180 deletions(-) diff --git a/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts b/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts index 2ad150784..e951ac2f9 100644 --- a/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts +++ b/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts @@ -37,11 +37,15 @@ export class BurnBootloader extends CoreServiceContribution { 'arduino/bootloader/burningBootloader', 'Burning bootloader...' ), - task: (progressId, coreService) => - coreService.burnBootloader({ - ...options, - progressId, - }), + task: (progressId, coreService, token) => + coreService.burnBootloader( + { + ...options, + progressId, + }, + token + ), + cancelable: true, }); this.messageService.info( nls.localize( diff --git a/arduino-ide-extension/src/browser/contributions/contribution.ts b/arduino-ide-extension/src/browser/contributions/contribution.ts index 8de4d8ff4..1a8ff5798 100644 --- a/arduino-ide-extension/src/browser/contributions/contribution.ts +++ b/arduino-ide-extension/src/browser/contributions/contribution.ts @@ -1,83 +1,89 @@ +import { ClipboardService } from '@theia/core/lib/browser/clipboard-service'; import { - inject, - injectable, - interfaces, - postConstruct, -} from '@theia/core/shared/inversify'; -import URI from '@theia/core/lib/common/uri'; -import { ILogger } from '@theia/core/lib/common/logger'; -import { - Disposable, - DisposableCollection, -} from '@theia/core/lib/common/disposable'; -import { Saveable } from '@theia/core/lib/browser/saveable'; -import { FileService } from '@theia/filesystem/lib/browser/file-service'; -import { MaybePromise } from '@theia/core/lib/common/types'; -import { LabelProvider } from '@theia/core/lib/browser/label-provider'; -import { EditorManager } from '@theia/editor/lib/browser/editor-manager'; -import { MessageService } from '@theia/core/lib/common/message-service'; -import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; -import { open, OpenerService } from '@theia/core/lib/browser/opener-service'; -import { - MenuModelRegistry, - MenuContribution, -} from '@theia/core/lib/common/menu'; + FrontendApplication, + FrontendApplicationContribution, +} from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state'; import { - KeybindingRegistry, KeybindingContribution, + KeybindingRegistry, } from '@theia/core/lib/browser/keybinding'; +import { LabelProvider } from '@theia/core/lib/browser/label-provider'; +import { OpenerService, open } from '@theia/core/lib/browser/opener-service'; +import { Saveable } from '@theia/core/lib/browser/saveable'; +import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell'; import { TabBarToolbarContribution, TabBarToolbarRegistry, } from '@theia/core/lib/browser/shell/tab-bar-toolbar'; -import { - FrontendApplicationContribution, - FrontendApplication, -} from '@theia/core/lib/browser/frontend-application'; +import { CancellationToken } from '@theia/core/lib/common/cancellation'; import { Command, - CommandRegistry, CommandContribution, + CommandRegistry, CommandService, } from '@theia/core/lib/common/command'; -import { SettingsService } from '../dialogs/settings/settings'; import { - CurrentSketch, - SketchesServiceClientImpl, -} from '../sketches-service-client-impl'; + Disposable, + DisposableCollection, +} from '@theia/core/lib/common/disposable'; +import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; +import { ILogger } from '@theia/core/lib/common/logger'; +import { + MenuContribution, + MenuModelRegistry, +} from '@theia/core/lib/common/menu'; +import { MessageService } from '@theia/core/lib/common/message-service'; +import { MessageType } from '@theia/core/lib/common/message-service-protocol'; +import { nls } from '@theia/core/lib/common/nls'; +import { MaybePromise, isObject } from '@theia/core/lib/common/types'; +import URI from '@theia/core/lib/common/uri'; +import { + inject, + injectable, + interfaces, + postConstruct, +} from '@theia/core/shared/inversify'; +import { EditorManager } from '@theia/editor/lib/browser/editor-manager'; +import { FileService } from '@theia/filesystem/lib/browser/file-service'; +import { NotificationManager } from '@theia/messages/lib/browser/notifications-manager'; +import { OutputChannelSeverity } from '@theia/output/lib/browser/output-channel'; +import { MainMenuManager } from '../../common/main-menu-manager'; +import { userAbort } from '../../common/nls'; import { - SketchesService, - FileSystemExt, - Sketch, - CoreService, CoreError, + CoreService, + FileSystemExt, ResponseServiceClient, + Sketch, + SketchesService, } from '../../common/protocol'; +import { + ExecuteWithProgress, + UserAbortApplicationError, +} from '../../common/protocol/progressible'; import { ArduinoPreferences } from '../arduino-preferences'; -import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state'; -import { nls } from '@theia/core'; -import { OutputChannelManager } from '../theia/output/output-channel'; -import { ClipboardService } from '@theia/core/lib/browser/clipboard-service'; -import { ExecuteWithProgress } from '../../common/protocol/progressible'; -import { BoardsServiceProvider } from '../boards/boards-service-provider'; import { BoardsDataStore } from '../boards/boards-data-store'; -import { NotificationManager } from '@theia/messages/lib/browser/notifications-manager'; -import { MessageType } from '@theia/core/lib/common/message-service-protocol'; -import { WorkspaceService } from '../theia/workspace/workspace-service'; -import { MainMenuManager } from '../../common/main-menu-manager'; +import { BoardsServiceProvider } from '../boards/boards-service-provider'; import { ConfigServiceClient } from '../config/config-service-client'; -import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell'; import { DialogService } from '../dialog-service'; +import { SettingsService } from '../dialogs/settings/settings'; +import { + CurrentSketch, + SketchesServiceClientImpl, +} from '../sketches-service-client-impl'; import { ApplicationConnectionStatusContribution } from '../theia/core/connection-status-service'; +import { OutputChannelManager } from '../theia/output/output-channel'; +import { WorkspaceService } from '../theia/workspace/workspace-service'; export { Command, CommandRegistry, - MenuModelRegistry, KeybindingRegistry, + MenuModelRegistry, + Sketch, TabBarToolbarRegistry, URI, - Sketch, open, }; @@ -247,6 +253,12 @@ export abstract class CoreServiceContribution extends SketchContribution { } protected handleError(error: unknown): void { + if (isObject(error) && UserAbortApplicationError.is(error)) { + this.outputChannelManager + .getChannel('Arduino') + .appendLine(userAbort, OutputChannelSeverity.Warning); + return; + } this.tryToastErrorMessage(error); } @@ -293,7 +305,13 @@ export abstract class CoreServiceContribution extends SketchContribution { protected async doWithProgress(options: { progressText: string; keepOutput?: boolean; - task: (progressId: string, coreService: CoreService) => Promise; + task: ( + progressId: string, + coreService: CoreService, + cancellationToken?: CancellationToken + ) => Promise; + // false by default + cancelable?: boolean; }): Promise { const toDisposeOnComplete = new DisposableCollection( this.maybeActivateMonitorWidget() @@ -306,8 +324,10 @@ export abstract class CoreServiceContribution extends SketchContribution { messageService: this.messageService, responseService: this.responseService, progressText, - run: ({ progressId }) => task(progressId, this.coreService), + run: ({ progressId, cancellationToken }) => + task(progressId, this.coreService, cancellationToken), keepOutput, + cancelable: options.cancelable, }); toDisposeOnComplete.dispose(); return result; diff --git a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts index 75c591dba..d6745d232 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts @@ -136,9 +136,10 @@ export class UploadSketch extends CoreServiceContribution { const uploadResponse = await this.doWithProgress({ progressText: nls.localize('arduino/sketch/uploading', 'Uploading...'), - task: (progressId, coreService) => - coreService.upload({ ...uploadOptions, progressId }), + task: (progressId, coreService, token) => + coreService.upload({ ...uploadOptions, progressId }, token), keepOutput: true, + cancelable: true, }); // the port update is NOOP if nothing has changed this.boardsServiceProvider.updateConfig(uploadResponse.portAfterUpload); diff --git a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts index bd6b60ff8..999c3ec5c 100644 --- a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts @@ -1,18 +1,18 @@ -import { inject, injectable } from '@theia/core/shared/inversify'; import { Emitter } from '@theia/core/lib/common/event'; +import { nls } from '@theia/core/lib/common/nls'; +import { inject, injectable } from '@theia/core/shared/inversify'; +import type { CoreService } from '../../common/protocol'; import { ArduinoMenus } from '../menu/arduino-menus'; +import { CurrentSketch } from '../sketches-service-client-impl'; import { ArduinoToolbar } from '../toolbar/arduino-toolbar'; import { - CoreServiceContribution, Command, CommandRegistry, - MenuModelRegistry, + CoreServiceContribution, KeybindingRegistry, + MenuModelRegistry, TabBarToolbarRegistry, } from './contribution'; -import { nls } from '@theia/core/lib/common'; -import { CurrentSketch } from '../sketches-service-client-impl'; -import { CoreService } from '../../common/protocol'; import { CoreErrorHandler } from './core-error-handler'; export interface VerifySketchParams { @@ -131,11 +131,15 @@ export class VerifySketch extends CoreServiceContribution { 'arduino/sketch/compile', 'Compiling sketch...' ), - task: (progressId, coreService) => - coreService.compile({ - ...options, - progressId, - }), + task: (progressId, coreService, token) => + coreService.compile( + { + ...options, + progressId, + }, + token + ), + cancelable: true, }); this.messageService.info( nls.localize('arduino/sketch/doneCompiling', 'Done compiling.'), diff --git a/arduino-ide-extension/src/browser/library/library-list-widget.ts b/arduino-ide-extension/src/browser/library/library-list-widget.ts index 690799923..660bcec06 100644 --- a/arduino-ide-extension/src/browser/library/library-list-widget.ts +++ b/arduino-ide-extension/src/browser/library/library-list-widget.ts @@ -12,15 +12,13 @@ import { LibrarySearch, LibraryService, } from '../../common/protocol/library-service'; -import { - ListWidget, - UserAbortError, -} from '../widgets/component-list/list-widget'; +import { ListWidget } from '../widgets/component-list/list-widget'; import { Installable } from '../../common/protocol'; import { ListItemRenderer } from '../widgets/component-list/list-item-renderer'; import { nls } from '@theia/core/lib/common'; import { LibraryFilterRenderer } from '../widgets/component-list/filter-renderer'; import { findChildTheiaButton, splitByBoldTag } from '../utils/dom'; +import { UserAbortError } from '../../common/protocol/progressible'; @injectable() export class LibraryListWidget extends ListWidget< diff --git a/arduino-ide-extension/src/browser/widgets/component-list/component-list-item.tsx b/arduino-ide-extension/src/browser/widgets/component-list/component-list-item.tsx index 1e13b1417..d5e320ee1 100644 --- a/arduino-ide-extension/src/browser/widgets/component-list/component-list-item.tsx +++ b/arduino-ide-extension/src/browser/widgets/component-list/component-list-item.tsx @@ -2,7 +2,7 @@ import React from '@theia/core/shared/react'; import type { ArduinoComponent } from '../../../common/protocol/arduino-component'; import { Installable } from '../../../common/protocol/installable'; import type { ListItemRenderer } from './list-item-renderer'; -import { UserAbortError } from './list-widget'; +import { UserAbortError } from '../../../common/protocol/progressible'; export class ComponentListItem< T extends ArduinoComponent diff --git a/arduino-ide-extension/src/browser/widgets/component-list/filterable-list-container.tsx b/arduino-ide-extension/src/browser/widgets/component-list/filterable-list-container.tsx index 0039d76d1..086ffbf4f 100644 --- a/arduino-ide-extension/src/browser/widgets/component-list/filterable-list-container.tsx +++ b/arduino-ide-extension/src/browser/widgets/component-list/filterable-list-container.tsx @@ -5,7 +5,10 @@ import { CommandService } from '@theia/core/lib/common/command'; import { MessageService } from '@theia/core/lib/common/message-service'; import { ConfirmDialog } from '@theia/core/lib/browser/dialogs'; import { Searchable } from '../../../common/protocol/searchable'; -import { ExecuteWithProgress } from '../../../common/protocol/progressible'; +import { + ExecuteWithProgress, + UserAbortError, +} from '../../../common/protocol/progressible'; import { Installable, libraryInstallFailed, @@ -13,7 +16,7 @@ import { } from '../../../common/protocol/installable'; import { ArduinoComponent } from '../../../common/protocol/arduino-component'; import { SearchBar } from './search-bar'; -import { ListWidget, UserAbortError } from './list-widget'; +import { ListWidget } from './list-widget'; import { ComponentList } from './component-list'; import { ListItemRenderer } from './list-item-renderer'; import { diff --git a/arduino-ide-extension/src/browser/widgets/component-list/list-widget.tsx b/arduino-ide-extension/src/browser/widgets/component-list/list-widget.tsx index 7603f44c0..d13d4ac7d 100644 --- a/arduino-ide-extension/src/browser/widgets/component-list/list-widget.tsx +++ b/arduino-ide-extension/src/browser/widgets/component-list/list-widget.tsx @@ -192,10 +192,3 @@ export namespace ListWidget { readonly defaultSearchOptions: S; } } - -export class UserAbortError extends Error { - constructor(message = 'User abort') { - super(message); - Object.setPrototypeOf(this, UserAbortError.prototype); - } -} diff --git a/arduino-ide-extension/src/common/nls.ts b/arduino-ide-extension/src/common/nls.ts index d824f1751..7514a45c8 100644 --- a/arduino-ide-extension/src/common/nls.ts +++ b/arduino-ide-extension/src/common/nls.ts @@ -39,3 +39,5 @@ export const noSketchOpened = nls.localize( 'arduino/common/noSketchOpened', 'No sketch opened' ); + +export const userAbort = nls.localize('arduino/common/userAbort', 'User abort'); diff --git a/arduino-ide-extension/src/common/protocol/core-service.ts b/arduino-ide-extension/src/common/protocol/core-service.ts index 9104df01e..f3a681d48 100644 --- a/arduino-ide-extension/src/common/protocol/core-service.ts +++ b/arduino-ide-extension/src/common/protocol/core-service.ts @@ -1,4 +1,5 @@ import { ApplicationError } from '@theia/core/lib/common/application-error'; +import type { CancellationToken } from '@theia/core/lib/common/cancellation'; import { nls } from '@theia/core/lib/common/nls'; import type { Location, @@ -7,7 +8,7 @@ import type { } from '@theia/core/shared/vscode-languageserver-protocol'; import type { CompileSummary as ApiCompileSummary } from 'vscode-arduino-api'; import type { BoardUserField, Installable } from '../../common/protocol/'; -import { isPortIdentifier, PortIdentifier, Programmer } from './boards-service'; +import { PortIdentifier, Programmer, isPortIdentifier } from './boards-service'; import type { IndexUpdateSummary } from './notification-service'; import type { Sketch } from './sketches-service'; @@ -162,9 +163,18 @@ export function isUploadResponse(arg: unknown): arg is UploadResponse { export const CoreServicePath = '/services/core-service'; export const CoreService = Symbol('CoreService'); export interface CoreService { - compile(options: CoreService.Options.Compile): Promise; - upload(options: CoreService.Options.Upload): Promise; - burnBootloader(options: CoreService.Options.Bootloader): Promise; + compile( + options: CoreService.Options.Compile, + cancellationToken?: CancellationToken + ): Promise; + upload( + options: CoreService.Options.Upload, + cancellationToken?: CancellationToken + ): Promise; + burnBootloader( + options: CoreService.Options.Bootloader, + cancellationToken?: CancellationToken + ): Promise; /** * Refreshes the underling core gRPC client for the Arduino CLI. */ diff --git a/arduino-ide-extension/src/common/protocol/progressible.ts b/arduino-ide-extension/src/common/protocol/progressible.ts index c27737ccc..d01bc270d 100644 --- a/arduino-ide-extension/src/common/protocol/progressible.ts +++ b/arduino-ide-extension/src/common/protocol/progressible.ts @@ -1,22 +1,48 @@ +import { ApplicationError } from '@theia/core/lib/common/application-error'; import type { CancellationToken } from '@theia/core/lib/common/cancellation'; import { CancellationTokenSource } from '@theia/core/lib/common/cancellation'; import type { MessageService } from '@theia/core/lib/common/message-service'; import type { Progress } from '@theia/core/lib/common/message-service-protocol'; +import { userAbort } from '../nls'; import type { ResponseServiceClient } from './response-service'; +export const UserAbortApplicationError = ApplicationError.declare( + 9999, + (message: string, uri: string) => { + return { + message, + data: { uri }, + }; + } +); + +export class UserAbortError extends Error { + constructor() { + super(userAbort); + Object.setPrototypeOf(this, UserAbortError.prototype); + } +} + export namespace ExecuteWithProgress { export async function doWithProgress(options: { - run: ({ progressId }: { progressId: string }) => Promise; + run: ({ + progressId, + cancellationToken, + }: { + progressId: string; + cancellationToken?: CancellationToken; + }) => Promise; messageService: MessageService; responseService: ResponseServiceClient; progressText: string; keepOutput?: boolean; + cancelable?: boolean; }): Promise { return withProgress( options.progressText, options.messageService, // eslint-disable-next-line @typescript-eslint/no-unused-vars - async (progress, _token) => { + async (progress, token) => { const progressId = progress.id; const toDispose = options.responseService.onProgressDidChange( (progressMessage) => { @@ -30,24 +56,29 @@ export namespace ExecuteWithProgress { if (!options.keepOutput) { options.responseService.clearOutput(); } - const result = await options.run({ progressId }); + const result = await options.run({ + progressId, + cancellationToken: token, + }); return result; } finally { toDispose.dispose(); } - } + }, + options.cancelable ); } export async function withProgress( text: string, messageService: MessageService, - cb: (progress: Progress, token: CancellationToken) => Promise + cb: (progress: Progress, token: CancellationToken) => Promise, + cancelable = false ): Promise { const cancellationSource = new CancellationTokenSource(); const { token } = cancellationSource; const progress = await messageService.showProgress( - { text, options: { cancelable: false } }, + { text, options: { cancelable } }, () => cancellationSource.cancel() ); try { diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index 3a9677c18..9cb1c4584 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -1,22 +1,44 @@ +import type { ClientReadableStream } from '@grpc/grpc-js'; +import { ApplicationError } from '@theia/core/lib/common/application-error'; +import type { CancellationToken } from '@theia/core/lib/common/cancellation'; +import { CommandService } from '@theia/core/lib/common/command'; +import { + Disposable, + DisposableCollection, +} from '@theia/core/lib/common/disposable'; +import { nls } from '@theia/core/lib/common/nls'; +import type { Mutable } from '@theia/core/lib/common/types'; import { FileUri } from '@theia/core/lib/node/file-uri'; import { inject, injectable } from '@theia/core/shared/inversify'; -import { relative } from 'node:path'; import * as jspb from 'google-protobuf'; import { BoolValue } from 'google-protobuf/google/protobuf/wrappers_pb'; -import type { ClientReadableStream } from '@grpc/grpc-js'; +import path from 'node:path'; import { + UploadResponse as ApiUploadResponse, + OutputMessage, + Port, + PortIdentifier, + resolveDetectedPort, +} from '../common/protocol'; +import { + CompileSummary, CompilerWarnings, - CoreService, CoreError, - CompileSummary, + CoreService, isCompileSummary, isUploadResponse, } from '../common/protocol/core-service'; +import { ResponseService } from '../common/protocol/response-service'; +import { firstToUpperCase, notEmpty } from '../common/utils'; +import { BoardDiscovery, createApiPort } from './board-discovery'; +import { tryParseError } from './cli-error-parser'; +import { ArduinoCoreServiceClient } from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb'; +import { Instance } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb'; import { CompileRequest, CompileResponse, } from './cli-protocol/cc/arduino/cli/commands/v1/compile_pb'; -import { CoreClientAware } from './core-client-provider'; +import { Port as RpcPort } from './cli-protocol/cc/arduino/cli/commands/v1/port_pb'; import { BurnBootloaderRequest, BurnBootloaderResponse, @@ -25,26 +47,13 @@ import { UploadUsingProgrammerRequest, UploadUsingProgrammerResponse, } from './cli-protocol/cc/arduino/cli/commands/v1/upload_pb'; -import { ResponseService } from '../common/protocol/response-service'; -import { - resolveDetectedPort, - OutputMessage, - PortIdentifier, - Port, - UploadResponse as ApiUploadResponse, -} from '../common/protocol'; -import { ArduinoCoreServiceClient } from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb'; -import { Port as RpcPort } from './cli-protocol/cc/arduino/cli/commands/v1/port_pb'; -import { ApplicationError, CommandService, Disposable, nls } from '@theia/core'; +import { CoreClientAware } from './core-client-provider'; +import { ExecuteWithProgress, ProgressResponse } from './grpc-progressible'; import { MonitorManager } from './monitor-manager'; -import { AutoFlushingBuffer } from './utils/buffers'; -import { tryParseError } from './cli-error-parser'; -import { Instance } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb'; -import { firstToUpperCase, notEmpty } from '../common/utils'; import { ServiceError } from './service-error'; -import { ExecuteWithProgress, ProgressResponse } from './grpc-progressible'; -import type { Mutable } from '@theia/core/lib/common/types'; -import { BoardDiscovery, createApiPort } from './board-discovery'; +import { AutoFlushingBuffer } from './utils/buffers'; +import { userAbort } from '../common/nls'; +import { UserAbortApplicationError } from '../common/protocol/progressible'; namespace Uploadable { export type Request = UploadRequest | UploadUsingProgrammerRequest; @@ -64,9 +73,13 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { @inject(BoardDiscovery) private readonly boardDiscovery: BoardDiscovery; - async compile(options: CoreService.Options.Compile): Promise { + async compile( + options: CoreService.Options.Compile, + cancellationToken?: CancellationToken + ): Promise { const coreClient = await this.coreClient; const { client, instance } = coreClient; + const request = this.compileRequest(options, instance); const compileSummary = {}; const progressHandler = this.createProgressHandler(options); const compileSummaryHandler = (response: CompileResponse) => @@ -75,10 +88,15 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { progressHandler, compileSummaryHandler ); - const request = this.compileRequest(options, instance); + const toDisposeOnFinally = new DisposableCollection(handler); return new Promise((resolve, reject) => { - client - .compile(request) + const call = client.compile(request); + if (cancellationToken) { + toDisposeOnFinally.push( + cancellationToken.onCancellationRequested(() => call.cancel()) + ); + } + call .on('data', handler.onData) .on('error', (error) => { if (!ServiceError.is(error)) { @@ -87,30 +105,39 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { error ); reject(error); - } else { - const compilerErrors = tryParseError({ - content: handler.content, - sketch: options.sketch, - }); - const message = nls.localize( - 'arduino/compile/error', - 'Compilation error: {0}', - compilerErrors - .map(({ message }) => message) - .filter(notEmpty) - .shift() ?? error.details - ); - this.sendResponse( - error.details + '\n\n' + message, - OutputMessage.Severity.Error - ); - reject(CoreError.VerifyFailed(message, compilerErrors)); + return; } + if (ServiceError.isCancel(error)) { + console.log(userAbort); + reject(UserAbortApplicationError()); + return; + } + const compilerErrors = tryParseError({ + content: handler.content, + sketch: options.sketch, + }); + const message = nls.localize( + 'arduino/compile/error', + 'Compilation error: {0}', + compilerErrors + .map(({ message }) => message) + .filter(notEmpty) + .shift() ?? error.details + ); + this.sendResponse( + error.details + '\n\n' + message, + OutputMessage.Severity.Error + ); + reject(CoreError.VerifyFailed(message, compilerErrors)); }) .on('end', resolve); }).finally(() => { - handler.dispose(); + toDisposeOnFinally.dispose(); if (!isCompileSummary(compileSummary)) { + if (cancellationToken && cancellationToken.isCancellationRequested) { + // NOOP + return; + } console.error( `Have not received the full compile summary from the CLI while running the compilation. ${JSON.stringify( compileSummary @@ -176,7 +203,10 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { return request; } - upload(options: CoreService.Options.Upload): Promise { + upload( + options: CoreService.Options.Upload, + cancellationToken?: CancellationToken + ): Promise { const { usingProgrammer } = options; return this.doUpload( options, @@ -190,7 +220,8 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { usingProgrammer ? CoreError.UploadUsingProgrammerFailed : CoreError.UploadFailed, - `upload${usingProgrammer ? ' using programmer' : ''}` + `upload${usingProgrammer ? ' using programmer' : ''}`, + cancellationToken ); } @@ -204,7 +235,8 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { client: ArduinoCoreServiceClient ) => (request: REQ) => ClientReadableStream, errorCtor: ApplicationError.Constructor, - task: string + task: string, + cancellationToken?: CancellationToken ): Promise { const portBeforeUpload = options.port; const uploadResponseFragment: Mutable> = { @@ -241,33 +273,47 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { progressHandler, updateUploadResponseFragmentHandler ); + const toDisposeOnFinally = new DisposableCollection(handler); const grpcCall = responseFactory(client); return this.notifyUploadWillStart(options).then(() => new Promise((resolve, reject) => { - grpcCall(this.initUploadRequest(request, options, instance)) + const call = grpcCall( + this.initUploadRequest(request, options, instance) + ); + if (cancellationToken) { + toDisposeOnFinally.push( + cancellationToken.onCancellationRequested(() => call.cancel()) + ); + } + call .on('data', handler.onData) .on('error', (error) => { if (!ServiceError.is(error)) { console.error(`Unexpected error occurred while ${task}.`, error); reject(error); - } else { - const message = nls.localize( - 'arduino/upload/error', - '{0} error: {1}', - firstToUpperCase(task), - error.details - ); - this.sendResponse(error.details, OutputMessage.Severity.Error); - reject( - errorCtor( - message, - tryParseError({ - content: handler.content, - sketch: options.sketch, - }) - ) - ); + return; + } + if (ServiceError.isCancel(error)) { + console.log(userAbort); + reject(UserAbortApplicationError()); + return; } + const message = nls.localize( + 'arduino/upload/error', + '{0} error: {1}', + firstToUpperCase(task), + error.details + ); + this.sendResponse(error.details, OutputMessage.Severity.Error); + reject( + errorCtor( + message, + tryParseError({ + content: handler.content, + sketch: options.sketch, + }) + ) + ); }) .on('end', () => { if (isUploadResponse(uploadResponseFragment)) { @@ -285,7 +331,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { } }); }).finally(async () => { - handler.dispose(); + toDisposeOnFinally.dispose(); await this.notifyUploadDidFinish( Object.assign(options, { afterPort: uploadResponseFragment.portAfterUpload, @@ -320,16 +366,25 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { return request; } - async burnBootloader(options: CoreService.Options.Bootloader): Promise { + async burnBootloader( + options: CoreService.Options.Bootloader, + cancellationToken?: CancellationToken + ): Promise { const coreClient = await this.coreClient; const { client, instance } = coreClient; const progressHandler = this.createProgressHandler(options); const handler = this.createOnDataHandler(progressHandler); const request = this.burnBootloaderRequest(options, instance); + const toDisposeOnFinally = new DisposableCollection(handler); return this.notifyUploadWillStart(options).then(() => new Promise((resolve, reject) => { - client - .burnBootloader(request) + const call = client.burnBootloader(request); + if (cancellationToken) { + toDisposeOnFinally.push( + cancellationToken.onCancellationRequested(() => call.cancel()) + ); + } + call .on('data', handler.onData) .on('error', (error) => { if (!ServiceError.is(error)) { @@ -338,23 +393,28 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { error ); reject(error); - } else { - this.sendResponse(error.details, OutputMessage.Severity.Error); - reject( - CoreError.BurnBootloaderFailed( - nls.localize( - 'arduino/burnBootloader/error', - 'Error while burning the bootloader: {0}', - error.details - ), - tryParseError({ content: handler.content }) - ) - ); + return; } + if (ServiceError.isCancel(error)) { + console.log(userAbort); + reject(UserAbortApplicationError()); + return; + } + this.sendResponse(error.details, OutputMessage.Severity.Error); + reject( + CoreError.BurnBootloaderFailed( + nls.localize( + 'arduino/burnBootloader/error', + 'Error while burning the bootloader: {0}', + error.details + ), + tryParseError({ content: handler.content }) + ) + ); }) .on('end', resolve); }).finally(async () => { - handler.dispose(); + toDisposeOnFinally.dispose(); await this.notifyUploadDidFinish( Object.assign(options, { afterPort: options.port }) ); @@ -463,7 +523,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { for (const uri of Object.keys(options.sourceOverride)) { const content = options.sourceOverride[uri]; if (content) { - const relativePath = relative(sketchPath, FileUri.fsPath(uri)); + const relativePath = path.relative(sketchPath, FileUri.fsPath(uri)); req.getSourceOverrideMap().set(relativePath, content); } } diff --git a/i18n/en.json b/i18n/en.json index 234781e58..c83d280c1 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -152,7 +152,8 @@ "serialMonitor": "Serial Monitor", "type": "Type", "unknown": "Unknown", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Compilation error: {0}" From a088ba99f550708655b6b17bc3aa1b8cc2e15ec4 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Thu, 8 Feb 2024 16:30:09 +0100 Subject: [PATCH 16/87] fix: invalid custom board option handling in FQBN Closes arduino/arduino-ide#1588 Signed-off-by: Akos Kitta --- arduino-ide-extension/package.json | 1 + .../src/browser/boards/boards-data-store.ts | 107 +++++--- .../browser/boards/boards-service-provider.ts | 60 ++++- .../contributions/boards-data-menu-updater.ts | 3 +- .../src/browser/contributions/ino-language.ts | 13 +- .../browser/contributions/upload-sketch.ts | 9 +- .../src/common/protocol/boards-service.ts | 58 +--- .../src/node/board-discovery.ts | 20 +- .../browser/board-service-provider.test.ts | 30 +++ .../test/browser/boards-data-store.test.ts | 248 +++++++++++++++++- yarn.lock | 176 ++++++++++++- 11 files changed, 586 insertions(+), 139 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 89cef04fe..8963b4f5a 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -72,6 +72,7 @@ "fast-json-stable-stringify": "^2.1.0", "fast-safe-stringify": "^2.1.1", "filename-reserved-regex": "^2.0.0", + "fqbn": "^1.0.5", "glob": "^7.1.6", "google-protobuf": "^3.20.1", "hash.js": "^1.1.7", diff --git a/arduino-ide-extension/src/browser/boards/boards-data-store.ts b/arduino-ide-extension/src/browser/boards/boards-data-store.ts index e78f5b74b..1c23fb38f 100644 --- a/arduino-ide-extension/src/browser/boards/boards-data-store.ts +++ b/arduino-ide-extension/src/browser/boards/boards-data-store.ts @@ -12,6 +12,7 @@ import { ILogger } from '@theia/core/lib/common/logger'; import { deepClone, deepFreeze } from '@theia/core/lib/common/objects'; import type { Mutable } from '@theia/core/lib/common/types'; import { inject, injectable, named } from '@theia/core/shared/inversify'; +import { FQBN } from 'fqbn'; import { BoardDetails, BoardsService, @@ -20,6 +21,7 @@ import { Programmer, isBoardIdentifierChangeEvent, isProgrammer, + sanitizeFqbn, } from '../../common/protocol'; import { notEmpty } from '../../common/utils'; import type { @@ -29,6 +31,14 @@ import type { import { NotificationCenter } from '../notification-center'; import { BoardsServiceProvider } from './boards-service-provider'; +export interface SelectConfigOptionParams { + readonly fqbn: string; + readonly optionsToUpdate: readonly Readonly<{ + option: string; + selectedValue: string; + }>[]; +} + @injectable() export class BoardsDataStore implements @@ -64,7 +74,12 @@ export class BoardsDataStore this.toDispose.pushAll([ this.boardsServiceProvider.onBoardsConfigDidChange((event) => { if (isBoardIdentifierChangeEvent(event)) { - this.updateSelectedBoardData(event.selectedBoard?.fqbn); + this.updateSelectedBoardData( + event.selectedBoard?.fqbn, + // If the change event comes from toolbar and the FQBN contains custom board options, change the currently selected options + // https://github.com/arduino/arduino-ide/issues/1588 + event.reason === 'toolbar' + ); } }), this.notificationCenter.onPlatformDidInstall(async ({ item }) => { @@ -116,7 +131,7 @@ export class BoardsDataStore if (!fqbn) { return undefined; } else { - const data = await this.getData(fqbn); + const data = await this.getData(sanitizeFqbn(fqbn)); if (data === BoardsDataStore.Data.EMPTY) { return undefined; } @@ -125,9 +140,22 @@ export class BoardsDataStore } private async updateSelectedBoardData( - fqbn: string | undefined + fqbn: string | undefined, + updateConfigOptions = false ): Promise { this._selectedBoardData = await this.getSelectedBoardData(fqbn); + if (fqbn && updateConfigOptions) { + const { options } = new FQBN(fqbn); + if (options) { + const optionsToUpdate = Object.entries(options).map(([key, value]) => ({ + option: key, + selectedValue: value, + })); + const params = { fqbn, optionsToUpdate }; + await this.selectConfigOption(params); + this._selectedBoardData = await this.getSelectedBoardData(fqbn); // reload the updated data + } + } } onStop(): void { @@ -168,7 +196,7 @@ export class BoardsDataStore return undefined; } const { configOptions } = await this.getData(fqbn); - return ConfigOption.decorate(fqbn, configOptions); + return new FQBN(fqbn).withConfigOptions(...configOptions).toString(); } async getData(fqbn: string | undefined): Promise { @@ -201,48 +229,63 @@ export class BoardsDataStore fqbn: string; selectedProgrammer: Programmer; }): Promise { - const storedData = deepClone(await this.getData(fqbn)); + const sanitizedFQBN = sanitizeFqbn(fqbn); + const storedData = deepClone(await this.getData(sanitizedFQBN)); const { programmers } = storedData; if (!programmers.find((p) => Programmer.equals(selectedProgrammer, p))) { return false; } - const data = { ...storedData, selectedProgrammer }; - await this.setData({ fqbn, data }); - this.fireChanged({ fqbn, data }); + const change: BoardsDataStoreChange = { + fqbn: sanitizedFQBN, + data: { ...storedData, selectedProgrammer }, + }; + await this.setData(change); + this.fireChanged(change); return true; } - async selectConfigOption({ - fqbn, - option, - selectedValue, - }: { - fqbn: string; - option: string; - selectedValue: string; - }): Promise { - const data = deepClone(await this.getData(fqbn)); - const { configOptions } = data; - const configOption = configOptions.find((c) => c.option === option); - if (!configOption) { + async selectConfigOption(params: SelectConfigOptionParams): Promise { + const { fqbn, optionsToUpdate } = params; + if (!optionsToUpdate.length) { return false; } - let updated = false; - for (const value of configOption.values) { - const mutable: Mutable = value; - if (mutable.value === selectedValue) { - mutable.selected = true; - updated = true; - } else { - mutable.selected = false; + + const sanitizedFQBN = sanitizeFqbn(fqbn); + const mutableData = deepClone(await this.getData(sanitizedFQBN)); + let didChange = false; + + for (const { option, selectedValue } of optionsToUpdate) { + const { configOptions } = mutableData; + const configOption = configOptions.find((c) => c.option === option); + if (configOption) { + const configOptionValueIndex = configOption.values.findIndex( + (configOptionValue) => configOptionValue.value === selectedValue + ); + if (configOptionValueIndex >= 0) { + // unselect all + configOption.values + .map((value) => value as Mutable) + .forEach((value) => (value.selected = false)); + const mutableConfigValue: Mutable = + configOption.values[configOptionValueIndex]; + // make the new value `selected` + mutableConfigValue.selected = true; + didChange = true; + } } } - if (!updated) { + + if (!didChange) { return false; } - await this.setData({ fqbn, data }); - this.fireChanged({ fqbn, data }); + + const change: BoardsDataStoreChange = { + fqbn: sanitizedFQBN, + data: mutableData, + }; + await this.setData(change); + this.fireChanged(change); return true; } diff --git a/arduino-ide-extension/src/browser/boards/boards-service-provider.ts b/arduino-ide-extension/src/browser/boards/boards-service-provider.ts index f1182adbf..29bccb242 100644 --- a/arduino-ide-extension/src/browser/boards/boards-service-provider.ts +++ b/arduino-ide-extension/src/browser/boards/boards-service-provider.ts @@ -12,6 +12,7 @@ import { Emitter } from '@theia/core/lib/common/event'; import { ILogger } from '@theia/core/lib/common/logger'; import { MessageService } from '@theia/core/lib/common/message-service'; import { nls } from '@theia/core/lib/common/nls'; +import { deepClone } from '@theia/core/lib/common/objects'; import { Deferred } from '@theia/core/lib/common/promise-util'; import type { Mutable } from '@theia/core/lib/common/types'; import { inject, injectable, optional } from '@theia/core/shared/inversify'; @@ -21,31 +22,32 @@ import { } from '@theia/output/lib/browser/output-channel'; import { BoardIdentifier, - boardIdentifierEquals, + BoardUserField, + BoardWithPackage, BoardsConfig, BoardsConfigChangeEvent, BoardsPackage, BoardsService, - BoardUserField, - BoardWithPackage, DetectedPorts, + Port, + PortIdentifier, + boardIdentifierEquals, emptyBoardsConfig, isBoardIdentifier, isBoardIdentifierChangeEvent, isPortIdentifier, isPortIdentifierChangeEvent, - Port, - PortIdentifier, portIdentifierEquals, + sanitizeFqbn, serializePlatformIdentifier, } from '../../common/protocol'; import { BoardList, BoardListHistory, - createBoardList, EditBoardsConfigActionParams, - isBoardListHistory, SelectBoardsConfigActionParams, + createBoardList, + isBoardListHistory, } from '../../common/protocol/board-list'; import type { Defined } from '../../common/types'; import type { @@ -104,6 +106,21 @@ type BoardListHistoryUpdateResult = type BoardToSelect = BoardIdentifier | undefined | 'ignore-board'; type PortToSelect = PortIdentifier | undefined | 'ignore-port'; +function sanitizeBoardToSelectFQBN(board: BoardToSelect): BoardToSelect { + if (isBoardIdentifier(board)) { + return sanitizeBoardIdentifierFQBN(board); + } + return board; +} +function sanitizeBoardIdentifierFQBN(board: BoardIdentifier): BoardIdentifier { + if (board.fqbn) { + const copy: Mutable = deepClone(board); + copy.fqbn = sanitizeFqbn(board.fqbn); + return copy; + } + return board; +} + interface UpdateBoardListHistoryParams { readonly portToSelect: PortToSelect; readonly boardToSelect: BoardToSelect; @@ -136,6 +153,9 @@ export interface BoardListUIActions { } export type BoardListUI = BoardList & BoardListUIActions; +export type BoardsConfigChangeEventUI = BoardsConfigChangeEvent & + Readonly<{ reason?: UpdateBoardsConfigReason }>; + @injectable() export class BoardListDumper implements Disposable { @inject(OutputChannelManager) @@ -190,7 +210,7 @@ export class BoardsServiceProvider private _ready = new Deferred(); private readonly boardsConfigDidChangeEmitter = - new Emitter(); + new Emitter(); readonly onBoardsConfigDidChange = this.boardsConfigDidChangeEmitter.event; private readonly boardListDidChangeEmitter = new Emitter(); @@ -353,7 +373,8 @@ export class BoardsServiceProvider portToSelect !== 'ignore-port' && !portIdentifierEquals(portToSelect, previousSelectedPort); const boardDidChangeEvent = boardDidChange - ? { selectedBoard: boardToSelect, previousSelectedBoard } + ? // The change event must always contain any custom board options. Hence the board to select is not sanitized. + { selectedBoard: boardToSelect, previousSelectedBoard } : undefined; const portDidChangeEvent = portDidChange ? { selectedPort: portToSelect, previousSelectedPort } @@ -374,16 +395,31 @@ export class BoardsServiceProvider return false; } - this.maybeUpdateBoardListHistory({ portToSelect, boardToSelect }); - this.maybeUpdateBoardsData({ boardToSelect, reason }); + // unlike for the board change event, every persistent state must not contain custom board config options in the FQBN + const sanitizedBoardToSelect = sanitizeBoardToSelectFQBN(boardToSelect); + + this.maybeUpdateBoardListHistory({ + portToSelect, + boardToSelect: sanitizedBoardToSelect, + }); + this.maybeUpdateBoardsData({ + boardToSelect: sanitizedBoardToSelect, + reason, + }); if (isBoardIdentifierChangeEvent(event)) { - this._boardsConfig.selectedBoard = event.selectedBoard; + this._boardsConfig.selectedBoard = event.selectedBoard + ? sanitizeBoardIdentifierFQBN(event.selectedBoard) + : event.selectedBoard; } if (isPortIdentifierChangeEvent(event)) { this._boardsConfig.selectedPort = event.selectedPort; } + if (reason) { + event = Object.assign(event, { reason }); + } + this.boardsConfigDidChangeEmitter.fire(event); this.refreshBoardList(); this.saveState(); diff --git a/arduino-ide-extension/src/browser/contributions/boards-data-menu-updater.ts b/arduino-ide-extension/src/browser/contributions/boards-data-menu-updater.ts index ea085f5ba..382e0f2ef 100644 --- a/arduino-ide-extension/src/browser/contributions/boards-data-menu-updater.ts +++ b/arduino-ide-extension/src/browser/contributions/boards-data-menu-updater.ts @@ -87,8 +87,7 @@ export class BoardsDataMenuUpdater extends Contribution { execute: () => this.boardsDataStore.selectConfigOption({ fqbn, - option, - selectedValue: value.value, + optionsToUpdate: [{ option, selectedValue: value.value }], }), isToggled: () => value.selected, }; diff --git a/arduino-ide-extension/src/browser/contributions/ino-language.ts b/arduino-ide-extension/src/browser/contributions/ino-language.ts index ca3019e1b..4f336ef3d 100644 --- a/arduino-ide-extension/src/browser/contributions/ino-language.ts +++ b/arduino-ide-extension/src/browser/contributions/ino-language.ts @@ -9,7 +9,6 @@ import { BoardIdentifier, BoardsService, ExecutableService, - assertSanitizedFqbn, isBoardIdentifierChangeEvent, sanitizeFqbn, } from '../../common/protocol'; @@ -159,14 +158,11 @@ export class InoLanguage extends SketchContribution { this.notificationCenter.onDidReinitialize(() => forceRestart()), this.boardDataStore.onDidChange((event) => { if (this.languageServerFqbn) { - const sanitizedFqbn = sanitizeFqbn(this.languageServerFqbn); - if (!sanitizeFqbn) { - throw new Error( - `Failed to sanitize the FQBN of the running language server. FQBN with the board settings was: ${this.languageServerFqbn}` - ); - } + const sanitizedFQBN = sanitizeFqbn(this.languageServerFqbn); + // The incoming FQBNs might contain custom boards configs, sanitize them before the comparison. + // https://github.com/arduino/arduino-ide/pull/2113#pullrequestreview-1499998328 const matchingChange = event.changes.find( - (change) => change.fqbn === sanitizedFqbn + (change) => sanitizedFQBN === sanitizeFqbn(change.fqbn) ); const { boardsConfig } = this.boardsServiceProvider; if ( @@ -228,7 +224,6 @@ export class InoLanguage extends SketchContribution { } return; } - assertSanitizedFqbn(fqbn); const fqbnWithConfig = await this.boardDataStore.appendConfigToFqbn(fqbn); if (!fqbnWithConfig) { throw new Error( diff --git a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts index d6745d232..9cee46abb 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts @@ -1,7 +1,8 @@ import { Emitter } from '@theia/core/lib/common/event'; import { nls } from '@theia/core/lib/common/nls'; import { inject, injectable } from '@theia/core/shared/inversify'; -import { CoreService, sanitizeFqbn } from '../../common/protocol'; +import { FQBN } from 'fqbn'; +import { CoreService } from '../../common/protocol'; import { ArduinoMenus } from '../menu/arduino-menus'; import { CurrentSketch } from '../sketches-service-client-impl'; import { ArduinoToolbar } from '../toolbar/arduino-toolbar'; @@ -173,7 +174,11 @@ export class UploadSketch extends CoreServiceContribution { const [fqbn, { selectedProgrammer: programmer }, verify, verbose] = await Promise.all([ verifyOptions.fqbn, // already decorated FQBN - this.boardsDataStore.getData(sanitizeFqbn(verifyOptions.fqbn)), + this.boardsDataStore.getData( + verifyOptions.fqbn + ? new FQBN(verifyOptions.fqbn).toString(true) + : undefined + ), this.preferences.get('arduino.upload.verify'), this.preferences.get('arduino.upload.verbose'), ]); diff --git a/arduino-ide-extension/src/common/protocol/boards-service.ts b/arduino-ide-extension/src/common/protocol/boards-service.ts index 1ae7c1811..d76406216 100644 --- a/arduino-ide-extension/src/common/protocol/boards-service.ts +++ b/arduino-ide-extension/src/common/protocol/boards-service.ts @@ -1,4 +1,5 @@ import { nls } from '@theia/core/lib/common/nls'; +import { FQBN } from 'fqbn'; import type { MaybePromise } from '@theia/core/lib/common/types'; import type URI from '@theia/core/lib/common/uri'; import { @@ -367,40 +368,6 @@ export interface ConfigOption { readonly values: ConfigValue[]; } export namespace ConfigOption { - /** - * Appends the configuration options to the `fqbn` argument. - * Throws an error if the `fqbn` does not have the `segment(':'segment)*` format. - * The provided output format is always segment(':'segment)*(':'option'='value(','option'='value)*)? - */ - export function decorate( - fqbn: string, - configOptions: ConfigOption[] - ): string { - if (!configOptions.length) { - return fqbn; - } - - const toValue = (values: ConfigValue[]) => { - const selectedValue = values.find(({ selected }) => selected); - if (!selectedValue) { - console.warn( - `None of the config values was selected. Values were: ${JSON.stringify( - values - )}` - ); - return undefined; - } - return selectedValue.value; - }; - const options = configOptions - .map(({ option, values }) => [option, toValue(values)]) - .filter(([, value]) => !!value) - .map(([option, value]) => `${option}=${value}`) - .join(','); - - return `${fqbn}:${options}`; - } - export class ConfigOptionError extends Error { constructor(message: string) { super(message); @@ -574,28 +541,13 @@ export namespace Board { } } -/** - * Throws an error if the `fqbn` argument is not sanitized. A sanitized FQBN has the `VENDOR:ARCHITECTURE:BOARD_ID` construct. - */ -export function assertSanitizedFqbn(fqbn: string): void { - if (fqbn.split(':').length !== 3) { - throw new Error( - `Expected a sanitized FQBN with three segments in the following format: 'VENDOR:ARCHITECTURE:BOARD_ID'. Got ${fqbn} instead.` - ); - } -} - /** * Converts the `VENDOR:ARCHITECTURE:BOARD_ID[:MENU_ID=OPTION_ID[,MENU2_ID=OPTION_ID ...]]` FQBN to * `VENDOR:ARCHITECTURE:BOARD_ID` format. * See the details of the `{build.fqbn}` entry in the [specs](https://arduino.github.io/arduino-cli/latest/platform-specification/#global-predefined-properties). */ -export function sanitizeFqbn(fqbn: string | undefined): string | undefined { - if (!fqbn) { - return undefined; - } - const [vendor, arch, id] = fqbn.split(':'); - return `${vendor}:${arch}:${id}`; +export function sanitizeFqbn(fqbn: string): string { + return new FQBN(fqbn).sanitize().toString(); } export type PlatformIdentifier = Readonly<{ vendorId: string; arch: string }>; @@ -752,8 +704,8 @@ export function boardIdentifierEquals( return false; // TODO: This a strict now. Maybe compare name in the future. } if (left.fqbn && right.fqbn) { - const leftFqbn = options.looseFqbn ? sanitizeFqbn(left.fqbn) : left.fqbn; - const rightFqbn = options.looseFqbn ? sanitizeFqbn(right.fqbn) : right.fqbn; + const leftFqbn = new FQBN(left.fqbn).toString(options.looseFqbn); + const rightFqbn = new FQBN(right.fqbn).toString(options.looseFqbn); return leftFqbn === rightFqbn; } // No more Genuino hack. diff --git a/arduino-ide-extension/src/node/board-discovery.ts b/arduino-ide-extension/src/node/board-discovery.ts index 628ed97ec..44a84ec38 100644 --- a/arduino-ide-extension/src/node/board-discovery.ts +++ b/arduino-ide-extension/src/node/board-discovery.ts @@ -267,24 +267,12 @@ export class BoardDiscovery const { port, boards } = detectedPort; const key = Port.keyOf(port); if (eventType === EventType.Add) { - const alreadyDetectedPort = newState[key]; - if (alreadyDetectedPort) { - console.warn( - `Detected a new port that has been already discovered. The old value will be overridden. Old value: ${JSON.stringify( - alreadyDetectedPort - )}, new value: ${JSON.stringify(detectedPort)}` - ); - } + // Note that, the serial discovery might detect port details (such as addressLabel) in chunks. + // For example, first, the Teensy 4.1 port is detected with the `[no_device] Triple Serial` address label, + // Then, when more refinements are available, the same port is detected with `/dev/cu.usbmodem127902301 Triple Serial` address label. + // In such cases, an `add` event is received from the CLI, and the the detected port is overridden in the state. newState[key] = { port, boards }; } else if (eventType === EventType.Remove) { - const alreadyDetectedPort = newState[key]; - if (!alreadyDetectedPort) { - console.warn( - `Detected a port removal but it has not been discovered. This is most likely a bug! Detected port was: ${JSON.stringify( - detectedPort - )}` - ); - } delete newState[key]; } } diff --git a/arduino-ide-extension/src/test/browser/board-service-provider.test.ts b/arduino-ide-extension/src/test/browser/board-service-provider.test.ts index 54d3aa8ba..dd733a2c6 100644 --- a/arduino-ide-extension/src/test/browser/board-service-provider.test.ts +++ b/arduino-ide-extension/src/test/browser/board-service-provider.test.ts @@ -170,6 +170,36 @@ describe('board-service-provider', () => { expect(events).deep.equals([expectedEvent]); }); + it('should ignore custom board configs from the FQBN', () => { + boardsServiceProvider['_boardsConfig'] = { + selectedBoard: uno, + selectedPort: unoSerialPort, + }; + const events: BoardsConfigChangeEvent[] = []; + toDisposeAfterEach.push( + boardsServiceProvider.onBoardsConfigDidChange((event) => + events.push(event) + ) + ); + const mkr1000WithCustomOptions = { + ...mkr1000, + fqbn: `${mkr1000.fqbn}:c1=v1`, + }; + const didUpdate = boardsServiceProvider.updateConfig( + mkr1000WithCustomOptions + ); + expect(didUpdate).to.be.true; + const expectedEvent: BoardIdentifierChangeEvent = { + previousSelectedBoard: uno, + selectedBoard: mkr1000WithCustomOptions, // the even has the custom board options + }; + expect(events).deep.equals([expectedEvent]); + // the persisted state does not have the config options property + expect(boardsServiceProvider.boardsConfig.selectedBoard?.fqbn).to.equal( + mkr1000.fqbn + ); + }); + it('should not update the board if did not change (board identifier)', () => { boardsServiceProvider['_boardsConfig'] = { selectedBoard: uno, diff --git a/arduino-ide-extension/src/test/browser/boards-data-store.test.ts b/arduino-ide-extension/src/test/browser/boards-data-store.test.ts index 791c74e72..2ed808ad1 100644 --- a/arduino-ide-extension/src/test/browser/boards-data-store.test.ts +++ b/arduino-ide-extension/src/test/browser/boards-data-store.test.ts @@ -15,11 +15,14 @@ import { DisposableCollection, } from '@theia/core/lib/common/disposable'; import { MessageService } from '@theia/core/lib/common/message-service'; -import { wait } from '@theia/core/lib/common/promise-util'; +import { wait, waitForEvent } from '@theia/core/lib/common/promise-util'; import { Container, ContainerModule } from '@theia/core/shared/inversify'; import { expect } from 'chai'; import { BoardsDataStore } from '../../browser/boards/boards-data-store'; -import { BoardsServiceProvider } from '../../browser/boards/boards-service-provider'; +import { + BoardsServiceProvider, + UpdateBoardsConfigParams, +} from '../../browser/boards/boards-service-provider'; import { NotificationCenter } from '../../browser/notification-center'; import { BoardDetails, @@ -30,6 +33,7 @@ import { } from '../../common/protocol/boards-service'; import { NotificationServiceServer } from '../../common/protocol/notification-service'; import { bindBrowser } from './browser-test-bindings'; +import { unoSerialPort } from '../common/fixtures'; disableJSDOM(); @@ -256,8 +260,12 @@ describe('boards-data-store', function () { const result = await boardsDataStore.selectConfigOption({ fqbn, - option: configOption1.option, - selectedValue: configOption1.values[1].value, + optionsToUpdate: [ + { + option: configOption1.option, + selectedValue: configOption1.values[1].value, + }, + ], }); expect(result).to.be.ok; @@ -409,8 +417,129 @@ describe('boards-data-store', function () { ); const result = await boardsDataStore.selectConfigOption({ fqbn, - option: configOption1.option, - selectedValue: configOption1.values[1].value, + optionsToUpdate: [ + { + option: configOption1.option, + selectedValue: configOption1.values[1].value, + }, + ], + }); + expect(result).to.be.ok; + expect(didChangeCounter).to.be.equal(1); + + data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [ + { + ...configOption1, + values: [ + { label: 'C1V1', selected: false, value: 'v1' }, + { label: 'C1V2', selected: true, value: 'v2' }, + ], + }, + ], + programmers: [edbg, jlink], + }); + }); + + it('should select multiple config options', async () => { + // reconfigure the board details mock for this test case to have multiple config options + toDisposeAfterEach.push( + mockBoardDetails([ + { + fqbn, + ...baseDetails, + configOptions: [configOption1, configOption2], + }, + ]) + ); + + let data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [configOption1, configOption2], + programmers: [edbg, jlink], + }); + + let didChangeCounter = 0; + toDisposeAfterEach.push( + boardsDataStore.onDidChange(() => didChangeCounter++) + ); + const result = await boardsDataStore.selectConfigOption({ + fqbn, + optionsToUpdate: [ + { + option: configOption1.option, + selectedValue: configOption1.values[1].value, + }, + { + option: configOption2.option, + selectedValue: configOption2.values[1].value, + }, + ], + }); + expect(result).to.be.ok; + expect(didChangeCounter).to.be.equal(1); + + data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [ + { + ...configOption1, + values: [ + { label: 'C1V1', selected: false, value: 'v1' }, + { label: 'C1V2', selected: true, value: 'v2' }, + ], + }, + { + ...configOption2, + values: [ + { label: 'C2V1', selected: false, value: 'v1' }, + { label: 'C2V2', selected: true, value: 'v2' }, + ], + }, + ], + programmers: [edbg, jlink], + }); + }); + + it('should emit a did change event when updating with multiple config options and at least one of them is known (valid option + valid value)', async () => { + // reconfigure the board details mock for this test case to have multiple config options + toDisposeAfterEach.push( + mockBoardDetails([ + { + fqbn, + ...baseDetails, + configOptions: [configOption1, configOption2], + }, + ]) + ); + + let data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [configOption1, configOption2], + programmers: [edbg, jlink], + }); + + let didChangeCounter = 0; + toDisposeAfterEach.push( + boardsDataStore.onDidChange(() => didChangeCounter++) + ); + const result = await boardsDataStore.selectConfigOption({ + fqbn, + optionsToUpdate: [ + { + option: 'an unknown option', + selectedValue: configOption1.values[1].value, + }, + { + option: configOption1.option, + selectedValue: configOption1.values[1].value, + }, + { + option: configOption2.option, + selectedValue: 'an unknown value', + }, + ], }); expect(result).to.be.ok; expect(didChangeCounter).to.be.equal(1); @@ -425,6 +554,103 @@ describe('boards-data-store', function () { { label: 'C1V2', selected: true, value: 'v2' }, ], }, + configOption2, + ], + programmers: [edbg, jlink], + }); + }); + + it('should not emit a did change event when updating with multiple config options and all of the are unknown', async () => { + let data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [configOption1], + programmers: [edbg, jlink], + }); + + let didChangeCounter = 0; + toDisposeAfterEach.push( + boardsDataStore.onDidChange(() => didChangeCounter++) + ); + const result = await boardsDataStore.selectConfigOption({ + fqbn, + optionsToUpdate: [ + { + option: 'an unknown option', + selectedValue: configOption1.values[1].value, + }, + { + option: configOption1.option, + selectedValue: 'an unknown value', + }, + ], + }); + expect(result).to.be.not.ok; + expect(didChangeCounter).to.be.equal(0); + + data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [configOption1], + programmers: [edbg, jlink], + }); + }); + + it("should automatically update the selected config options if the boards config change 'reason' is the 'toolbar' and the (CLI) detected FQBN has config options", async () => { + // reconfigure the board details mock for this test case to have multiple config options + toDisposeAfterEach.push( + mockBoardDetails([ + { + fqbn, + ...baseDetails, + configOptions: [configOption1, configOption2], + }, + ]) + ); + + let data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [configOption1, configOption2], + programmers: [edbg, jlink], + }); + + let didChangeCounter = 0; + toDisposeAfterEach.push( + boardsDataStore.onDidChange(() => didChangeCounter++) + ); + + const boardsConfig = { + selectedPort: unoSerialPort, // the port value does not matter here, but the change must come from a toolbar as a boards config: with port+board, + selectedBoard: { + fqbn: `${board.fqbn}:${configOption1.option}=${configOption1.values[1].value},${configOption2.option}=${configOption2.values[1].value}`, + name: board.name, + }, + }; + const params: UpdateBoardsConfigParams = { + ...boardsConfig, + reason: 'toolbar', + }; + const updated = boardsServiceProvider.updateConfig(params); + expect(updated).to.be.ok; + + await waitForEvent(boardsDataStore.onDidChange, 100); + + expect(didChangeCounter).to.be.equal(1); + data = await boardsDataStore.getData(fqbn); + expect(data).to.be.deep.equal({ + configOptions: [ + { + ...configOption1, + values: [ + { label: 'C1V1', selected: false, value: 'v1' }, + { label: 'C1V2', selected: true, value: 'v2' }, + ], + }, + { + ...configOption2, + values: [ + { label: 'C2V1', selected: false, value: 'v1' }, + { label: 'C2V2', selected: true, value: 'v2' }, + ], + }, ], programmers: [edbg, jlink], }); @@ -444,8 +670,9 @@ describe('boards-data-store', function () { ); const result = await boardsDataStore.selectConfigOption({ fqbn, - option: 'missing', - selectedValue: configOption1.values[1].value, + optionsToUpdate: [ + { option: 'missing', selectedValue: configOption1.values[1].value }, + ], }); expect(result).to.be.not.ok; expect(didChangeCounter).to.be.equal(0); @@ -470,8 +697,9 @@ describe('boards-data-store', function () { ); const result = await boardsDataStore.selectConfigOption({ fqbn, - option: configOption1.option, - selectedValue: 'missing', + optionsToUpdate: [ + { option: configOption1.option, selectedValue: 'missing' }, + ], }); expect(result).to.be.not.ok; expect(didChangeCounter).to.be.equal(0); diff --git a/yarn.lock b/yarn.lock index fe12ae342..71a0d2acb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3885,6 +3885,14 @@ ardunno-cli@^0.1.2: nice-grpc-common "^2.0.2" protobufjs "^7.2.3" +ardunno-cli@^0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/ardunno-cli/-/ardunno-cli-0.1.8.tgz#c70b11b2ee0256227689079d01b828328bb1bfb6" + integrity sha512-DfyI98EFHdpc26nPYq2IXK6ZNypwBY0Fg+CAjYeGI/mjgQ1O9QUjNgz6NADwr+pcQ/ikhvLc88Ud9qR08CFTyg== + dependencies: + nice-grpc-common "^2.0.2" + protobufjs "^7.2.3" + are-we-there-yet@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" @@ -4126,6 +4134,11 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" + integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== + axios@^1.0.0, axios@^1.6.2, axios@^1.6.7: version "1.6.7" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" @@ -4557,6 +4570,16 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-bind@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.6.tgz#6c46675fc7a5e9de82d75a233d586c8b7ac0d931" + integrity sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.3" + set-function-length "^1.2.0" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -5513,6 +5536,30 @@ deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" +deep-equal@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5554,6 +5601,16 @@ define-data-property@^1.0.1: gopd "^1.0.1" has-property-descriptors "^1.0.0" +define-data-property@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.2.tgz#f3c33b4f0102360cd7c0f5f28700f5678510b63a" + integrity sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" @@ -6102,6 +6159,26 @@ es-abstract@^1.22.1: unbox-primitive "^1.0.2" which-typed-array "^1.1.11" +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + es-iterator-helpers@^1.0.12: version "1.0.15" resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" @@ -6881,6 +6958,15 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== +fqbn@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fqbn/-/fqbn-1.0.5.tgz#4a4ea6babadeffc12c4637d5a4f5ef57c7ef317b" + integrity sha512-ImcK5biXDRSQHsvC8XXhEZH/YPmW7lRrmTABv6m5D7HQz3Xzi5foHZxTxmeXekcrRkZOfIrDWWtpk2wtUJgPPA== + dependencies: + ardunno-cli "^0.1.7" + clone "^2.1.2" + deep-equal "^2.2.3" + fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -6981,6 +7067,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" @@ -7069,6 +7160,17 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ has-proto "^1.0.1" has-symbols "^1.0.3" +get-intrinsic@^1.2.2, get-intrinsic@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -7443,6 +7545,13 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + has-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" @@ -7460,6 +7569,13 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" +has-tostringtag@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + has-unicode@2.0.1, has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -7478,6 +7594,13 @@ hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + hast-util-whitespace@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" @@ -7814,6 +7937,15 @@ inspect-with-kind@^1.0.5: dependencies: kind-of "^6.0.2" +internal-slot@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + internal-slot@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" @@ -7848,7 +7980,7 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-arguments@^1.0.4: +is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== @@ -8002,7 +8134,7 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== -is-map@^2.0.1: +is-map@^2.0.1, is-map@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== @@ -8099,7 +8231,7 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== -is-set@^2.0.1: +is-set@^2.0.1, is-set@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== @@ -10207,6 +10339,14 @@ object-inspect@^1.12.3, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -11914,6 +12054,18 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-function-length@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== + dependencies: + define-data-property "^1.1.2" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + set-function-name@^2.0.0, set-function-name@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" @@ -12273,6 +12425,13 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -13711,6 +13870,17 @@ which-typed-array@^1.1.11, which-typed-array@^1.1.2, which-typed-array@^1.1.9: gopd "^1.0.1" has-tostringtag "^1.0.0" +which-typed-array@^1.1.13: + version "1.1.14" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" + integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== + dependencies: + available-typed-arrays "^1.0.6" + call-bind "^1.0.5" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.1" + which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" From 4217c0001db6b1b05eb0ad232cfe414158e0d4ec Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Tue, 20 Feb 2024 18:24:03 +0100 Subject: [PATCH 17/87] fix: add missing installed version to the platform Closes arduino/arduino-ide#2378 Signed-off-by: Akos Kitta --- .../src/node/boards-service-impl.ts | 7 ++- .../node/boards-service-impl.slow-test.ts | 62 +++++++++++++++++-- 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/arduino-ide-extension/src/node/boards-service-impl.ts b/arduino-ide-extension/src/node/boards-service-impl.ts index 9eefeec9f..8345f43fe 100644 --- a/arduino-ide-extension/src/node/boards-service-impl.ts +++ b/arduino-ide-extension/src/node/boards-service-impl.ts @@ -1,6 +1,7 @@ import { ILogger } from '@theia/core/lib/common/logger'; import { nls } from '@theia/core/lib/common/nls'; import { notEmpty } from '@theia/core/lib/common/objects'; +import { Mutable } from '@theia/core/lib/common/types'; import { inject, injectable } from '@theia/core/shared/inversify'; import { BoardDetails, @@ -592,7 +593,7 @@ function createBoardsPackage( const availableVersions = Array.from(versionReleaseMap.keys()) .sort(Installable.Version.COMPARATOR) .reverse(); - return { + const boardsPackage: Mutable = { id, name, summary: nls.localize( @@ -607,6 +608,10 @@ function createBoardsPackage( deprecated, availableVersions, }; + if (summary.installedVersion) { + boardsPackage.installedVersion = summary.installedVersion; + } + return boardsPackage; } type PlatformSummaryWithMetadata = PlatformSummary.AsObject & diff --git a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts index 767bb9d6e..aa893a34f 100644 --- a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts @@ -1,7 +1,18 @@ -import { DisposableCollection } from '@theia/core/lib/common/disposable'; +import { + Disposable, + DisposableCollection, +} from '@theia/core/lib/common/disposable'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; -import { BoardSearch, BoardsService, Installable } from '../../common/protocol'; +import { promises as fs } from 'node:fs'; +import path from 'node:path'; +import temp from 'temp'; +import { + BoardSearch, + BoardsPackage, + BoardsService, + Installable, +} from '../../common/protocol'; import { createBaseContainer, startDaemon } from './node-test-bindings'; describe('boards-service-impl', () => { @@ -10,8 +21,12 @@ describe('boards-service-impl', () => { before(async function () { this.timeout(20_000); - toDispose = new DisposableCollection(); - const container = await createContainer(); + const tracked = temp.track(); + toDispose = new DisposableCollection( + Disposable.create(() => tracked.cleanupSync()) + ); + const testDirPath = tracked.mkdirSync(); + const container = await createContainer(testDirPath); await start(container, toDispose); boardService = container.get(BoardsService); }); @@ -110,10 +125,45 @@ describe('boards-service-impl', () => { expect(first.deprecated).to.be.false; }); }); + + it('should have the installed version set', async function () { + const timeout = 5 * 60 * 1_000; // five minutes to install/uninstall the core + this.timeout(timeout); + + // ensure installed + let result = await boardService.search({ query: 'arduino:avr' }); + let avr = result.find( + (boardsPackage) => boardsPackage.id === 'arduino:avr' + ); + expect(avr).to.be.not.undefined; + await boardService.install({ + item: avr, + skipPostInstall: true, + }); + + // when installed the version is set + result = await boardService.search({ query: 'arduino:avr' }); + avr = result.find((boardsPackage) => boardsPackage.id === 'arduino:avr'); + expect(avr).to.be.not.undefined; + expect(avr?.installedVersion).to.be.not.undefined; + + // uninstall the core + await boardService.uninstall({ item: avr }); + result = await boardService.search({ query: 'arduino:avr' }); + avr = result.find((boardsPackage) => boardsPackage.id === 'arduino:avr'); + expect(avr).to.be.not.undefined; + expect(avr?.installedVersion).to.be.undefined; + }); }); -async function createContainer(): Promise { - return createBaseContainer(); +async function createContainer(testDirPath: string): Promise { + const data = path.join(testDirPath, 'data'); + const user = path.join(testDirPath, 'user'); + await Promise.all([ + fs.mkdir(data, { recursive: true }), + fs.mkdir(user, { recursive: true }), + ]); + return createBaseContainer({ cliConfig: { directories: { data, user } } }); } async function start( From aa9b10d68e6653b7f40ab920173c7964aaefbfa4 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Thu, 22 Feb 2024 12:27:43 +0100 Subject: [PATCH 18/87] fix: copy example with `.pde` main sketch file Closes arduino/arduino-ide#2377 Signed-off-by: Akos Kitta --- .../src/node/sketches-service-impl.ts | 6 ++- .../node/sketches-service-impl.slow-test.ts | 38 +++++++++++++++++-- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/src/node/sketches-service-impl.ts b/arduino-ide-extension/src/node/sketches-service-impl.ts index 21320000e..3a72c31d7 100644 --- a/arduino-ide-extension/src/node/sketches-service-impl.ts +++ b/arduino-ide-extension/src/node/sketches-service-impl.ts @@ -609,9 +609,13 @@ export class SketchesServiceImpl force: true, }); + const sourceMainSketchFilePath = FileUri.fsPath(sketch.mainFileUri); + // Can copy sketch with pde main sketch file: https://github.com/arduino/arduino-ide/issues/2377 + const ext = path.extname(sourceMainSketchFilePath); + // rename the main sketch file await fs.rename( - join(temp, `${sourceFolderBasename}.ino`), + join(temp, `${sourceFolderBasename}${ext}`), join(temp, `${destinationFolderBasename}.ino`) ); diff --git a/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts index 37b839507..802c546cd 100644 --- a/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts @@ -3,18 +3,19 @@ import { DisposableCollection, } from '@theia/core/lib/common/disposable'; import { isWindows } from '@theia/core/lib/common/os'; +import { URI } from '@theia/core/lib/common/uri'; import { FileUri } from '@theia/core/lib/node/file-uri'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; -import { promises as fs } from 'node:fs'; -import { basename, join } from 'node:path'; import { rejects } from 'node:assert/strict'; +import { promises as fs } from 'node:fs'; +import path, { basename, join } from 'node:path'; import { sync as rimrafSync } from 'rimraf'; import temp from 'temp'; import { Sketch, SketchesError, SketchesService } from '../../common/protocol'; import { - isAccessibleSketchPath, SketchesServiceImpl, + isAccessibleSketchPath, } from '../../node/sketches-service-impl'; import { ErrnoException } from '../../node/utils/errors'; import { createBaseContainer, startDaemon } from './node-test-bindings'; @@ -332,6 +333,37 @@ describe('sketches-service-impl', () => { ); }); + it('should copy sketch if the main sketch file has pde extension (#2377)', async () => { + const sketchesService = + container.get(SketchesService); + let sketch = await sketchesService.createNewSketch(); + toDispose.push(disposeSketch(sketch)); + expect(sketch.mainFileUri.endsWith('.ino')).to.be.true; + + // Create a sketch and rename the main sketch file to .pde + const mainSketchFilePathIno = FileUri.fsPath(new URI(sketch.mainFileUri)); + const sketchFolderPath = path.dirname(mainSketchFilePathIno); + const mainSketchFilePathPde = path.join( + sketchFolderPath, + `${basename(sketchFolderPath)}.pde` + ); + await fs.rename(mainSketchFilePathIno, mainSketchFilePathPde); + + sketch = await sketchesService.loadSketch(sketch.uri); + expect(sketch.mainFileUri.endsWith('.pde')).to.be.true; + + const tempDirPath = await sketchesService['createTempFolder'](); + const destinationPath = join(tempDirPath, 'GH-2377'); + const destinationUri = FileUri.create(destinationPath).toString(); + + await sketchesService.copy(sketch, { + destinationUri, + }); + + const copiedSketch = await sketchesService.loadSketch(destinationUri); + expect(copiedSketch.mainFileUri.endsWith('.ino')).to.be.true; + }); + it('should copy sketch inside the sketch folder', async () => { const sketchesService = container.get(SketchesService); From 2e78e96b75b8c8c3971f6b115eec558ba84d0317 Mon Sep 17 00:00:00 2001 From: Dave Simpson <45690499+davegarthsimpson@users.noreply.github.com> Date: Wed, 3 Jul 2024 09:42:10 +0200 Subject: [PATCH 19/87] [chore] Update Windows signing Cert to eToken (#2452) --- .github/workflows/build.yml | 56 ++++++++++++++----- .github/workflows/check-certificates.yml | 65 +++++++++++++++-------- electron-app/package.json | 3 +- electron-app/scripts/windowsCustomSign.js | 30 +++++++++++ 4 files changed, 117 insertions(+), 37 deletions(-) create mode 100644 electron-app/scripts/windowsCustomSign.js diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 54cdcdbbd..e38211dda 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,21 +55,28 @@ env: - config: # Human identifier for the job. name: Windows - runs-on: windows-2019 + runs-on: [self-hosted, windows-sign-pc] # The value is a string representing a JSON document. # Setting this to null causes the job to run directly in the runner machine instead of in a container. container: | null # Name of the secret that contains the certificate. - certificate-secret: WINDOWS_SIGNING_CERTIFICATE_PFX + certificate-secret: INSTALLER_CERT_WINDOWS_CER # Name of the secret that contains the certificate password. - certificate-password-secret: WINDOWS_SIGNING_CERTIFICATE_PASSWORD + certificate-password-secret: INSTALLER_CERT_WINDOWS_PASSWORD # File extension for the certificate. certificate-extension: pfx + # Container for windows cert signing + certificate-container: INSTALLER_CERT_WINDOWS_CONTAINER # Quoting on the value is required here to allow the same comparison expression syntax to be used for this # and the companion needs.select-targets.outputs.merge-channel-files property (output values always have string # type). mergeable-channel-file: 'false' + # as this runs on a self hosted runner, we need to avoid building with the default working directory path, + # otherwise paths in the build job will be too long for `light.exe` + # we use the below as a Symbolic link (just changing the wd will break the checkout action) + # this is a work around (see: https://github.com/actions/checkout/issues/197). + working-directory: 'C:\a' artifacts: - path: '*Windows_64bit.exe' name: Windows_X86-64_interactive_installer @@ -270,6 +277,14 @@ jobs: env: # Location of artifacts generated by build. BUILD_ARTIFACTS_PATH: electron-app/dist/build-artifacts + # to skip passing signing credentials to electron-builder + IS_WINDOWS_CONFIG: ${{ matrix.config.name == 'Windows' }} + INSTALLER_CERT_WINDOWS_CER: "/tmp/cert.cer" + # We are hardcoding the path for signtool because is not present on the windows PATH env var by default. + # Keep in mind that this path could change when upgrading to a new runner version + SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" + WIN_CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} + WIN_CERT_CONTAINER_NAME: ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }} strategy: matrix: config: ${{ fromJson(needs.select-targets.outputs.build-matrix) }} @@ -283,6 +298,12 @@ jobs: timeout-minutes: 90 steps: + - name: Symlink custom working directory + shell: cmd + if: runner.os == 'Windows' && matrix.config.working-directory + run: | + if not exist "${{ matrix.config.working-directory }}" mklink /d "${{ matrix.config.working-directory }}" "C:\actions-runner\_work\arduino-ide\arduino-ide" + - name: Checkout if: fromJSON(matrix.config.container) == null uses: actions/checkout@v4 @@ -293,7 +314,7 @@ jobs: uses: actions/checkout@v3 - name: Install Node.js - if: fromJSON(matrix.config.container) == null + if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} @@ -301,26 +322,26 @@ jobs: cache: 'yarn' - name: Install Python 3.x - if: fromJSON(matrix.config.container) == null + if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' uses: actions/setup-python@v5 with: python-version: '3.11.x' - name: Install Go - if: fromJSON(matrix.config.container) == null + if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} - name: Install Go # actions/setup-go@v5 has dependency on a higher version of glibc than available in the Linux container. - if: fromJSON(matrix.config.container) != null + if: fromJSON(matrix.config.container) != null && runner.os != 'Windows' uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }} - name: Install Taskfile - if: fromJSON(matrix.config.container) == null + if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} @@ -328,7 +349,7 @@ jobs: - name: Install Taskfile # actions/setup-task@v2 has dependency on a higher version of glibc than available in the Linux container. - if: fromJSON(matrix.config.container) != null + if: fromJSON(matrix.config.container) != null && runner.os != 'Windows' uses: arduino/setup-task@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} @@ -350,9 +371,10 @@ jobs: CREATE_USERNAME: ${{ secrets.CREATE_USERNAME }} CREATE_PASSWORD: ${{ secrets.CREATE_PASSWORD }} CREATE_CLIENT_SECRET: ${{ secrets.CREATE_CLIENT_SECRET }} + working-directory: ${{ runner.os == 'Windows' && matrix.config.working-directory || './' }} run: | # See: https://www.electron.build/code-signing - if [ $CAN_SIGN = false ]; then + if [ $CAN_SIGN = false ] || [ $IS_WINDOWS_CONFIG = true ]; then echo "Skipping the app signing: certificate not provided." else export CSC_LINK="${{ runner.temp }}/signing_certificate.${{ matrix.config.certificate-extension }}" @@ -372,13 +394,14 @@ jobs: yarn --cwd electron-app rebuild yarn --cwd electron-app build yarn --cwd electron-app package - + # Both macOS jobs generate a "channel update info file" with same path and name. The second job to complete would # overwrite the file generated by the first in the workflow artifact. - name: Stage channel file for merge if: > needs.select-targets.outputs.merge-channel-files == 'true' && matrix.config.mergeable-channel-file == 'true' + working-directory: ${{ runner.os == 'Windows' && matrix.config.working-directory || './' }} run: | staged_channel_files_path="${{ runner.temp }}/staged-channel-files" mkdir "$staged_channel_files_path" @@ -398,13 +421,20 @@ jobs: with: if-no-files-found: error name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} - path: ${{ env.STAGED_CHANNEL_FILES_PATH }} + path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.STAGED_CHANNEL_FILES_PATH) || env.STAGED_CHANNEL_FILES_PATH }} + - name: Upload [GitHub Actions] uses: actions/upload-artifact@v3 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} - path: ${{ env.BUILD_ARTIFACTS_PATH }} + path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.BUILD_ARTIFACTS_PATH) || env.BUILD_ARTIFACTS_PATH }} + + - name: Manual Clean up for self-hosted runners + if: runner.os == 'Windows' && matrix.config.working-directory + shell: cmd + run: | + rmdir /s /q "${{ matrix.config.working-directory }}\${{ env.BUILD_ARTIFACTS_PATH }}" merge-channel-files: needs: diff --git a/.github/workflows/check-certificates.yml b/.github/workflows/check-certificates.yml index db5ffc09b..adf4052be 100644 --- a/.github/workflows/check-certificates.yml +++ b/.github/workflows/check-certificates.yml @@ -74,9 +74,11 @@ jobs: - identifier: macOS signing certificate # Text used to identify certificate in notifications. certificate-secret: APPLE_SIGNING_CERTIFICATE_P12 # Name of the secret that contains the certificate. password-secret: KEYCHAIN_PASSWORD # Name of the secret that contains the certificate password. + type: pkcs12 - identifier: Windows signing certificate - certificate-secret: WINDOWS_SIGNING_CERTIFICATE_PFX - password-secret: WINDOWS_SIGNING_CERTIFICATE_PASSWORD + certificate-secret: INSTALLER_CERT_WINDOWS_CER + # The password for the Windows certificate is not needed, because its not a container, but a single certificate. + type: x509 steps: - name: Set certificate path environment variable @@ -95,7 +97,7 @@ jobs: CERTIFICATE_PASSWORD: ${{ secrets[matrix.certificate.password-secret] }} run: | ( - openssl pkcs12 \ + openssl ${{ matrix.certificate.type }} \ -in "${{ env.CERTIFICATE_PATH }}" \ -legacy \ -noout \ @@ -122,26 +124,43 @@ jobs: CERTIFICATE_PASSWORD: ${{ secrets[matrix.certificate.password-secret] }} id: get-days-before-expiration run: | - EXPIRATION_DATE="$( - ( - openssl pkcs12 \ - -in "${{ env.CERTIFICATE_PATH }}" \ - -clcerts \ - -legacy \ - -nodes \ - -passin env:CERTIFICATE_PASSWORD - ) | ( - openssl x509 \ - -noout \ - -enddate - ) | ( - grep \ - --max-count=1 \ - --only-matching \ - --perl-regexp \ - 'notAfter=(\K.*)' - ) - )" + if [[ ${{ matrix.certificate.type }} == "pkcs12" ]]; then + EXPIRATION_DATE="$( + ( + openssl pkcs12 \ + -in "${{ env.CERTIFICATE_PATH }}" \ + -clcerts \ + -legacy \ + -nodes \ + -passin env:CERTIFICATE_PASSWORD + ) | ( + openssl x509 \ + -noout \ + -enddate + ) | ( + grep \ + --max-count=1 \ + --only-matching \ + --perl-regexp \ + 'notAfter=(\K.*)' + ) + )" + elif [[ ${{ matrix.certificate.type }} == "x509" ]]; then + EXPIRATION_DATE="$( + ( + openssl x509 \ + -in ${{ env.CERTIFICATE_PATH }} \ + -noout \ + -enddate + ) | ( + grep \ + --max-count=1 \ + --only-matching \ + --perl-regexp \ + 'notAfter=(\K.*)' + ) + )" + fi DAYS_BEFORE_EXPIRATION="$((($(date --utc --date="$EXPIRATION_DATE" +%s) - $(date --utc +%s)) / 60 / 60 / 24))" diff --git a/electron-app/package.json b/electron-app/package.json index 3e42fdd0d..0451107f1 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -133,7 +133,8 @@ "msi", "nsis", "zip" - ] + ], + "sign": "./scripts/windowsCustomSign.js" }, "mac": { "darkModeSupport": true, diff --git a/electron-app/scripts/windowsCustomSign.js b/electron-app/scripts/windowsCustomSign.js new file mode 100644 index 000000000..29fbc5fad --- /dev/null +++ b/electron-app/scripts/windowsCustomSign.js @@ -0,0 +1,30 @@ +const childProcess = require('child_process'); + +exports.default = async function (configuration) { + if (!process.env.GITHUB_ACTIONS) { + return; + } + + const SIGNTOOL_PATH = process.env.SIGNTOOL_PATH; + const INSTALLER_CERT_WINDOWS_CER = process.env.INSTALLER_CERT_WINDOWS_CER; + const CERT_PASSWORD = process.env.WIN_CERT_PASSWORD; + const CONTAINER_NAME = process.env.WIN_CERT_CONTAINER_NAME; + const filePath = configuration.path; + + if ( + SIGNTOOL_PATH && + INSTALLER_CERT_WINDOWS_CER && + CERT_PASSWORD && + CONTAINER_NAME + ) { + childProcess.execSync( + `"${SIGNTOOL_PATH}" sign -d "Arduino IDE" -f "${INSTALLER_CERT_WINDOWS_CER}" -csp "eToken Base Cryptographic Provider" -k "[{{${CERT_PASSWORD}}}]=${CONTAINER_NAME}" -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${filePath}"`, + { stdio: 'inherit' } + ); + } else { + console.warn( + `Custom windows signing was no performed one of the following variables was not provided: SIGNTOOL_PATH (${SIGNTOOL_PATH}), INSTALLER_CERT_WINDOWS_CERT (${INSTALLER_CERT_WINDOWS_CER}), CERT_PASSWORD (${CERT_PASSWORD}), CONTAINER_NAME (${CONTAINER_NAME})` + ); + process.exit(1); + } +}; From c3adde54606b42dd63af4e81579fc7376249c274 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 6 Sep 2024 10:29:31 +0200 Subject: [PATCH 20/87] feat: add shared space support (#2486) --- .github/workflows/build.yml | 2 ++ .../src/browser/arduino-preferences.ts | 9 +++++++++ arduino-ide-extension/src/browser/create/create-api.ts | 10 +++++++++- .../widgets/sketchbook/sketchbook-tree-model.ts | 3 +++ .../src/test/node/boards-service-impl.slow-test.ts | 10 +++++----- i18n/en.json | 1 + 6 files changed, 29 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e38211dda..058f081f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -275,6 +275,8 @@ jobs: - build-type-determination - select-targets env: + # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true # Location of artifacts generated by build. BUILD_ARTIFACTS_PATH: electron-app/dist/build-artifacts # to skip passing signing credentials to electron-builder diff --git a/arduino-ide-extension/src/browser/arduino-preferences.ts b/arduino-ide-extension/src/browser/arduino-preferences.ts index bc9cdb099..c7e1698a5 100644 --- a/arduino-ide-extension/src/browser/arduino-preferences.ts +++ b/arduino-ide-extension/src/browser/arduino-preferences.ts @@ -228,6 +228,14 @@ const properties: ArduinoPreferenceSchemaProperties = { ), default: 'https://api2.arduino.cc/create', }, + 'arduino.cloud.sharedSpaceID': { + type: 'string', + description: nls.localize( + 'arduino/preferences/cloud.sharedSpaceId', + 'The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.' + ), + default: '', + }, 'arduino.auth.clientID': { type: 'string', description: nls.localize( @@ -329,6 +337,7 @@ export interface ArduinoConfiguration { 'arduino.cloud.push.warn': boolean; 'arduino.cloud.pushpublic.warn': boolean; 'arduino.cloud.sketchSyncEndpoint': string; + 'arduino.cloud.sharedSpaceID': string; 'arduino.auth.clientID': string; 'arduino.auth.domain': string; 'arduino.auth.audience': string; diff --git a/arduino-ide-extension/src/browser/create/create-api.ts b/arduino-ide-extension/src/browser/create/create-api.ts index 7f4cfed22..db777b35a 100644 --- a/arduino-ide-extension/src/browser/create/create-api.ts +++ b/arduino-ide-extension/src/browser/create/create-api.ts @@ -509,11 +509,19 @@ export class CreateApi { private async headers(): Promise> { const token = await this.token(); - return { + const headers: Record = { 'content-type': 'application/json', accept: 'application/json', authorization: `Bearer ${token}`, }; + + const sharedSpaceID = + this.arduinoPreferences['arduino.cloud.sharedSpaceID']; + if (sharedSpaceID) { + headers['x-organization'] = sharedSpaceID; + } + + return headers; } private domain(apiVersion = 'v2'): string { diff --git a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-model.ts b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-model.ts index df1d52964..89a013547 100644 --- a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-model.ts +++ b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-model.ts @@ -127,6 +127,9 @@ export class SketchbookTreeModel extends FileTreeModel { if (preferenceName === 'arduino.sketchbook.showAllFiles') { this.updateRoot(); } + if (preferenceName === 'arduino.cloud.sharedSpaceID') { + this.updateRoot(); + } }) ); diff --git a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts index aa893a34f..f5b29a5bf 100644 --- a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts @@ -113,13 +113,13 @@ describe('boards-service-impl', () => { expect(result.length).greaterThan(1); const lastIndex = result.length - 1; const last = result[lastIndex]; - expect(last.id).to.be.equal('arduino:mbed'); + expect(last.id).to.be.equal('Microsoft:win10'); expect(last.deprecated).to.be.true; - const windowsIoTCoreIndex = result.findIndex( - (platform) => platform.id === 'Microsoft:win10' + const arduinoMbedCoreIndex = result.findIndex( + (platform) => platform.id === 'arduino:mbed' ); - expect(windowsIoTCoreIndex).to.be.greaterThanOrEqual(0); - expect(windowsIoTCoreIndex).to.be.lessThan(lastIndex); + expect(arduinoMbedCoreIndex).to.be.greaterThanOrEqual(0); + expect(arduinoMbedCoreIndex).to.be.lessThan(lastIndex); const first = result[0]; expect(typeof first.deprecated).to.be.equal('boolean'); expect(first.deprecated).to.be.false; diff --git a/i18n/en.json b/i18n/en.json index c83d280c1..22babc740 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "compile", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", From 1ec0a8cc77c2741ef380f682fa95273615dda06f Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 6 Sep 2024 11:38:55 +0200 Subject: [PATCH 21/87] feat: use Arduino CLI 1.0.4 (#2457) * fix: use `@pingghost/protoc` to compile proto files The npm package previously used (`protoc`) is still lacking apple arm32 support, see https://github.com/YePpHa/node-protoc/pull/10 * feat: use Arduino CLI 1.0.4 * fix: allow use of node16 in github actions * chore: update `arduino-language-server` version for cli-1.0.0 * fix: deprecated platform order test Arduino deprecated platforms should have more priority then other deprecated ones --- arduino-ide-extension/package.json | 6 +- .../scripts/generate-protocol.js | 5 +- .../src/node/boards-service-impl.ts | 4 +- .../cc/arduino/cli/commands/v1/board_pb.d.ts | 5 + .../cc/arduino/cli/commands/v1/board_pb.js | 53 +- .../cli/commands/v1/commands_grpc_pb.d.ts | 158 +- .../cli/commands/v1/commands_grpc_pb.js | 328 +- .../arduino/cli/commands/v1/commands_pb.d.ts | 209 +- .../cc/arduino/cli/commands/v1/commands_pb.js | 2503 ++++++++--- .../cc/arduino/cli/commands/v1/common_pb.d.ts | 39 +- .../cc/arduino/cli/commands/v1/common_pb.js | 264 +- .../arduino/cli/commands/v1/compile_pb.d.ts | 29 +- .../cc/arduino/cli/commands/v1/compile_pb.js | 207 +- .../cc/arduino/cli/commands/v1/core_pb.d.ts | 148 +- .../cc/arduino/cli/commands/v1/core_pb.js | 883 +++- .../cc/arduino/cli/commands/v1/debug_pb.d.ts | 43 +- .../cc/arduino/cli/commands/v1/debug_pb.js | 248 +- .../cc/arduino/cli/commands/v1/lib_pb.d.ts | 241 + .../cc/arduino/cli/commands/v1/lib_pb.js | 1760 +++++++- .../arduino/cli/commands/v1/monitor_pb.d.ts | 31 +- .../cc/arduino/cli/commands/v1/monitor_pb.js | 152 +- .../arduino/cli/commands/v1/settings_pb.d.ts | 603 ++- .../cc/arduino/cli/commands/v1/settings_pb.js | 3994 +++++++++++++++-- .../src/node/config-service-impl.ts | 89 +- .../src/node/core-service-impl.ts | 5 +- .../src/test/node/exec-util.test.ts | 2 +- .../src/test/node/node-test-bindings.ts | 1 - yarn.lock | 26 +- 28 files changed, 10139 insertions(+), 1897 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 8963b4f5a..bef1f07b7 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -128,7 +128,7 @@ }, "optionalDependencies": { "grpc-tools": "^1.12.4", - "protoc": "^1.0.4" + "@pingghost/protoc": "^1.0.2" }, "mocha": { "require": [ @@ -170,7 +170,7 @@ ], "arduino": { "arduino-cli": { - "version": "0.36.0-rc.1" + "version": "1.0.4" }, "arduino-fwuploader": { "version": "2.4.1" @@ -179,7 +179,7 @@ "version": { "owner": "arduino", "repo": "arduino-language-server", - "commitish": "91c2ba8" + "commitish": "05ec308" } }, "clangd": { diff --git a/arduino-ide-extension/scripts/generate-protocol.js b/arduino-ide-extension/scripts/generate-protocol.js index 703407a4f..f2b1ce8e8 100644 --- a/arduino-ide-extension/scripts/generate-protocol.js +++ b/arduino-ide-extension/scripts/generate-protocol.js @@ -7,8 +7,9 @@ const { exec } = require('./utils'); const glob = require('glob'); const { SemVer, gte, valid: validSemVer } = require('semver'); - const protoc = path.dirname(require('protoc/protoc')); - + // Use a node-protoc fork until apple arm32 is supported + // https://github.com/YePpHa/node-protoc/pull/10 + const protoc = path.dirname(require('@pingghost/protoc/protoc')); const repository = await fs.mkdtemp(path.join(os.tmpdir(), 'arduino-cli-')); const { owner, repo, commitish } = (() => { diff --git a/arduino-ide-extension/src/node/boards-service-impl.ts b/arduino-ide-extension/src/node/boards-service-impl.ts index 8345f43fe..ea77f8a5f 100644 --- a/arduino-ide-extension/src/node/boards-service-impl.ts +++ b/arduino-ide-extension/src/node/boards-service-impl.ts @@ -585,7 +585,7 @@ function createBoardsPackage( if (!actualRelease) { return undefined; } - const { name, typeList, boardsList, deprecated, compatible } = actualRelease; + const { name, typesList, boardsList, deprecated, compatible } = actualRelease; if (!compatible) { return undefined; // never show incompatible platforms } @@ -602,7 +602,7 @@ function createBoardsPackage( ), description: boardsList.map(({ name }) => name).join(', '), boards: boardsList, - types: typeList, + types: typesList, moreInfoLink: website, author: maintainer, deprecated, diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts index 0cd416a54..74c87488c 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts @@ -384,6 +384,10 @@ export class BoardListResponse extends jspb.Message { getPortsList(): Array; setPortsList(value: Array): BoardListResponse; addPorts(value?: DetectedPort, index?: number): DetectedPort; + clearWarningsList(): void; + getWarningsList(): Array; + setWarningsList(value: Array): BoardListResponse; + addWarnings(value: string, index?: number): string; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): BoardListResponse.AsObject; @@ -398,6 +402,7 @@ export class BoardListResponse extends jspb.Message { export namespace BoardListResponse { export type AsObject = { portsList: Array, + warningsList: Array, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js index 12119bd31..2625f2e0a 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js @@ -3387,7 +3387,7 @@ proto.cc.arduino.cli.commands.v1.BoardListRequest.prototype.setFqbn = function(v * @private {!Array} * @const */ -proto.cc.arduino.cli.commands.v1.BoardListResponse.repeatedFields_ = [1]; +proto.cc.arduino.cli.commands.v1.BoardListResponse.repeatedFields_ = [1,2]; @@ -3421,7 +3421,8 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.toObject = function proto.cc.arduino.cli.commands.v1.BoardListResponse.toObject = function(includeInstance, msg) { var f, obj = { portsList: jspb.Message.toObjectList(msg.getPortsList(), - proto.cc.arduino.cli.commands.v1.DetectedPort.toObject, includeInstance) + proto.cc.arduino.cli.commands.v1.DetectedPort.toObject, includeInstance), + warningsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f }; if (includeInstance) { @@ -3463,6 +3464,10 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.deserializeBinaryFromReader = reader.readMessage(value,proto.cc.arduino.cli.commands.v1.DetectedPort.deserializeBinaryFromReader); msg.addPorts(value); break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.addWarnings(value); + break; default: reader.skipField(); break; @@ -3500,6 +3505,13 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.serializeBinaryToWriter = fun proto.cc.arduino.cli.commands.v1.DetectedPort.serializeBinaryToWriter ); } + f = message.getWarningsList(); + if (f.length > 0) { + writer.writeRepeatedString( + 2, + f + ); + } }; @@ -3541,6 +3553,43 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.clearPortsList = fu }; +/** + * repeated string warnings = 2; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.getWarningsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.BoardListResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.setWarningsList = function(value) { + return jspb.Message.setField(this, 2, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.BoardListResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.addWarnings = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 2, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BoardListResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.clearWarningsList = function() { + return this.setWarningsList([]); +}; + + /** * List of repeated fields within this message type. diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts index 651646fd8..993a3cd0f 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts @@ -59,12 +59,14 @@ interface IArduinoCoreServiceService extends grpc.ServiceDefinition { @@ -436,23 +438,59 @@ interface IArduinoCoreServiceService_IGetDebugConfig extends grpc.MethodDefiniti responseSerialize: grpc.serialize; responseDeserialize: grpc.deserialize; } -interface IArduinoCoreServiceService_ISettingsGetAll extends grpc.MethodDefinition { - path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll"; +interface IArduinoCoreServiceService_ICheckForArduinoCLIUpdates extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/CheckForArduinoCLIUpdates"; requestStream: false; responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; } -interface IArduinoCoreServiceService_ISettingsMerge extends grpc.MethodDefinition { - path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge"; +interface IArduinoCoreServiceService_ICleanDownloadCacheDirectory extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/CleanDownloadCacheDirectory"; requestStream: false; responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_IConfigurationSave extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationSave"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_IConfigurationOpen extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationOpen"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_IConfigurationGet extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationGet"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} +interface IArduinoCoreServiceService_ISettingsEnumerate extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsEnumerate"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; } interface IArduinoCoreServiceService_ISettingsGetValue extends grpc.MethodDefinition { path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue"; @@ -472,24 +510,6 @@ interface IArduinoCoreServiceService_ISettingsSetValue extends grpc.MethodDefini responseSerialize: grpc.serialize; responseDeserialize: grpc.deserialize; } -interface IArduinoCoreServiceService_ISettingsWrite extends grpc.MethodDefinition { - path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsWrite"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} -interface IArduinoCoreServiceService_ISettingsDelete extends grpc.MethodDefinition { - path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsDelete"; - requestStream: false; - responseStream: false; - requestSerialize: grpc.serialize; - requestDeserialize: grpc.deserialize; - responseSerialize: grpc.serialize; - responseDeserialize: grpc.deserialize; -} export const ArduinoCoreServiceService: IArduinoCoreServiceService; @@ -535,12 +555,14 @@ export interface IArduinoCoreServiceServer extends grpc.UntypedServiceImplementa debug: grpc.handleBidiStreamingCall; isDebugSupported: grpc.handleUnaryCall; getDebugConfig: grpc.handleUnaryCall; - settingsGetAll: grpc.handleUnaryCall; - settingsMerge: grpc.handleUnaryCall; + checkForArduinoCLIUpdates: grpc.handleUnaryCall; + cleanDownloadCacheDirectory: grpc.handleUnaryCall; + configurationSave: grpc.handleUnaryCall; + configurationOpen: grpc.handleUnaryCall; + configurationGet: grpc.handleUnaryCall; + settingsEnumerate: grpc.handleUnaryCall; settingsGetValue: grpc.handleUnaryCall; settingsSetValue: grpc.handleUnaryCall; - settingsWrite: grpc.handleUnaryCall; - settingsDelete: grpc.handleUnaryCall; } export interface IArduinoCoreServiceClient { @@ -648,24 +670,30 @@ export interface IArduinoCoreServiceClient { getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; - settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; - settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; - settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; - settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; - settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; - settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall; + checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall; + checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall; + cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall; + cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall; + cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall; + configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall; + configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall; + configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall; + configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall; + configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall; + configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall; + configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall; + configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall; + configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall; + settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall; + settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall; + settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall; settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; - settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; - settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; - settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; - settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; - settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; - settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; } export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCoreServiceClient { @@ -772,22 +800,28 @@ export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCor public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall; - public settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; - public settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; - public settingsGetAll(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse) => void): grpc.ClientUnaryCall; - public settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; - public settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; - public settingsMerge(request: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse) => void): grpc.ClientUnaryCall; + public checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall; + public checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall; + public checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall; + public cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall; + public cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall; + public cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall; + public configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall; + public configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall; + public configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall; + public configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall; + public configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall; + public configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall; + public configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall; + public configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall; + public configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall; + public settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall; + public settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall; + public settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall; public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall; public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall; - public settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; - public settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; - public settingsWrite(request: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse) => void): grpc.ClientUnaryCall; - public settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; - public settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; - public settingsDelete(request: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse) => void): grpc.ClientUnaryCall; } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js index 6ea265e3c..4decb58e0 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js @@ -3,18 +3,19 @@ // Original file comments: // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://www.arduino.cc/) // -// This software is released under the GNU General Public License version 3, -// which covers the main part of arduino-cli. -// The terms of this license can be found at: -// https://www.gnu.org/licenses/gpl-3.0.en.html +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// You can be released from the requirements of the above licenses by purchasing -// a commercial license. Buying such a license is mandatory if you want to -// modify or otherwise use the software for commercial activities involving the -// Arduino software without disclosing the source code of your own applications. -// To purchase a commercial license, send an email to license@arduino.cc. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // 'use strict'; var cc_arduino_cli_commands_v1_commands_pb = require('../../../../../cc/arduino/cli/commands/v1/commands_pb.js'); @@ -183,6 +184,50 @@ function deserialize_cc_arduino_cli_commands_v1_BurnBootloaderResponse(buffer_ar return cc_arduino_cli_commands_v1_upload_pb.BurnBootloaderResponse.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_cc_arduino_cli_commands_v1_CompileRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_compile_pb.CompileRequest)) { throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CompileRequest'); @@ -205,6 +250,72 @@ function deserialize_cc_arduino_cli_commands_v1_CompileResponse(buffer_arg) { return cc_arduino_cli_commands_v1_compile_pb.CompileResponse.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationGetRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationGetResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationOpenRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationOpenResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationSaveRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationSaveResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_cc_arduino_cli_commands_v1_CreateRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CreateRequest)) { throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CreateRequest'); @@ -777,48 +888,26 @@ function deserialize_cc_arduino_cli_commands_v1_SetSketchDefaultsResponse(buffer return cc_arduino_cli_commands_v1_commands_pb.SetSketchDefaultsResponse.deserializeBinary(new Uint8Array(buffer_arg)); } -function serialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsDeleteRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsDeleteResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetAllRequest'); +function serialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsEnumerateRequest'); } return Buffer.from(arg.serializeBinary()); } -function deserialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest.deserializeBinary(new Uint8Array(buffer_arg)); +function deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest.deserializeBinary(new Uint8Array(buffer_arg)); } -function serialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetAllResponse'); +function serialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsEnumerateResponse'); } return Buffer.from(arg.serializeBinary()); } -function deserialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse.deserializeBinary(new Uint8Array(buffer_arg)); +function deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse.deserializeBinary(new Uint8Array(buffer_arg)); } function serialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest(arg) { @@ -843,28 +932,6 @@ function deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse(buffer_ return cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse.deserializeBinary(new Uint8Array(buffer_arg)); } -function serialize_cc_arduino_cli_commands_v1_SettingsMergeRequest(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsMergeRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_SettingsMergeRequest(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_commands_v1_SettingsMergeResponse(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsMergeResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_SettingsMergeResponse(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - function serialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest)) { throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsSetValueRequest'); @@ -887,28 +954,6 @@ function deserialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse(buffer_ return cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse.deserializeBinary(new Uint8Array(buffer_arg)); } -function serialize_cc_arduino_cli_commands_v1_SettingsWriteRequest(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsWriteRequest'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_SettingsWriteRequest(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_cc_arduino_cli_commands_v1_SettingsWriteResponse(arg) { - if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse)) { - throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsWriteResponse'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_cc_arduino_cli_commands_v1_SettingsWriteResponse(buffer_arg) { - return cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse.deserializeBinary(new Uint8Array(buffer_arg)); -} - function serialize_cc_arduino_cli_commands_v1_SupportedUserFieldsRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_upload_pb.SupportedUserFieldsRequest)) { throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SupportedUserFieldsRequest'); @@ -1569,31 +1614,78 @@ getDebugConfig: { responseSerialize: serialize_cc_arduino_cli_commands_v1_GetDebugConfigResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_GetDebugConfigResponse, }, - // List all the settings. -settingsGetAll: { - path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll', + // Check for updates to the Arduino CLI. +checkForArduinoCLIUpdates: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/CheckForArduinoCLIUpdates', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, + responseType: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse, + }, + // Clean the download cache directory (where archives are downloaded). +cleanDownloadCacheDirectory: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/CleanDownloadCacheDirectory', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, + responseType: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse, + }, + // Writes the settings currently stored in memory in a YAML file +configurationSave: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationSave', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse, + }, + // Read the settings from a YAML file +configurationOpen: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationOpen', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse, + }, + configurationGet: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationGet', requestStream: false, responseStream: false, - requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllRequest, - responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetAllResponse, - requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest, - requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetAllRequest, - responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse, - responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetAllResponse, + requestType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse, }, - // Set multiple settings values at once. -settingsMerge: { - path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge', + // Enumerate all the keys/values pairs available in the configuration +settingsEnumerate: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsEnumerate', requestStream: false, responseStream: false, - requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeRequest, - responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsMergeResponse, - requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsMergeRequest, - requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsMergeRequest, - responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsMergeResponse, - responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsMergeResponse, + requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, + responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse, }, - // Get the value of a specific setting. + // Get a single configuration value settingsGetValue: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue', requestStream: false, @@ -1605,7 +1697,7 @@ settingsGetValue: { responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse, }, - // Set the value of a specific setting. + // Set a single configuration value settingsSetValue: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue', requestStream: false, @@ -1617,29 +1709,5 @@ settingsSetValue: { responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse, }, - // Writes to file settings currently stored in memory -settingsWrite: { - path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsWrite', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteRequest, - responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsWriteResponse, - requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsWriteRequest, - requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsWriteRequest, - responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsWriteResponse, - responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsWriteResponse, - }, - // Deletes an entry and rewrites the file settings -settingsDelete: { - path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsDelete', - requestStream: false, - responseStream: false, - requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteRequest, - responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsDeleteResponse, - requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest, - requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsDeleteRequest, - responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse, - responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsDeleteResponse, - }, }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts index 79e01e887..53107cc5a 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts @@ -99,8 +99,8 @@ export class InitResponse extends jspb.Message { hasProfile(): boolean; clearProfile(): void; - getProfile(): cc_arduino_cli_commands_v1_common_pb.Profile | undefined; - setProfile(value?: cc_arduino_cli_commands_v1_common_pb.Profile): InitResponse; + getProfile(): cc_arduino_cli_commands_v1_common_pb.SketchProfile | undefined; + setProfile(value?: cc_arduino_cli_commands_v1_common_pb.SketchProfile): InitResponse; getMessageCase(): InitResponse.MessageCase; @@ -118,7 +118,7 @@ export namespace InitResponse { export type AsObject = { initProgress?: InitResponse.Progress.AsObject, error?: google_rpc_status_pb.Status.AsObject, - profile?: cc_arduino_cli_commands_v1_common_pb.Profile.AsObject, + profile?: cc_arduino_cli_commands_v1_common_pb.SketchProfile.AsObject, } @@ -232,6 +232,8 @@ export class UpdateIndexRequest extends jspb.Message { setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): UpdateIndexRequest; getIgnoreCustomPackageIndexes(): boolean; setIgnoreCustomPackageIndexes(value: boolean): UpdateIndexRequest; + getUpdateIfOlderThanSecs(): number; + setUpdateIfOlderThanSecs(value: number): UpdateIndexRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UpdateIndexRequest.AsObject; @@ -247,6 +249,7 @@ export namespace UpdateIndexRequest { export type AsObject = { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, ignoreCustomPackageIndexes: boolean, + updateIfOlderThanSecs: number, } } @@ -257,6 +260,13 @@ export class UpdateIndexResponse extends jspb.Message { getDownloadProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined; setDownloadProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): UpdateIndexResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): UpdateIndexResponse.Result | undefined; + setResult(value?: UpdateIndexResponse.Result): UpdateIndexResponse; + + getMessageCase(): UpdateIndexResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UpdateIndexResponse.AsObject; static toObject(includeInstance: boolean, msg: UpdateIndexResponse): UpdateIndexResponse.AsObject; @@ -270,7 +280,39 @@ export class UpdateIndexResponse extends jspb.Message { export namespace UpdateIndexResponse { export type AsObject = { downloadProgress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, + result?: UpdateIndexResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + clearUpdatedIndexesList(): void; + getUpdatedIndexesList(): Array; + setUpdatedIndexesList(value: Array): Result; + addUpdatedIndexes(value?: IndexUpdateReport, index?: number): IndexUpdateReport; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; + } + + export namespace Result { + export type AsObject = { + updatedIndexesList: Array, + } } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + DOWNLOAD_PROGRESS = 1, + RESULT = 2, + } + } export class UpdateLibrariesIndexRequest extends jspb.Message { @@ -279,6 +321,8 @@ export class UpdateLibrariesIndexRequest extends jspb.Message { clearInstance(): void; getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): UpdateLibrariesIndexRequest; + getUpdateIfOlderThanSecs(): number; + setUpdateIfOlderThanSecs(value: number): UpdateLibrariesIndexRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UpdateLibrariesIndexRequest.AsObject; @@ -293,6 +337,7 @@ export class UpdateLibrariesIndexRequest extends jspb.Message { export namespace UpdateLibrariesIndexRequest { export type AsObject = { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, + updateIfOlderThanSecs: number, } } @@ -303,6 +348,13 @@ export class UpdateLibrariesIndexResponse extends jspb.Message { getDownloadProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined; setDownloadProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): UpdateLibrariesIndexResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): UpdateLibrariesIndexResponse.Result | undefined; + setResult(value?: UpdateLibrariesIndexResponse.Result): UpdateLibrariesIndexResponse; + + getMessageCase(): UpdateLibrariesIndexResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UpdateLibrariesIndexResponse.AsObject; static toObject(includeInstance: boolean, msg: UpdateLibrariesIndexResponse): UpdateLibrariesIndexResponse.AsObject; @@ -316,7 +368,72 @@ export class UpdateLibrariesIndexResponse extends jspb.Message { export namespace UpdateLibrariesIndexResponse { export type AsObject = { downloadProgress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, + result?: UpdateLibrariesIndexResponse.Result.AsObject, } + + + export class Result extends jspb.Message { + + hasLibrariesIndex(): boolean; + clearLibrariesIndex(): void; + getLibrariesIndex(): IndexUpdateReport | undefined; + setLibrariesIndex(value?: IndexUpdateReport): Result; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; + } + + export namespace Result { + export type AsObject = { + librariesIndex?: IndexUpdateReport.AsObject, + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + DOWNLOAD_PROGRESS = 1, + RESULT = 2, + } + +} + +export class IndexUpdateReport extends jspb.Message { + getIndexUrl(): string; + setIndexUrl(value: string): IndexUpdateReport; + getStatus(): IndexUpdateReport.Status; + setStatus(value: IndexUpdateReport.Status): IndexUpdateReport; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): IndexUpdateReport.AsObject; + static toObject(includeInstance: boolean, msg: IndexUpdateReport): IndexUpdateReport.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: IndexUpdateReport, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): IndexUpdateReport; + static deserializeBinaryFromReader(message: IndexUpdateReport, reader: jspb.BinaryReader): IndexUpdateReport; +} + +export namespace IndexUpdateReport { + export type AsObject = { + indexUrl: string, + status: IndexUpdateReport.Status, + } + + export enum Status { + STATUS_UNSPECIFIED = 0, + STATUS_UPDATED = 1, + STATUS_ALREADY_UP_TO_DATE = 2, + STATUS_FAILED = 3, + STATUS_SKIPPED = 4, + } + } export class VersionRequest extends jspb.Message { @@ -500,6 +617,8 @@ export class SetSketchDefaultsRequest extends jspb.Message { setDefaultPortAddress(value: string): SetSketchDefaultsRequest; getDefaultPortProtocol(): string; setDefaultPortProtocol(value: string): SetSketchDefaultsRequest; + getDefaultProgrammer(): string; + setDefaultProgrammer(value: string): SetSketchDefaultsRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): SetSketchDefaultsRequest.AsObject; @@ -517,6 +636,7 @@ export namespace SetSketchDefaultsRequest { defaultFqbn: string, defaultPortAddress: string, defaultPortProtocol: string, + defaultProgrammer: string, } } @@ -527,6 +647,8 @@ export class SetSketchDefaultsResponse extends jspb.Message { setDefaultPortAddress(value: string): SetSketchDefaultsResponse; getDefaultPortProtocol(): string; setDefaultPortProtocol(value: string): SetSketchDefaultsResponse; + getDefaultProgrammer(): string; + setDefaultProgrammer(value: string): SetSketchDefaultsResponse; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): SetSketchDefaultsResponse.AsObject; @@ -543,6 +665,87 @@ export namespace SetSketchDefaultsResponse { defaultFqbn: string, defaultPortAddress: string, defaultPortProtocol: string, + defaultProgrammer: string, + } +} + +export class CheckForArduinoCLIUpdatesRequest extends jspb.Message { + getForceCheck(): boolean; + setForceCheck(value: boolean): CheckForArduinoCLIUpdatesRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CheckForArduinoCLIUpdatesRequest.AsObject; + static toObject(includeInstance: boolean, msg: CheckForArduinoCLIUpdatesRequest): CheckForArduinoCLIUpdatesRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CheckForArduinoCLIUpdatesRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CheckForArduinoCLIUpdatesRequest; + static deserializeBinaryFromReader(message: CheckForArduinoCLIUpdatesRequest, reader: jspb.BinaryReader): CheckForArduinoCLIUpdatesRequest; +} + +export namespace CheckForArduinoCLIUpdatesRequest { + export type AsObject = { + forceCheck: boolean, + } +} + +export class CheckForArduinoCLIUpdatesResponse extends jspb.Message { + getNewestVersion(): string; + setNewestVersion(value: string): CheckForArduinoCLIUpdatesResponse; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CheckForArduinoCLIUpdatesResponse.AsObject; + static toObject(includeInstance: boolean, msg: CheckForArduinoCLIUpdatesResponse): CheckForArduinoCLIUpdatesResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CheckForArduinoCLIUpdatesResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CheckForArduinoCLIUpdatesResponse; + static deserializeBinaryFromReader(message: CheckForArduinoCLIUpdatesResponse, reader: jspb.BinaryReader): CheckForArduinoCLIUpdatesResponse; +} + +export namespace CheckForArduinoCLIUpdatesResponse { + export type AsObject = { + newestVersion: string, + } +} + +export class CleanDownloadCacheDirectoryRequest extends jspb.Message { + + hasInstance(): boolean; + clearInstance(): void; + getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; + setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): CleanDownloadCacheDirectoryRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CleanDownloadCacheDirectoryRequest.AsObject; + static toObject(includeInstance: boolean, msg: CleanDownloadCacheDirectoryRequest): CleanDownloadCacheDirectoryRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CleanDownloadCacheDirectoryRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CleanDownloadCacheDirectoryRequest; + static deserializeBinaryFromReader(message: CleanDownloadCacheDirectoryRequest, reader: jspb.BinaryReader): CleanDownloadCacheDirectoryRequest; +} + +export namespace CleanDownloadCacheDirectoryRequest { + export type AsObject = { + instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, + } +} + +export class CleanDownloadCacheDirectoryResponse extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CleanDownloadCacheDirectoryResponse.AsObject; + static toObject(includeInstance: boolean, msg: CleanDownloadCacheDirectoryResponse): CleanDownloadCacheDirectoryResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CleanDownloadCacheDirectoryResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CleanDownloadCacheDirectoryResponse; + static deserializeBinaryFromReader(message: CleanDownloadCacheDirectoryResponse, reader: jspb.BinaryReader): CleanDownloadCacheDirectoryResponse; +} + +export namespace CleanDownloadCacheDirectoryResponse { + export type AsObject = { } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js index ebc76506d..b3ba4786b 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js @@ -43,12 +43,18 @@ var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/ goog.object.extend(proto, cc_arduino_cli_commands_v1_settings_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CreateRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CreateResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DestroyRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DestroyResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.FailedInstanceInitError', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.FailedInstanceInitReason', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.IndexUpdateReport', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.IndexUpdateReport.Status', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.InitRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.InitResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.InitResponse.MessageCase', null, global); @@ -61,8 +67,12 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest', n goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateIndexRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateIndexResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.VersionRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.VersionResponse', null, global); /** @@ -265,7 +275,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.UpdateIndexResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.UpdateIndexResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -275,6 +285,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.displayName = 'proto.cc.arduino.cli.commands.v1.UpdateIndexResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -307,7 +338,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -317,6 +348,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.displayName = 'proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.IndexUpdateReport = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.IndexUpdateReport, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.IndexUpdateReport.displayName = 'proto.cc.arduino.cli.commands.v1.IndexUpdateReport'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -527,6 +600,90 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.displayName = 'proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.displayName = 'proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.displayName = 'proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.displayName = 'proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse'; +} @@ -1051,7 +1208,7 @@ proto.cc.arduino.cli.commands.v1.InitResponse.toObject = function(includeInstanc var f, obj = { initProgress: (f = msg.getInitProgress()) && proto.cc.arduino.cli.commands.v1.InitResponse.Progress.toObject(includeInstance, f), error: (f = msg.getError()) && google_rpc_status_pb.Status.toObject(includeInstance, f), - profile: (f = msg.getProfile()) && cc_arduino_cli_commands_v1_common_pb.Profile.toObject(includeInstance, f) + profile: (f = msg.getProfile()) && cc_arduino_cli_commands_v1_common_pb.SketchProfile.toObject(includeInstance, f) }; if (includeInstance) { @@ -1099,8 +1256,8 @@ proto.cc.arduino.cli.commands.v1.InitResponse.deserializeBinaryFromReader = func msg.setError(value); break; case 3: - var value = new cc_arduino_cli_commands_v1_common_pb.Profile; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Profile.deserializeBinaryFromReader); + var value = new cc_arduino_cli_commands_v1_common_pb.SketchProfile; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.SketchProfile.deserializeBinaryFromReader); msg.setProfile(value); break; default: @@ -1153,7 +1310,7 @@ proto.cc.arduino.cli.commands.v1.InitResponse.serializeBinaryToWriter = function writer.writeMessage( 3, f, - cc_arduino_cli_commands_v1_common_pb.Profile.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.SketchProfile.serializeBinaryToWriter ); } }; @@ -1436,17 +1593,17 @@ proto.cc.arduino.cli.commands.v1.InitResponse.prototype.hasError = function() { /** - * optional Profile profile = 3; - * @return {?proto.cc.arduino.cli.commands.v1.Profile} + * optional SketchProfile profile = 3; + * @return {?proto.cc.arduino.cli.commands.v1.SketchProfile} */ proto.cc.arduino.cli.commands.v1.InitResponse.prototype.getProfile = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.Profile} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Profile, 3)); + return /** @type{?proto.cc.arduino.cli.commands.v1.SketchProfile} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.SketchProfile, 3)); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.Profile|undefined} value + * @param {?proto.cc.arduino.cli.commands.v1.SketchProfile|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.InitResponse} returns this */ proto.cc.arduino.cli.commands.v1.InitResponse.prototype.setProfile = function(value) { @@ -1917,7 +2074,8 @@ proto.cc.arduino.cli.commands.v1.UpdateIndexRequest.prototype.toObject = functio proto.cc.arduino.cli.commands.v1.UpdateIndexRequest.toObject = function(includeInstance, msg) { var f, obj = { instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), - ignoreCustomPackageIndexes: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) + ignoreCustomPackageIndexes: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), + updateIfOlderThanSecs: jspb.Message.getFieldWithDefault(msg, 3, 0) }; if (includeInstance) { @@ -1963,6 +2121,10 @@ proto.cc.arduino.cli.commands.v1.UpdateIndexRequest.deserializeBinaryFromReader var value = /** @type {boolean} */ (reader.readBool()); msg.setIgnoreCustomPackageIndexes(value); break; + case 3: + var value = /** @type {number} */ (reader.readInt64()); + msg.setUpdateIfOlderThanSecs(value); + break; default: reader.skipField(); break; @@ -2007,6 +2169,13 @@ proto.cc.arduino.cli.commands.v1.UpdateIndexRequest.serializeBinaryToWriter = fu f ); } + f = message.getUpdateIfOlderThanSecs(); + if (f !== 0) { + writer.writeInt64( + 3, + f + ); + } }; @@ -2065,6 +2234,50 @@ proto.cc.arduino.cli.commands.v1.UpdateIndexRequest.prototype.setIgnoreCustomPac }; +/** + * optional int64 update_if_older_than_secs = 3; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexRequest.prototype.getUpdateIfOlderThanSecs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexRequest.prototype.setUpdateIfOlderThanSecs = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + DOWNLOAD_PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.oneofGroups_[0])); +}; @@ -2097,7 +2310,8 @@ proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.toObject = functi */ proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.toObject = function(includeInstance, msg) { var f, obj = { - downloadProgress: (f = msg.getDownloadProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f) + downloadProgress: (f = msg.getDownloadProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -2139,6 +2353,11 @@ proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.deserializeBinaryFromReader reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.DownloadProgress.deserializeBinaryFromReader); msg.setDownloadProgress(value); break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -2176,46 +2395,24 @@ proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.serializeBinaryToWriter = f cc_arduino_cli_commands_v1_common_pb.DownloadProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.serializeBinaryToWriter + ); + } }; -/** - * optional DownloadProgress download_progress = 1; - * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} - */ -proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.getDownloadProgress = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); -}; - - -/** - * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.setDownloadProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.clearDownloadProgress = function() { - return this.setDownloadProgress(undefined); -}; - /** - * Returns whether this field is set. - * @return {boolean} + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.hasDownloadProgress = function() { - return jspb.Message.getField(this, 1) != null; -}; - - +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.repeatedFields_ = [1]; @@ -2232,8 +2429,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.toObject(opt_includeInstance, this); }; @@ -2242,13 +2439,14 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.toObject = function(includeInstance, msg) { var f, obj = { - instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f) + updatedIndexesList: jspb.Message.toObjectList(msg.getUpdatedIndexesList(), + proto.cc.arduino.cli.commands.v1.IndexUpdateReport.toObject, includeInstance) }; if (includeInstance) { @@ -2262,23 +2460,23 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.toObject = function /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest; - return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result; + return proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2286,9 +2484,9 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinaryFr var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.Instance; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); - msg.setInstance(value); + var value = new proto.cc.arduino.cli.commands.v1.IndexUpdateReport; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.IndexUpdateReport.deserializeBinaryFromReader); + msg.addUpdatedIndexes(value); break; default: reader.skipField(); @@ -2303,9 +2501,9 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinaryFr * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2313,57 +2511,132 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.serialize /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getInstance(); - if (f != null) { - writer.writeMessage( + f = message.getUpdatedIndexesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter + proto.cc.arduino.cli.commands.v1.IndexUpdateReport.serializeBinaryToWriter ); } }; /** - * optional Instance instance = 1; - * @return {?proto.cc.arduino.cli.commands.v1.Instance} + * repeated IndexUpdateReport updated_indexes = 1; + * @return {!Array} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.getInstance = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.Instance} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Instance, 1)); +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.prototype.getUpdatedIndexesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.IndexUpdateReport, 1)); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.Instance|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} returns this + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} returns this */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.setInstance = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.prototype.setUpdatedIndexesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} returns this + * @param {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.clearInstance = function() { - return this.setInstance(undefined); +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.prototype.addUpdatedIndexes = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.IndexUpdateReport, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} returns this */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.hasInstance = function() { - return jspb.Message.getField(this, 1) != null; +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.prototype.clearUpdatedIndexesList = function() { + return this.setUpdatedIndexesList([]); +}; + + +/** + * optional DownloadProgress download_progress = 1; + * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.getDownloadProgress = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.setDownloadProgress = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.clearDownloadProgress = function() { + return this.setDownloadProgress(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.hasDownloadProgress = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.UpdateIndexResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.UpdateIndexResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; }; @@ -2383,8 +2656,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.toObject(opt_includeInstance, this); }; @@ -2393,13 +2666,14 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.toObject * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.toObject = function(includeInstance, msg) { var f, obj = { - downloadProgress: (f = msg.getDownloadProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f) + instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), + updateIfOlderThanSecs: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -2413,23 +2687,23 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.toObject = functio /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse; - return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest; + return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2437,9 +2711,13 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinaryF var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.DownloadProgress; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.DownloadProgress.deserializeBinaryFromReader); - msg.setDownloadProgress(value); + var value = new cc_arduino_cli_commands_v1_common_pb.Instance; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); + msg.setInstance(value); + break; + case 2: + var value = /** @type {number} */ (reader.readInt64()); + msg.setUpdateIfOlderThanSecs(value); break; default: reader.skipField(); @@ -2454,9 +2732,9 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinaryF * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2464,48 +2742,55 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.serializ /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDownloadProgress(); + f = message.getInstance(); if (f != null) { writer.writeMessage( 1, f, - cc_arduino_cli_commands_v1_common_pb.DownloadProgress.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter + ); + } + f = message.getUpdateIfOlderThanSecs(); + if (f !== 0) { + writer.writeInt64( + 2, + f ); } }; /** - * optional DownloadProgress download_progress = 1; - * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} + * optional Instance instance = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Instance} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.getDownloadProgress = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.getInstance = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Instance} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Instance, 1)); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} returns this + * @param {?proto.cc.arduino.cli.commands.v1.Instance|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} returns this */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.setDownloadProgress = function(value) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.setInstance = function(value) { return jspb.Message.setWrapperField(this, 1, value); }; /** * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} returns this */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.clearDownloadProgress = function() { - return this.setDownloadProgress(undefined); +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.clearInstance = function() { + return this.setInstance(undefined); }; @@ -2513,11 +2798,55 @@ proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.clearDow * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.hasDownloadProgress = function() { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.hasInstance = function() { return jspb.Message.getField(this, 1) != null; }; +/** + * optional int64 update_if_older_than_secs = 2; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.getUpdateIfOlderThanSecs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.prototype.setUpdateIfOlderThanSecs = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + DOWNLOAD_PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.oneofGroups_[0])); +}; @@ -2534,8 +2863,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.VersionRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.VersionRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.toObject(opt_includeInstance, this); }; @@ -2544,13 +2873,14 @@ proto.cc.arduino.cli.commands.v1.VersionRequest.prototype.toObject = function(op * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.VersionRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.VersionRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.toObject = function(includeInstance, msg) { var f, obj = { - + downloadProgress: (f = msg.getDownloadProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -2564,29 +2894,39 @@ proto.cc.arduino.cli.commands.v1.VersionRequest.toObject = function(includeInsta /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.VersionRequest} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} */ -proto.cc.arduino.cli.commands.v1.VersionRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.VersionRequest; - return proto.cc.arduino.cli.commands.v1.VersionRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse; + return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.VersionRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.VersionRequest} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} */ -proto.cc.arduino.cli.commands.v1.VersionRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { + case 1: + var value = new cc_arduino_cli_commands_v1_common_pb.DownloadProgress; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.DownloadProgress.deserializeBinaryFromReader); + msg.setDownloadProgress(value); + break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -2600,9 +2940,9 @@ proto.cc.arduino.cli.commands.v1.VersionRequest.deserializeBinaryFromReader = fu * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.VersionRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.VersionRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2610,12 +2950,28 @@ proto.cc.arduino.cli.commands.v1.VersionRequest.prototype.serializeBinary = func /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.VersionRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.VersionRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; + f = message.getDownloadProgress(); + if (f != null) { + writer.writeMessage( + 1, + f, + cc_arduino_cli_commands_v1_common_pb.DownloadProgress.serializeBinaryToWriter + ); + } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.serializeBinaryToWriter + ); + } }; @@ -2635,8 +2991,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.VersionResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.toObject(opt_includeInstance, this); }; @@ -2645,13 +3001,13 @@ proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.toObject = function(o * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.VersionResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.VersionResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.toObject = function(includeInstance, msg) { var f, obj = { - version: jspb.Message.getFieldWithDefault(msg, 1, "") + librariesIndex: (f = msg.getLibrariesIndex()) && proto.cc.arduino.cli.commands.v1.IndexUpdateReport.toObject(includeInstance, f) }; if (includeInstance) { @@ -2665,23 +3021,23 @@ proto.cc.arduino.cli.commands.v1.VersionResponse.toObject = function(includeInst /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.VersionResponse} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} */ -proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.VersionResponse; - return proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result; + return proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.VersionResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.VersionResponse} + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} */ -proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2689,8 +3045,9 @@ proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinaryFromReader = f var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setVersion(value); + var value = new proto.cc.arduino.cli.commands.v1.IndexUpdateReport; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.IndexUpdateReport.deserializeBinaryFromReader); + msg.setLibrariesIndex(value); break; default: reader.skipField(); @@ -2705,9 +3062,9 @@ proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinaryFromReader = f * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.VersionResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2715,44 +3072,138 @@ proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.serializeBinary = fun /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.VersionResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.VersionResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getVersion(); - if (f.length > 0) { - writer.writeString( + f = message.getLibrariesIndex(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.cc.arduino.cli.commands.v1.IndexUpdateReport.serializeBinaryToWriter ); } }; /** - * optional string version = 1; - * @return {string} + * optional IndexUpdateReport libraries_index = 1; + * @return {?proto.cc.arduino.cli.commands.v1.IndexUpdateReport} */ -proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.getVersion = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.prototype.getLibrariesIndex = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.IndexUpdateReport} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.IndexUpdateReport, 1)); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.VersionResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.setVersion = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); + * @param {?proto.cc.arduino.cli.commands.v1.IndexUpdateReport|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} returns this +*/ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.prototype.setLibrariesIndex = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} returns this + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.prototype.clearLibrariesIndex = function() { + return this.setLibrariesIndex(undefined); +}; + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.prototype.hasLibrariesIndex = function() { + return jspb.Message.getField(this, 1) != null; +}; -if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * optional DownloadProgress download_progress = 1; + * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.getDownloadProgress = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.setDownloadProgress = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.clearDownloadProgress = function() { + return this.setDownloadProgress(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.hasDownloadProgress = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. @@ -2765,8 +3216,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.NewSketchRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.IndexUpdateReport.toObject(opt_includeInstance, this); }; @@ -2775,15 +3226,14 @@ proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.toObject = function( * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.toObject = function(includeInstance, msg) { var f, obj = { - sketchName: jspb.Message.getFieldWithDefault(msg, 2, ""), - sketchDir: jspb.Message.getFieldWithDefault(msg, 3, ""), - overwrite: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) + indexUrl: jspb.Message.getFieldWithDefault(msg, 1, ""), + status: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -2797,40 +3247,36 @@ proto.cc.arduino.cli.commands.v1.NewSketchRequest.toObject = function(includeIns /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} + * @return {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.NewSketchRequest; - return proto.cc.arduino.cli.commands.v1.NewSketchRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.IndexUpdateReport; + return proto.cc.arduino.cli.commands.v1.IndexUpdateReport.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} + * @return {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setSketchName(value); - break; - case 3: + case 1: var value = /** @type {string} */ (reader.readString()); - msg.setSketchDir(value); + msg.setIndexUrl(value); break; - case 4: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setOverwrite(value); + case 2: + var value = /** @type {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport.Status} */ (reader.readEnum()); + msg.setStatus(value); break; default: reader.skipField(); @@ -2845,9 +3291,9 @@ proto.cc.arduino.cli.commands.v1.NewSketchRequest.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.NewSketchRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.IndexUpdateReport.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2855,30 +3301,23 @@ proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.serializeBinary = fu /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSketchName(); + f = message.getIndexUrl(); if (f.length > 0) { writer.writeString( - 2, - f - ); - } - f = message.getSketchDir(); - if (f.length > 0) { - writer.writeString( - 3, + 1, f ); } - f = message.getOverwrite(); - if (f) { - writer.writeBool( - 4, + f = message.getStatus(); + if (f !== 0.0) { + writer.writeEnum( + 2, f ); } @@ -2886,56 +3325,49 @@ proto.cc.arduino.cli.commands.v1.NewSketchRequest.serializeBinaryToWriter = func /** - * optional string sketch_name = 2; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.getSketchName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} returns this + * @enum {number} */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.setSketchName = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.Status = { + STATUS_UNSPECIFIED: 0, + STATUS_UPDATED: 1, + STATUS_ALREADY_UP_TO_DATE: 2, + STATUS_FAILED: 3, + STATUS_SKIPPED: 4 }; - /** - * optional string sketch_dir = 3; + * optional string index_url = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.getSketchDir = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.prototype.getIndexUrl = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} returns this */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.setSketchDir = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.prototype.setIndexUrl = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional bool overwrite = 4; - * @return {boolean} + * optional Status status = 2; + * @return {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport.Status} */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.getOverwrite = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.prototype.getStatus = function() { + return /** @type {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport.Status} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} returns this + * @param {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport.Status} value + * @return {!proto.cc.arduino.cli.commands.v1.IndexUpdateReport} returns this */ -proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.setOverwrite = function(value) { - return jspb.Message.setProto3BooleanField(this, 4, value); +proto.cc.arduino.cli.commands.v1.IndexUpdateReport.prototype.setStatus = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); }; @@ -2955,8 +3387,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.NewSketchResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.VersionRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.VersionRequest.toObject(opt_includeInstance, this); }; @@ -2965,13 +3397,13 @@ proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.toObject = function * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.VersionRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.VersionRequest.toObject = function(includeInstance, msg) { var f, obj = { - mainFile: jspb.Message.getFieldWithDefault(msg, 1, "") + }; if (includeInstance) { @@ -2985,33 +3417,29 @@ proto.cc.arduino.cli.commands.v1.NewSketchResponse.toObject = function(includeIn /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} + * @return {!proto.cc.arduino.cli.commands.v1.VersionRequest} */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.VersionRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.NewSketchResponse; - return proto.cc.arduino.cli.commands.v1.NewSketchResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.VersionRequest; + return proto.cc.arduino.cli.commands.v1.VersionRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.VersionRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} + * @return {!proto.cc.arduino.cli.commands.v1.VersionRequest} */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.VersionRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setMainFile(value); - break; default: reader.skipField(); break; @@ -3025,9 +3453,9 @@ proto.cc.arduino.cli.commands.v1.NewSketchResponse.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.VersionRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.NewSketchResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.VersionRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3035,37 +3463,12 @@ proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.serializeBinary = f /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.VersionRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.VersionRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getMainFile(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } -}; - - -/** - * optional string main_file = 1; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.getMainFile = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.setMainFile = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); }; @@ -3085,8 +3488,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.LoadSketchRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.VersionResponse.toObject(opt_includeInstance, this); }; @@ -3095,13 +3498,13 @@ proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.toObject = function * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.VersionResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.VersionResponse.toObject = function(includeInstance, msg) { var f, obj = { - sketchPath: jspb.Message.getFieldWithDefault(msg, 2, "") + version: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -3115,32 +3518,32 @@ proto.cc.arduino.cli.commands.v1.LoadSketchRequest.toObject = function(includeIn /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} + * @return {!proto.cc.arduino.cli.commands.v1.VersionResponse} */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.LoadSketchRequest; - return proto.cc.arduino.cli.commands.v1.LoadSketchRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.VersionResponse; + return proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.VersionResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} + * @return {!proto.cc.arduino.cli.commands.v1.VersionResponse} */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.VersionResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 2: + case 1: var value = /** @type {string} */ (reader.readString()); - msg.setSketchPath(value); + msg.setVersion(value); break; default: reader.skipField(); @@ -3155,9 +3558,9 @@ proto.cc.arduino.cli.commands.v1.LoadSketchRequest.deserializeBinaryFromReader = * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.LoadSketchRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.VersionResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3165,16 +3568,16 @@ proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.serializeBinary = f /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.VersionResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.VersionResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSketchPath(); + f = message.getVersion(); if (f.length > 0) { writer.writeString( - 2, + 1, f ); } @@ -3182,20 +3585,20 @@ proto.cc.arduino.cli.commands.v1.LoadSketchRequest.serializeBinaryToWriter = fun /** - * optional string sketch_path = 2; + * optional string version = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.getSketchPath = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.getVersion = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.VersionResponse} returns this */ -proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.setSketchPath = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.cc.arduino.cli.commands.v1.VersionResponse.prototype.setVersion = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; @@ -3215,8 +3618,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.LoadSketchResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.NewSketchRequest.toObject(opt_includeInstance, this); }; @@ -3225,13 +3628,15 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.toObject = functio * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.NewSketchRequest.toObject = function(includeInstance, msg) { var f, obj = { - sketch: (f = msg.getSketch()) && cc_arduino_cli_commands_v1_common_pb.Sketch.toObject(includeInstance, f) + sketchName: jspb.Message.getFieldWithDefault(msg, 2, ""), + sketchDir: jspb.Message.getFieldWithDefault(msg, 3, ""), + overwrite: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; if (includeInstance) { @@ -3245,33 +3650,40 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.toObject = function(includeI /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.NewSketchRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.LoadSketchResponse; - return proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.NewSketchRequest; + return proto.cc.arduino.cli.commands.v1.NewSketchRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.NewSketchRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.Sketch; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Sketch.deserializeBinaryFromReader); - msg.setSketch(value); + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setSketchName(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setSketchDir(value); + break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setOverwrite(value); break; default: reader.skipField(); @@ -3286,9 +3698,9 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinaryFromReader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.LoadSketchResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.NewSketchRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3296,57 +3708,87 @@ proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.serializeBinary = /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.NewSketchRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSketch(); - if (f != null) { - writer.writeMessage( - 1, - f, - cc_arduino_cli_commands_v1_common_pb.Sketch.serializeBinaryToWriter + f = message.getSketchName(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getSketchDir(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getOverwrite(); + if (f) { + writer.writeBool( + 4, + f ); } }; /** - * optional Sketch sketch = 1; - * @return {?proto.cc.arduino.cli.commands.v1.Sketch} + * optional string sketch_name = 2; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getSketch = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.Sketch} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Sketch, 1)); +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.getSketchName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.Sketch|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setSketch = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.setSketchName = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this + * optional string sketch_dir = 3; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearSketch = function() { - return this.setSketch(undefined); +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.getSketchDir = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * Returns whether this field is set. + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.setSketchDir = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional bool overwrite = 4; * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.hasSketch = function() { - return jspb.Message.getField(this, 1) != null; +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.getOverwrite = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.NewSketchRequest.prototype.setOverwrite = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); }; @@ -3366,8 +3808,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.NewSketchResponse.toObject(opt_includeInstance, this); }; @@ -3376,16 +3818,13 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.toObject = funct * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.NewSketchResponse.toObject = function(includeInstance, msg) { var f, obj = { - sketchPath: jspb.Message.getFieldWithDefault(msg, 1, ""), - archivePath: jspb.Message.getFieldWithDefault(msg, 2, ""), - includeBuildDir: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - overwrite: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) + mainFile: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -3399,23 +3838,23 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.toObject = function(includ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.NewSketchResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest; - return proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.NewSketchResponse; + return proto.cc.arduino.cli.commands.v1.NewSketchResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.NewSketchResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3424,19 +3863,7 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinaryFromReade switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setSketchPath(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setArchivePath(value); - break; - case 3: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setIncludeBuildDir(value); - break; - case 4: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setOverwrite(value); + msg.setMainFile(value); break; default: reader.skipField(); @@ -3451,9 +3878,9 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinaryFromReade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.NewSketchResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3461,112 +3888,167 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.NewSketchResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getSketchPath(); + f = message.getMainFile(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getArchivePath(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getIncludeBuildDir(); - if (f) { - writer.writeBool( - 3, - f - ); - } - f = message.getOverwrite(); - if (f) { - writer.writeBool( - 4, - f - ); - } }; /** - * optional string sketch_path = 1; + * optional string main_file = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getSketchPath = function() { +proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.getMainFile = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.NewSketchResponse} returns this */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setSketchPath = function(value) { +proto.cc.arduino.cli.commands.v1.NewSketchResponse.prototype.setMainFile = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; -/** - * optional string archive_path = 2; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getArchivePath = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setArchivePath = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LoadSketchRequest.toObject(opt_includeInstance, this); }; /** - * optional bool include_build_dir = 3; - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getIncludeBuildDir = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.toObject = function(includeInstance, msg) { + var f, obj = { + sketchPath: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setIncludeBuildDir = function(value) { - return jspb.Message.setProto3BooleanField(this, 3, value); +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.LoadSketchRequest; + return proto.cc.arduino.cli.commands.v1.LoadSketchRequest.deserializeBinaryFromReader(msg, reader); }; /** - * optional bool overwrite = 4; - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getOverwrite = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setSketchPath(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {boolean} value - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setOverwrite = function(value) { - return jspb.Message.setProto3BooleanField(this, 4, value); +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.LoadSketchRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getSketchPath(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string sketch_path = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.getSketchPath = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.LoadSketchRequest.prototype.setSketchPath = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -3586,8 +4068,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LoadSketchResponse.toObject(opt_includeInstance, this); }; @@ -3596,13 +4078,13 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.toObject = function(includeInstance, msg) { var f, obj = { - + sketch: (f = msg.getSketch()) && cc_arduino_cli_commands_v1_common_pb.Sketch.toObject(includeInstance, f) }; if (includeInstance) { @@ -3616,29 +4098,34 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} + * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse; - return proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.LoadSketchResponse; + return proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} + * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { + case 1: + var value = new cc_arduino_cli_commands_v1_common_pb.Sketch; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Sketch.deserializeBinaryFromReader); + msg.setSketch(value); + break; default: reader.skipField(); break; @@ -3652,9 +4139,9 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.LoadSketchResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3662,12 +4149,57 @@ proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; + f = message.getSketch(); + if (f != null) { + writer.writeMessage( + 1, + f, + cc_arduino_cli_commands_v1_common_pb.Sketch.serializeBinaryToWriter + ); + } +}; + + +/** + * optional Sketch sketch = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Sketch} + */ +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.getSketch = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Sketch} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Sketch, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Sketch|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.setSketch = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.LoadSketchResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.clearSketch = function() { + return this.setSketch(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LoadSketchResponse.prototype.hasSketch = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -3687,8 +4219,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.toObject(opt_includeInstance, this); }; @@ -3697,16 +4229,16 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.toObject = function(includeInstance, msg) { var f, obj = { sketchPath: jspb.Message.getFieldWithDefault(msg, 1, ""), - defaultFqbn: jspb.Message.getFieldWithDefault(msg, 2, ""), - defaultPortAddress: jspb.Message.getFieldWithDefault(msg, 3, ""), - defaultPortProtocol: jspb.Message.getFieldWithDefault(msg, 4, "") + archivePath: jspb.Message.getFieldWithDefault(msg, 2, ""), + includeBuildDir: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), + overwrite: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; if (includeInstance) { @@ -3720,23 +4252,23 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest; - return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest; + return proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3749,15 +4281,15 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinaryFromR break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setDefaultFqbn(value); + msg.setArchivePath(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setDefaultPortAddress(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setIncludeBuildDir(value); break; case 4: - var value = /** @type {string} */ (reader.readString()); - msg.setDefaultPortProtocol(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setOverwrite(value); break; default: reader.skipField(); @@ -3772,9 +4304,9 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3782,11 +4314,11 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getSketchPath(); if (f.length > 0) { @@ -3795,23 +4327,23 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.serializeBinaryToWrite f ); } - f = message.getDefaultFqbn(); + f = message.getArchivePath(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getDefaultPortAddress(); - if (f.length > 0) { - writer.writeString( + f = message.getIncludeBuildDir(); + if (f) { + writer.writeBool( 3, f ); } - f = message.getDefaultPortProtocol(); - if (f.length > 0) { - writer.writeString( + f = message.getOverwrite(); + if (f) { + writer.writeBool( 4, f ); @@ -3823,71 +4355,71 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.serializeBinaryToWrite * optional string sketch_path = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getSketchPath = function() { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getSketchPath = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setSketchPath = function(value) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setSketchPath = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string default_fqbn = 2; + * optional string archive_path = 2; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getDefaultFqbn = function() { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getArchivePath = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setDefaultFqbn = function(value) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setArchivePath = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string default_port_address = 3; - * @return {string} + * optional bool include_build_dir = 3; + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getDefaultPortAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getIncludeBuildDir = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setDefaultPortAddress = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setIncludeBuildDir = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); }; /** - * optional string default_port_protocol = 4; - * @return {string} + * optional bool overwrite = 4; + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getDefaultPortProtocol = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.getOverwrite = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setDefaultPortProtocol = function(value) { - return jspb.Message.setProto3StringField(this, 4, value); +proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest.prototype.setOverwrite = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); }; @@ -3907,8 +4439,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.toObject(opt_includeInstance, this); }; @@ -3917,15 +4449,13 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.toObject = * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.toObject = function(includeInstance, msg) { var f, obj = { - defaultFqbn: jspb.Message.getFieldWithDefault(msg, 1, ""), - defaultPortAddress: jspb.Message.getFieldWithDefault(msg, 2, ""), - defaultPortProtocol: jspb.Message.getFieldWithDefault(msg, 3, "") + }; if (includeInstance) { @@ -3939,23 +4469,128 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.toObject = function(i /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse; - return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse; + return proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} + * @return {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.toObject = function(includeInstance, msg) { + var f, obj = { + sketchPath: jspb.Message.getFieldWithDefault(msg, 1, ""), + defaultFqbn: jspb.Message.getFieldWithDefault(msg, 2, ""), + defaultPortAddress: jspb.Message.getFieldWithDefault(msg, 3, ""), + defaultPortProtocol: jspb.Message.getFieldWithDefault(msg, 4, ""), + defaultProgrammer: jspb.Message.getFieldWithDefault(msg, 5, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest; + return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3964,16 +4599,24 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinaryFrom switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setDefaultFqbn(value); + msg.setSketchPath(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setDefaultPortAddress(value); + msg.setDefaultFqbn(value); break; case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultPortAddress(value); + break; + case 4: var value = /** @type {string} */ (reader.readString()); msg.setDefaultPortProtocol(value); break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultProgrammer(value); + break; default: reader.skipField(); break; @@ -3987,9 +4630,9 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinaryFrom * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3997,90 +4640,872 @@ proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.serializeBi /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDefaultFqbn(); + f = message.getSketchPath(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getDefaultPortAddress(); + f = message.getDefaultFqbn(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getDefaultPortProtocol(); + f = message.getDefaultPortAddress(); if (f.length > 0) { writer.writeString( 3, f ); } + f = message.getDefaultPortProtocol(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } + f = message.getDefaultProgrammer(); + if (f.length > 0) { + writer.writeString( + 5, + f + ); + } }; /** - * optional string default_fqbn = 1; + * optional string sketch_path = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.getDefaultFqbn = function() { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getSketchPath = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.setDefaultFqbn = function(value) { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setSketchPath = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string default_port_address = 2; + * optional string default_fqbn = 2; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.getDefaultPortAddress = function() { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getDefaultFqbn = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.setDefaultPortAddress = function(value) { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setDefaultFqbn = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string default_port_protocol = 3; + * optional string default_port_address = 3; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.getDefaultPortProtocol = function() { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getDefaultPortAddress = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.setDefaultPortProtocol = function(value) { +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setDefaultPortAddress = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; +/** + * optional string default_port_protocol = 4; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getDefaultPortProtocol = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setDefaultPortProtocol = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); +}; + + +/** + * optional string default_programmer = 5; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.getDefaultProgrammer = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsRequest.prototype.setDefaultProgrammer = function(value) { + return jspb.Message.setProto3StringField(this, 5, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + defaultFqbn: jspb.Message.getFieldWithDefault(msg, 1, ""), + defaultPortAddress: jspb.Message.getFieldWithDefault(msg, 2, ""), + defaultPortProtocol: jspb.Message.getFieldWithDefault(msg, 3, ""), + defaultProgrammer: jspb.Message.getFieldWithDefault(msg, 4, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse; + return proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultFqbn(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultPortAddress(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultPortProtocol(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultProgrammer(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDefaultFqbn(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getDefaultPortAddress(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getDefaultPortProtocol(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getDefaultProgrammer(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } +}; + + +/** + * optional string default_fqbn = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.getDefaultFqbn = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.setDefaultFqbn = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string default_port_address = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.getDefaultPortAddress = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.setDefaultPortAddress = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string default_port_protocol = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.getDefaultPortProtocol = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.setDefaultPortProtocol = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional string default_programmer = 4; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.getDefaultProgrammer = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.SetSketchDefaultsResponse.prototype.setDefaultProgrammer = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + forceCheck: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest; + return proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setForceCheck(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getForceCheck(); + if (f) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool force_check = 1; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.prototype.getForceCheck = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest.prototype.setForceCheck = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.toObject = function(includeInstance, msg) { + var f, obj = { + newestVersion: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse; + return proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setNewestVersion(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getNewestVersion(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string newest_version = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.prototype.getNewestVersion = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse.prototype.setNewestVersion = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.toObject = function(includeInstance, msg) { + var f, obj = { + instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest; + return proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new cc_arduino_cli_commands_v1_common_pb.Instance; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); + msg.setInstance(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getInstance(); + if (f != null) { + writer.writeMessage( + 1, + f, + cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter + ); + } +}; + + +/** + * optional Instance instance = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Instance} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.prototype.getInstance = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Instance} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Instance, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Instance|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest} returns this +*/ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.prototype.setInstance = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.prototype.clearInstance = function() { + return this.setInstance(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.prototype.hasInstance = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse; + return proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + /** * @enum {number} */ diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts index 686aaddc7..5cfa42a8a 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts @@ -318,10 +318,10 @@ export class PlatformRelease extends jspb.Message { setName(value: string): PlatformRelease; getVersion(): string; setVersion(value: string): PlatformRelease; - clearTypeList(): void; - getTypeList(): Array; - setTypeList(value: Array): PlatformRelease; - addType(value: string, index?: number): string; + clearTypesList(): void; + getTypesList(): Array; + setTypesList(value: Array): PlatformRelease; + addTypes(value: string, index?: number): string; getInstalled(): boolean; setInstalled(value: boolean): PlatformRelease; clearBoardsList(): void; @@ -354,7 +354,7 @@ export namespace PlatformRelease { export type AsObject = { name: string, version: string, - typeList: Array, + typesList: Array, installed: boolean, boardsList: Array, help?: HelpResources.AsObject, @@ -416,29 +416,6 @@ export namespace Board { } } -export class Profile extends jspb.Message { - getName(): string; - setName(value: string): Profile; - getFqbn(): string; - setFqbn(value: string): Profile; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Profile.AsObject; - static toObject(includeInstance: boolean, msg: Profile): Profile.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: Profile, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Profile; - static deserializeBinaryFromReader(message: Profile, reader: jspb.BinaryReader): Profile; -} - -export namespace Profile { - export type AsObject = { - name: string, - fqbn: string, - } -} - export class HelpResources extends jspb.Message { getOnline(): string; setOnline(value: string): HelpResources; @@ -491,6 +468,8 @@ export class Sketch extends jspb.Message { clearDefaultProfile(): void; getDefaultProfile(): SketchProfile | undefined; setDefaultProfile(value?: SketchProfile): Sketch; + getDefaultProgrammer(): string; + setDefaultProgrammer(value: string): Sketch; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): Sketch.AsObject; @@ -514,6 +493,7 @@ export namespace Sketch { defaultProtocol: string, profilesList: Array, defaultProfile?: SketchProfile.AsObject, + defaultProgrammer: string, } } @@ -522,6 +502,8 @@ export class SketchProfile extends jspb.Message { setName(value: string): SketchProfile; getFqbn(): string; setFqbn(value: string): SketchProfile; + getProgrammer(): string; + setProgrammer(value: string): SketchProfile; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): SketchProfile.AsObject; @@ -537,5 +519,6 @@ export namespace SketchProfile { export type AsObject = { name: string, fqbn: string, + programmer: string, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js index d30df0410..79d1e7660 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js @@ -35,7 +35,6 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Platform', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformMetadata', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformRelease', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformSummary', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Profile', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Programmer', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Sketch', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SketchProfile', null, global); @@ -334,27 +333,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.Board.displayName = 'proto.cc.arduino.cli.commands.v1.Board'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.cc.arduino.cli.commands.v1.Profile = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.cc.arduino.cli.commands.v1.Profile, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.Profile.displayName = 'proto.cc.arduino.cli.commands.v1.Profile'; -} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -2616,7 +2594,7 @@ proto.cc.arduino.cli.commands.v1.PlatformRelease.toObject = function(includeInst var f, obj = { name: jspb.Message.getFieldWithDefault(msg, 1, ""), version: jspb.Message.getFieldWithDefault(msg, 2, ""), - typeList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f, + typesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f, installed: jspb.Message.getBooleanFieldWithDefault(msg, 4, false), boardsList: jspb.Message.toObjectList(msg.getBoardsList(), proto.cc.arduino.cli.commands.v1.Board.toObject, includeInstance), @@ -2670,7 +2648,7 @@ proto.cc.arduino.cli.commands.v1.PlatformRelease.deserializeBinaryFromReader = f break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.addType(value); + msg.addTypes(value); break; case 4: var value = /** @type {boolean} */ (reader.readBool()); @@ -2741,7 +2719,7 @@ proto.cc.arduino.cli.commands.v1.PlatformRelease.serializeBinaryToWriter = funct f ); } - f = message.getTypeList(); + f = message.getTypesList(); if (f.length > 0) { writer.writeRepeatedString( 3, @@ -2832,10 +2810,10 @@ proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setVersion = function /** - * repeated string type = 3; + * repeated string types = 3; * @return {!Array} */ -proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getTypeList = function() { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getTypesList = function() { return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3)); }; @@ -2844,7 +2822,7 @@ proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.getTypeList = functio * @param {!Array} value * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setTypeList = function(value) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setTypesList = function(value) { return jspb.Message.setField(this, 3, value || []); }; @@ -2854,7 +2832,7 @@ proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.setTypeList = functio * @param {number=} opt_index * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.addType = function(value, opt_index) { +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.addTypes = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 3, value, opt_index); }; @@ -2863,8 +2841,8 @@ proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.addType = function(va * Clears the list making it empty but non-null. * @return {!proto.cc.arduino.cli.commands.v1.PlatformRelease} returns this */ -proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.clearTypeList = function() { - return this.setTypeList([]); +proto.cc.arduino.cli.commands.v1.PlatformRelease.prototype.clearTypesList = function() { + return this.setTypesList([]); }; @@ -3398,166 +3376,6 @@ proto.cc.arduino.cli.commands.v1.Board.prototype.setFqbn = function(value) { -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.Profile.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.Profile} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.Profile.toObject = function(includeInstance, msg) { - var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.Profile} - */ -proto.cc.arduino.cli.commands.v1.Profile.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.Profile; - return proto.cc.arduino.cli.commands.v1.Profile.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.Profile} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.Profile} - */ -proto.cc.arduino.cli.commands.v1.Profile.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setName(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setFqbn(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.Profile.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.Profile} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.Profile.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getName(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getFqbn(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } -}; - - -/** - * optional string name = 1; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.getName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Profile} returns this - */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.setName = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string fqbn = 2; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.getFqbn = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.Profile} returns this - */ -proto.cc.arduino.cli.commands.v1.Profile.prototype.setFqbn = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - - - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3734,7 +3552,8 @@ proto.cc.arduino.cli.commands.v1.Sketch.toObject = function(includeInstance, msg defaultProtocol: jspb.Message.getFieldWithDefault(msg, 8, ""), profilesList: jspb.Message.toObjectList(msg.getProfilesList(), proto.cc.arduino.cli.commands.v1.SketchProfile.toObject, includeInstance), - defaultProfile: (f = msg.getDefaultProfile()) && proto.cc.arduino.cli.commands.v1.SketchProfile.toObject(includeInstance, f) + defaultProfile: (f = msg.getDefaultProfile()) && proto.cc.arduino.cli.commands.v1.SketchProfile.toObject(includeInstance, f), + defaultProgrammer: jspb.Message.getFieldWithDefault(msg, 11, "") }; if (includeInstance) { @@ -3813,6 +3632,10 @@ proto.cc.arduino.cli.commands.v1.Sketch.deserializeBinaryFromReader = function(m reader.readMessage(value,proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader); msg.setDefaultProfile(value); break; + case 11: + var value = /** @type {string} */ (reader.readString()); + msg.setDefaultProgrammer(value); + break; default: reader.skipField(); break; @@ -3914,6 +3737,13 @@ proto.cc.arduino.cli.commands.v1.Sketch.serializeBinaryToWriter = function(messa proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter ); } + f = message.getDefaultProgrammer(); + if (f.length > 0) { + writer.writeString( + 11, + f + ); + } }; @@ -4193,6 +4023,24 @@ proto.cc.arduino.cli.commands.v1.Sketch.prototype.hasDefaultProfile = function() }; +/** + * optional string default_programmer = 11; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getDefaultProgrammer = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setDefaultProgrammer = function(value) { + return jspb.Message.setProto3StringField(this, 11, value); +}; + + @@ -4226,7 +4074,8 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.toObject = function(opt proto.cc.arduino.cli.commands.v1.SketchProfile.toObject = function(includeInstance, msg) { var f, obj = { name: jspb.Message.getFieldWithDefault(msg, 1, ""), - fqbn: jspb.Message.getFieldWithDefault(msg, 2, "") + fqbn: jspb.Message.getFieldWithDefault(msg, 2, ""), + programmer: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -4271,6 +4120,10 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader = fun var value = /** @type {string} */ (reader.readString()); msg.setFqbn(value); break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setProgrammer(value); + break; default: reader.skipField(); break; @@ -4314,6 +4167,13 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter = functio f ); } + f = message.getProgrammer(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; @@ -4353,4 +4213,22 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setFqbn = function(valu }; +/** + * optional string programmer = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getProgrammer = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setProgrammer = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + goog.object.extend(exports, proto.cc.arduino.cli.commands.v1); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts index b5e832ec0..f9c202c98 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts @@ -5,7 +5,6 @@ /* eslint-disable */ import * as jspb from "google-protobuf"; -import * as google_protobuf_wrappers_pb from "google-protobuf/google/protobuf/wrappers_pb"; import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb"; import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb"; @@ -57,8 +56,8 @@ export class CompileRequest extends jspb.Message { hasExportBinaries(): boolean; clearExportBinaries(): void; - getExportBinaries(): google_protobuf_wrappers_pb.BoolValue | undefined; - setExportBinaries(value?: google_protobuf_wrappers_pb.BoolValue): CompileRequest; + getExportBinaries(): boolean | undefined; + setExportBinaries(value: boolean): CompileRequest; clearLibraryList(): void; getLibraryList(): Array; setLibraryList(value: Array): CompileRequest; @@ -73,6 +72,10 @@ export class CompileRequest extends jspb.Message { setSkipLibrariesDiscovery(value: boolean): CompileRequest; getDoNotExpandBuildProperties(): boolean; setDoNotExpandBuildProperties(value: boolean): CompileRequest; + clearBuildCacheExtraPathsList(): void; + getBuildCacheExtraPathsList(): Array; + setBuildCacheExtraPathsList(value: Array): CompileRequest; + addBuildCacheExtraPaths(value: string, index?: number): string; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): CompileRequest.AsObject; @@ -105,13 +108,14 @@ export namespace CompileRequest { createCompilationDatabaseOnly: boolean, sourceOverrideMap: Array<[string, string]>, - exportBinaries?: google_protobuf_wrappers_pb.BoolValue.AsObject, + exportBinaries?: boolean, libraryList: Array, keysKeychain: string, signKey: string, encryptKey: string, skipLibrariesDiscovery: boolean, doNotExpandBuildProperties: boolean, + buildCacheExtraPathsList: Array, } } @@ -171,6 +175,23 @@ export namespace CompileResponse { } +export class InstanceNeedsReinitializationError extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): InstanceNeedsReinitializationError.AsObject; + static toObject(includeInstance: boolean, msg: InstanceNeedsReinitializationError): InstanceNeedsReinitializationError.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: InstanceNeedsReinitializationError, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): InstanceNeedsReinitializationError; + static deserializeBinaryFromReader(message: InstanceNeedsReinitializationError, reader: jspb.BinaryReader): InstanceNeedsReinitializationError; +} + +export namespace InstanceNeedsReinitializationError { + export type AsObject = { + } +} + export class BuilderResult extends jspb.Message { getBuildPath(): string; setBuildPath(value: string): BuilderResult; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js index affc77361..0e1782705 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js @@ -21,8 +21,6 @@ var global = (function() { return Function('return this')(); }.call(null)); -var google_protobuf_wrappers_pb = require('google-protobuf/google/protobuf/wrappers_pb.js'); -goog.object.extend(proto, google_protobuf_wrappers_pb); var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb); var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js'); @@ -35,6 +33,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileRequest', null, globa goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CompileResponse.MessageCase', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ExecutableSectionSize', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -77,6 +76,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.CompileResponse.displayName = 'proto.cc.arduino.cli.commands.v1.CompileResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.displayName = 'proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -188,7 +208,7 @@ if (goog.DEBUG && !COMPILED) { * @private {!Array} * @const */ -proto.cc.arduino.cli.commands.v1.CompileRequest.repeatedFields_ = [8,15,24]; +proto.cc.arduino.cli.commands.v1.CompileRequest.repeatedFields_ = [8,15,24,30]; @@ -239,13 +259,14 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.toObject = function(includeInsta clean: jspb.Message.getBooleanFieldWithDefault(msg, 19, false), createCompilationDatabaseOnly: jspb.Message.getBooleanFieldWithDefault(msg, 21, false), sourceOverrideMap: (f = msg.getSourceOverrideMap()) ? f.toObject(includeInstance, undefined) : [], - exportBinaries: (f = msg.getExportBinaries()) && google_protobuf_wrappers_pb.BoolValue.toObject(includeInstance, f), + exportBinaries: jspb.Message.getBooleanFieldWithDefault(msg, 23, false), libraryList: (f = jspb.Message.getRepeatedField(msg, 24)) == null ? undefined : f, keysKeychain: jspb.Message.getFieldWithDefault(msg, 25, ""), signKey: jspb.Message.getFieldWithDefault(msg, 26, ""), encryptKey: jspb.Message.getFieldWithDefault(msg, 27, ""), skipLibrariesDiscovery: jspb.Message.getBooleanFieldWithDefault(msg, 28, false), - doNotExpandBuildProperties: jspb.Message.getBooleanFieldWithDefault(msg, 29, false) + doNotExpandBuildProperties: jspb.Message.getBooleanFieldWithDefault(msg, 29, false), + buildCacheExtraPathsList: (f = jspb.Message.getRepeatedField(msg, 30)) == null ? undefined : f }; if (includeInstance) { @@ -358,8 +379,7 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.deserializeBinaryFromReader = fu }); break; case 23: - var value = new google_protobuf_wrappers_pb.BoolValue; - reader.readMessage(value,google_protobuf_wrappers_pb.BoolValue.deserializeBinaryFromReader); + var value = /** @type {boolean} */ (reader.readBool()); msg.setExportBinaries(value); break; case 24: @@ -386,6 +406,10 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.deserializeBinaryFromReader = fu var value = /** @type {boolean} */ (reader.readBool()); msg.setDoNotExpandBuildProperties(value); break; + case 30: + var value = /** @type {string} */ (reader.readString()); + msg.addBuildCacheExtraPaths(value); + break; default: reader.skipField(); break; @@ -539,12 +563,11 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.serializeBinaryToWriter = functi if (f && f.getLength() > 0) { f.serializeBinary(22, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); } - f = message.getExportBinaries(); + f = /** @type {boolean} */ (jspb.Message.getField(message, 23)); if (f != null) { - writer.writeMessage( + writer.writeBool( 23, - f, - google_protobuf_wrappers_pb.BoolValue.serializeBinaryToWriter + f ); } f = message.getLibraryList(); @@ -589,6 +612,13 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.serializeBinaryToWriter = functi f ); } + f = message.getBuildCacheExtraPathsList(); + if (f.length > 0) { + writer.writeRepeatedString( + 30, + f + ); + } }; @@ -978,30 +1008,29 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.clearSourceOverrideMap /** - * optional google.protobuf.BoolValue export_binaries = 23; - * @return {?proto.google.protobuf.BoolValue} + * optional bool export_binaries = 23; + * @return {boolean} */ proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.getExportBinaries = function() { - return /** @type{?proto.google.protobuf.BoolValue} */ ( - jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BoolValue, 23)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 23, false)); }; /** - * @param {?proto.google.protobuf.BoolValue|undefined} value + * @param {boolean} value * @return {!proto.cc.arduino.cli.commands.v1.CompileRequest} returns this -*/ + */ proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.setExportBinaries = function(value) { - return jspb.Message.setWrapperField(this, 23, value); + return jspb.Message.setField(this, 23, value); }; /** - * Clears the message field making it undefined. + * Clears the field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.CompileRequest} returns this */ proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.clearExportBinaries = function() { - return this.setExportBinaries(undefined); + return jspb.Message.setField(this, 23, undefined); }; @@ -1141,6 +1170,43 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.setDoNotExpandBuildPro }; +/** + * repeated string build_cache_extra_paths = 30; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.getBuildCacheExtraPathsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 30)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.CompileRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.setBuildCacheExtraPathsList = function(value) { + return jspb.Message.setField(this, 30, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.CompileRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.addBuildCacheExtraPaths = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 30, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.CompileRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.clearBuildCacheExtraPathsList = function() { + return this.setBuildCacheExtraPathsList([]); +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -1516,6 +1582,107 @@ proto.cc.arduino.cli.commands.v1.CompileResponse.prototype.hasResult = function( + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError} + */ +proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError; + return proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError} + */ +proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + /** * List of repeated fields within this message type. * @private {!Array} diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts index 89b28e6ee..cd50946ed 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.d.ts @@ -60,6 +60,13 @@ export class PlatformInstallResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): PlatformInstallResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): PlatformInstallResponse.Result | undefined; + setResult(value?: PlatformInstallResponse.Result): PlatformInstallResponse; + + getMessageCase(): PlatformInstallResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): PlatformInstallResponse.AsObject; static toObject(includeInstance: boolean, msg: PlatformInstallResponse): PlatformInstallResponse.AsObject; @@ -74,7 +81,35 @@ export namespace PlatformInstallResponse { export type AsObject = { progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: PlatformInstallResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + PROGRESS = 1, + TASK_PROGRESS = 2, + RESULT = 3, + } + } export class PlatformLoadingError extends jspb.Message { @@ -133,6 +168,13 @@ export class PlatformDownloadResponse extends jspb.Message { getProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined; setProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): PlatformDownloadResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): PlatformDownloadResponse.Result | undefined; + setResult(value?: PlatformDownloadResponse.Result): PlatformDownloadResponse; + + getMessageCase(): PlatformDownloadResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): PlatformDownloadResponse.AsObject; static toObject(includeInstance: boolean, msg: PlatformDownloadResponse): PlatformDownloadResponse.AsObject; @@ -146,7 +188,34 @@ export class PlatformDownloadResponse extends jspb.Message { export namespace PlatformDownloadResponse { export type AsObject = { progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, + result?: PlatformDownloadResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + PROGRESS = 1, + RESULT = 2, + } + } export class PlatformUninstallRequest extends jspb.Message { @@ -188,6 +257,13 @@ export class PlatformUninstallResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): PlatformUninstallResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): PlatformUninstallResponse.Result | undefined; + setResult(value?: PlatformUninstallResponse.Result): PlatformUninstallResponse; + + getMessageCase(): PlatformUninstallResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): PlatformUninstallResponse.AsObject; static toObject(includeInstance: boolean, msg: PlatformUninstallResponse): PlatformUninstallResponse.AsObject; @@ -201,7 +277,34 @@ export class PlatformUninstallResponse extends jspb.Message { export namespace PlatformUninstallResponse { export type AsObject = { taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: PlatformUninstallResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + TASK_PROGRESS = 1, + RESULT = 2, + } + } export class AlreadyAtLatestVersionError extends jspb.Message { @@ -268,10 +371,12 @@ export class PlatformUpgradeResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): PlatformUpgradeResponse; - hasPlatform(): boolean; - clearPlatform(): void; - getPlatform(): cc_arduino_cli_commands_v1_common_pb.Platform | undefined; - setPlatform(value?: cc_arduino_cli_commands_v1_common_pb.Platform): PlatformUpgradeResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): PlatformUpgradeResponse.Result | undefined; + setResult(value?: PlatformUpgradeResponse.Result): PlatformUpgradeResponse; + + getMessageCase(): PlatformUpgradeResponse.MessageCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): PlatformUpgradeResponse.AsObject; @@ -287,8 +392,41 @@ export namespace PlatformUpgradeResponse { export type AsObject = { progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, - platform?: cc_arduino_cli_commands_v1_common_pb.Platform.AsObject, + result?: PlatformUpgradeResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + hasPlatform(): boolean; + clearPlatform(): void; + getPlatform(): cc_arduino_cli_commands_v1_common_pb.Platform | undefined; + setPlatform(value?: cc_arduino_cli_commands_v1_common_pb.Platform): Result; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; } + + export namespace Result { + export type AsObject = { + platform?: cc_arduino_cli_commands_v1_common_pb.Platform.AsObject, + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + PROGRESS = 1, + TASK_PROGRESS = 2, + RESULT = 3, + } + } export class PlatformSearchRequest extends jspb.Message { diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js index 00fe8d64a..86d02942a 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/core_pb.js @@ -26,15 +26,23 @@ goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.AlreadyAtLatestVersionError', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformDownloadRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformInstallRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformInstallResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformLoadingError', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformSearchRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformSearchResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUninstallRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUpgradeRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -67,7 +75,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformInstallResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -77,6 +85,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformInstallResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -130,7 +159,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -140,6 +169,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -172,7 +222,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -182,6 +232,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -235,7 +306,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -245,6 +316,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -619,6 +711,33 @@ proto.cc.arduino.cli.commands.v1.PlatformInstallRequest.prototype.setSkipPreUnin +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.oneofGroups_ = [[1,2,3]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + PROGRESS: 1, + TASK_PROGRESS: 2, + RESULT: 3 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -651,7 +770,8 @@ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.toObject = fu proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.toObject = function(includeInstance, msg) { var f, obj = { progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -698,6 +818,11 @@ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.deserializeBinaryFromRe reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setTaskProgress(value); break; + case 3: + var value = new proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -743,6 +868,115 @@ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.serializeBinaryToWriter cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result; + return proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; @@ -761,7 +995,7 @@ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.getProgress = * @return {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse} returns this */ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.oneofGroups_[0], value); }; @@ -798,7 +1032,7 @@ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.getTaskProgre * @return {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse} returns this */ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 2, value); + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.oneofGroups_[0], value); }; @@ -820,6 +1054,43 @@ proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.hasTaskProgre }; +/** + * optional Result result = 3; + * @return {?proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result, 3)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformInstallResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformInstallResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 3) != null; +}; + + @@ -1163,6 +1434,32 @@ proto.cc.arduino.cli.commands.v1.PlatformDownloadRequest.prototype.setVersion = +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1194,7 +1491,8 @@ proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.toObject = f */ proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.toObject = function(includeInstance, msg) { var f, obj = { - progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f) + progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -1236,6 +1534,11 @@ proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.deserializeBinaryFromR reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.DownloadProgress.deserializeBinaryFromReader); msg.setProgress(value); break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -1273,26 +1576,135 @@ proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.serializeBinaryToWrite cc_arduino_cli_commands_v1_common_pb.DownloadProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.serializeBinaryToWriter + ); + } }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional DownloadProgress progress = 1; - * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.getProgress = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.toObject(opt_includeInstance, this); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result; + return proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + +/** + * optional DownloadProgress progress = 1; + * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.getProgress = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.setProgress = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.oneofGroups_[0], value); +}; /** @@ -1313,6 +1725,43 @@ proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.hasProgress }; +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformDownloadResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; +}; + + @@ -1555,6 +2004,32 @@ proto.cc.arduino.cli.commands.v1.PlatformUninstallRequest.prototype.setSkipPreUn +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + TASK_PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1586,7 +2061,8 @@ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.toObject = */ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.toObject = function(includeInstance, msg) { var f, obj = { - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -1628,6 +2104,11 @@ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.deserializeBinaryFrom reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setTaskProgress(value); break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -1665,6 +2146,115 @@ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.serializeBinaryToWrit cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result; + return proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; @@ -1683,7 +2273,7 @@ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.getTaskProg * @return {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse} returns this */ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.oneofGroups_[0], value); }; @@ -1705,6 +2295,43 @@ proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.hasTaskProg }; +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformUninstallResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; +}; + + @@ -2078,6 +2705,33 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeRequest.prototype.setSkipPreUnin +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.oneofGroups_ = [[1,2,3]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + PROGRESS: 1, + TASK_PROGRESS: 2, + RESULT: 3 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -2111,7 +2765,7 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.toObject = function(inc var f, obj = { progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), - platform: (f = msg.getPlatform()) && cc_arduino_cli_commands_v1_common_pb.Platform.toObject(includeInstance, f) + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -2159,9 +2813,9 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.deserializeBinaryFromRe msg.setTaskProgress(value); break; case 3: - var value = new cc_arduino_cli_commands_v1_common_pb.Platform; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Platform.deserializeBinaryFromReader); - msg.setPlatform(value); + var value = new proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); break; default: reader.skipField(); @@ -2208,17 +2862,168 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.serializeBinaryToWriter cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } - f = message.getPlatform(); + f = message.getResult(); if (f != null) { writer.writeMessage( 3, f, + proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + platform: (f = msg.getPlatform()) && cc_arduino_cli_commands_v1_common_pb.Platform.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result; + return proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new cc_arduino_cli_commands_v1_common_pb.Platform; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Platform.deserializeBinaryFromReader); + msg.setPlatform(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPlatform(); + if (f != null) { + writer.writeMessage( + 1, + f, cc_arduino_cli_commands_v1_common_pb.Platform.serializeBinaryToWriter ); } }; +/** + * optional Platform platform = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Platform} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.prototype.getPlatform = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Platform} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Platform, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Platform|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} returns this +*/ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.prototype.setPlatform = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} returns this + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.prototype.clearPlatform = function() { + return this.setPlatform(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.prototype.hasPlatform = function() { + return jspb.Message.getField(this, 1) != null; +}; + + /** * optional DownloadProgress progress = 1; * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} @@ -2234,7 +3039,7 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.getProgress = * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse} returns this */ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.oneofGroups_[0], value); }; @@ -2271,7 +3076,7 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.getTaskProgre * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse} returns this */ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 2, value); + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.oneofGroups_[0], value); }; @@ -2294,21 +3099,21 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.hasTaskProgre /** - * optional Platform platform = 3; - * @return {?proto.cc.arduino.cli.commands.v1.Platform} + * optional Result result = 3; + * @return {?proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} */ -proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.getPlatform = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.Platform} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Platform, 3)); +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result, 3)); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.Platform|undefined} value + * @param {?proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse} returns this */ -proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.setPlatform = function(value) { - return jspb.Message.setWrapperField(this, 3, value); +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.oneofGroups_[0], value); }; @@ -2316,8 +3121,8 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.setPlatform = * Clears the message field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse} returns this */ -proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.clearPlatform = function() { - return this.setPlatform(undefined); +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.clearResult = function() { + return this.setResult(undefined); }; @@ -2325,7 +3130,7 @@ proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.clearPlatform * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.hasPlatform = function() { +proto.cc.arduino.cli.commands.v1.PlatformUpgradeResponse.prototype.hasResult = function() { return jspb.Message.getField(this, 3) != null; }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts index b37a9d558..d36f20ec2 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts @@ -41,12 +41,20 @@ export namespace DebugRequest { } export class DebugResponse extends jspb.Message { + + hasData(): boolean; + clearData(): void; getData(): Uint8Array | string; getData_asU8(): Uint8Array; getData_asB64(): string; setData(value: Uint8Array | string): DebugResponse; - getError(): string; - setError(value: string): DebugResponse; + + hasResult(): boolean; + clearResult(): void; + getResult(): DebugResponse.Result | undefined; + setResult(value?: DebugResponse.Result): DebugResponse; + + getMessageCase(): DebugResponse.MessageCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): DebugResponse.AsObject; @@ -61,8 +69,37 @@ export class DebugResponse extends jspb.Message { export namespace DebugResponse { export type AsObject = { data: Uint8Array | string, - error: string, + result?: DebugResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + getError(): string; + setError(value: string): Result; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; } + + export namespace Result { + export type AsObject = { + error: string, + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + DATA = 1, + RESULT = 2, + } + } export class IsDebugSupportedRequest extends jspb.Message { diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js index 125c03f2d..e0d781543 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js @@ -31,6 +31,8 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugGCCToolchainConfigurati goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugOpenOCDServerConfiguration', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GetDebugConfigResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest', null, global); @@ -67,7 +69,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.DebugResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.DebugResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -77,6 +79,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.DebugResponse.displayName = 'proto.cc.arduino.cli.commands.v1.DebugResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.DebugResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.DebugResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.DebugResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -439,6 +462,32 @@ proto.cc.arduino.cli.commands.v1.DebugRequest.prototype.setSendInterrupt = funct +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + DATA: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -471,7 +520,7 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.toObject = function(opt proto.cc.arduino.cli.commands.v1.DebugResponse.toObject = function(includeInstance, msg) { var f, obj = { data: msg.getData_asB64(), - error: jspb.Message.getFieldWithDefault(msg, 2, "") + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.DebugResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -513,8 +562,9 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.deserializeBinaryFromReader = fun msg.setData(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setError(value); + var value = new proto.cc.arduino.cli.commands.v1.DebugResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.DebugResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); break; default: reader.skipField(); @@ -545,23 +595,154 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.serializeBinary = funct */ proto.cc.arduino.cli.commands.v1.DebugResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getData_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1)); + if (f != null) { writer.writeBytes( 1, f ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.DebugResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.DebugResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + error: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.DebugResponse.Result; + return proto.cc.arduino.cli.commands.v1.DebugResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setError(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.DebugResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; f = message.getError(); if (f.length > 0) { writer.writeString( - 2, + 1, f ); } }; +/** + * optional string error = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.prototype.getError = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result} returns this + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.Result.prototype.setError = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + /** * optional bytes data = 1; * @return {!(string|Uint8Array)} @@ -600,25 +781,62 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getData_asU8 = function * @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this */ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.setData = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0], value); }; /** - * optional string error = 2; - * @return {string} + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this */ -proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getError = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.clearData = function() { + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0], undefined); }; /** - * @param {string} value + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.hasData = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.DebugResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.DebugResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.DebugResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.DebugResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this */ -proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.setError = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts index ae018a7a3..c5401953e 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.d.ts @@ -43,6 +43,13 @@ export class LibraryDownloadResponse extends jspb.Message { getProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined; setProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): LibraryDownloadResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): LibraryDownloadResponse.Result | undefined; + setResult(value?: LibraryDownloadResponse.Result): LibraryDownloadResponse; + + getMessageCase(): LibraryDownloadResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LibraryDownloadResponse.AsObject; static toObject(includeInstance: boolean, msg: LibraryDownloadResponse): LibraryDownloadResponse.AsObject; @@ -56,7 +63,34 @@ export class LibraryDownloadResponse extends jspb.Message { export namespace LibraryDownloadResponse { export type AsObject = { progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, + result?: LibraryDownloadResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; + } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + PROGRESS = 1, + RESULT = 2, } + } export class LibraryInstallRequest extends jspb.Message { @@ -109,6 +143,13 @@ export class LibraryInstallResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryInstallResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): LibraryInstallResponse.Result | undefined; + setResult(value?: LibraryInstallResponse.Result): LibraryInstallResponse; + + getMessageCase(): LibraryInstallResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LibraryInstallResponse.AsObject; static toObject(includeInstance: boolean, msg: LibraryInstallResponse): LibraryInstallResponse.AsObject; @@ -123,7 +164,35 @@ export namespace LibraryInstallResponse { export type AsObject = { progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: LibraryInstallResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; + } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + PROGRESS = 1, + TASK_PROGRESS = 2, + RESULT = 3, } + } export class LibraryUpgradeRequest extends jspb.Message { @@ -167,6 +236,13 @@ export class LibraryUpgradeResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryUpgradeResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): LibraryUpgradeResponse.Result | undefined; + setResult(value?: LibraryUpgradeResponse.Result): LibraryUpgradeResponse; + + getMessageCase(): LibraryUpgradeResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LibraryUpgradeResponse.AsObject; static toObject(includeInstance: boolean, msg: LibraryUpgradeResponse): LibraryUpgradeResponse.AsObject; @@ -181,7 +257,35 @@ export namespace LibraryUpgradeResponse { export type AsObject = { progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: LibraryUpgradeResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; + } + + export namespace Result { + export type AsObject = { + } } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + PROGRESS = 1, + TASK_PROGRESS = 2, + RESULT = 3, + } + } export class LibraryUninstallRequest extends jspb.Message { @@ -220,6 +324,13 @@ export class LibraryUninstallResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryUninstallResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): LibraryUninstallResponse.Result | undefined; + setResult(value?: LibraryUninstallResponse.Result): LibraryUninstallResponse; + + getMessageCase(): LibraryUninstallResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LibraryUninstallResponse.AsObject; static toObject(includeInstance: boolean, msg: LibraryUninstallResponse): LibraryUninstallResponse.AsObject; @@ -233,7 +344,34 @@ export class LibraryUninstallResponse extends jspb.Message { export namespace LibraryUninstallResponse { export type AsObject = { taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: LibraryUninstallResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + TASK_PROGRESS = 1, + RESULT = 2, + } + } export class LibraryUpgradeAllRequest extends jspb.Message { @@ -271,6 +409,13 @@ export class LibraryUpgradeAllResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryUpgradeAllResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): LibraryUpgradeAllResponse.Result | undefined; + setResult(value?: LibraryUpgradeAllResponse.Result): LibraryUpgradeAllResponse; + + getMessageCase(): LibraryUpgradeAllResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LibraryUpgradeAllResponse.AsObject; static toObject(includeInstance: boolean, msg: LibraryUpgradeAllResponse): LibraryUpgradeAllResponse.AsObject; @@ -285,7 +430,35 @@ export namespace LibraryUpgradeAllResponse { export type AsObject = { progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject, taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: LibraryUpgradeAllResponse.Result.AsObject, } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; + } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + PROGRESS = 1, + TASK_PROGRESS = 2, + RESULT = 3, + } + } export class LibraryResolveDependenciesRequest extends jspb.Message { @@ -809,6 +982,13 @@ export class ZipLibraryInstallResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): ZipLibraryInstallResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): ZipLibraryInstallResponse.Result | undefined; + setResult(value?: ZipLibraryInstallResponse.Result): ZipLibraryInstallResponse; + + getMessageCase(): ZipLibraryInstallResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): ZipLibraryInstallResponse.AsObject; static toObject(includeInstance: boolean, msg: ZipLibraryInstallResponse): ZipLibraryInstallResponse.AsObject; @@ -822,7 +1002,34 @@ export class ZipLibraryInstallResponse extends jspb.Message { export namespace ZipLibraryInstallResponse { export type AsObject = { taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: ZipLibraryInstallResponse.Result.AsObject, + } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + TASK_PROGRESS = 1, + RESULT = 2, + } + } export class GitLibraryInstallRequest extends jspb.Message { @@ -861,6 +1068,13 @@ export class GitLibraryInstallResponse extends jspb.Message { getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined; setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): GitLibraryInstallResponse; + hasResult(): boolean; + clearResult(): void; + getResult(): GitLibraryInstallResponse.Result | undefined; + setResult(value?: GitLibraryInstallResponse.Result): GitLibraryInstallResponse; + + getMessageCase(): GitLibraryInstallResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GitLibraryInstallResponse.AsObject; static toObject(includeInstance: boolean, msg: GitLibraryInstallResponse): GitLibraryInstallResponse.AsObject; @@ -874,7 +1088,34 @@ export class GitLibraryInstallResponse extends jspb.Message { export namespace GitLibraryInstallResponse { export type AsObject = { taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject, + result?: GitLibraryInstallResponse.Result.AsObject, } + + + export class Result extends jspb.Message { + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Result.AsObject; + static toObject(includeInstance: boolean, msg: Result): Result.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Result; + static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result; + } + + export namespace Result { + export type AsObject = { + } + } + + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + TASK_PROGRESS = 1, + RESULT = 2, + } + } export enum LibraryInstallLocation { diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js index 53d6a21b0..74e4f2818 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/lib_pb.js @@ -26,15 +26,21 @@ goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DownloadResource', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GitLibraryInstallRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.InstalledLibrary', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Library', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDependency', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDependencyStatus', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDownloadRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallLocation', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryLayout', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryListRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryListResponse', null, global); @@ -47,13 +53,21 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibrarySearchResponse', null goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibrarySearchStatus', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SearchedLibrary', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ZipLibraryInstallRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.MessageCase', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -86,7 +100,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -96,6 +110,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -128,7 +163,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryInstallResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -138,6 +173,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryInstallResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -170,7 +226,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -180,6 +236,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -212,7 +289,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -222,6 +299,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -254,7 +352,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -264,6 +362,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -569,7 +688,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -579,6 +698,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.displayName = 'proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -611,7 +751,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -621,6 +761,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.displayName = 'proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result'; +} @@ -833,6 +994,32 @@ proto.cc.arduino.cli.commands.v1.LibraryDownloadRequest.prototype.setVersion = f +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -864,7 +1051,8 @@ proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.toObject = fu */ proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.toObject = function(includeInstance, msg) { var f, obj = { - progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f) + progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -906,6 +1094,11 @@ proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.deserializeBinaryFromRe reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.DownloadProgress.deserializeBinaryFromReader); msg.setProgress(value); break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -943,43 +1136,14 @@ proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.serializeBinaryToWriter cc_arduino_cli_commands_v1_common_pb.DownloadProgress.serializeBinaryToWriter ); } -}; - - -/** - * optional DownloadProgress progress = 1; - * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} - */ -proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.getProgress = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); -}; - - -/** - * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value - * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse} returns this -*/ -proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse} returns this - */ -proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.clearProgress = function() { - return this.setProgress(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.hasProgress = function() { - return jspb.Message.getField(this, 1) != null; + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.serializeBinaryToWriter + ); + } }; @@ -999,8 +1163,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.toObject(opt_includeInstance, this); }; @@ -1009,18 +1173,13 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.toObject = function(includeInstance, msg) { var f, obj = { - instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), - name: jspb.Message.getFieldWithDefault(msg, 2, ""), - version: jspb.Message.getFieldWithDefault(msg, 3, ""), - noDeps: jspb.Message.getBooleanFieldWithDefault(msg, 4, false), - noOverwrite: jspb.Message.getBooleanFieldWithDefault(msg, 5, false), - installLocation: jspb.Message.getFieldWithDefault(msg, 6, 0) + }; if (includeInstance) { @@ -1034,54 +1193,29 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} + * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result} */ -proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.LibraryInstallRequest; - return proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result; + return proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} + * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result} */ -proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.Instance; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); - msg.setInstance(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setName(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setVersion(value); - break; - case 4: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setNoDeps(value); - break; - case 5: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setNoOverwrite(value); - break; - case 6: - var value = /** @type {!proto.cc.arduino.cli.commands.v1.LibraryInstallLocation} */ (reader.readEnum()); - msg.setInstallLocation(value); - break; default: reader.skipField(); break; @@ -1095,9 +1229,9 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1105,29 +1239,234 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getInstance(); - if (f != null) { - writer.writeMessage( - 1, - f, - cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter - ); - } - f = message.getName(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getVersion(); - if (f.length > 0) { +}; + + +/** + * optional DownloadProgress progress = 1; + * @return {?proto.cc.arduino.cli.commands.v1.DownloadProgress} + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.getProgress = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.DownloadProgress} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.DownloadProgress, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.setProgress = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.clearProgress = function() { + return this.setProgress(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.hasProgress = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.toObject = function(includeInstance, msg) { + var f, obj = { + instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), + name: jspb.Message.getFieldWithDefault(msg, 2, ""), + version: jspb.Message.getFieldWithDefault(msg, 3, ""), + noDeps: jspb.Message.getBooleanFieldWithDefault(msg, 4, false), + noOverwrite: jspb.Message.getBooleanFieldWithDefault(msg, 5, false), + installLocation: jspb.Message.getFieldWithDefault(msg, 6, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.LibraryInstallRequest; + return proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new cc_arduino_cli_commands_v1_common_pb.Instance; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); + msg.setInstance(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setVersion(value); + break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setNoDeps(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setNoOverwrite(value); + break; + case 6: + var value = /** @type {!proto.cc.arduino.cli.commands.v1.LibraryInstallLocation} */ (reader.readEnum()); + msg.setInstallLocation(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getInstance(); + if (f != null) { + writer.writeMessage( + 1, + f, + cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter + ); + } + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getVersion(); + if (f.length > 0) { writer.writeString( 3, f @@ -1285,6 +1624,33 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.setInstallLocat +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.oneofGroups_ = [[1,2,3]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + PROGRESS: 1, + TASK_PROGRESS: 2, + RESULT: 3 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1317,7 +1683,8 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.toObject = fun proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.toObject = function(includeInstance, msg) { var f, obj = { progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -1364,6 +1731,11 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.deserializeBinaryFromRea reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setTaskProgress(value); break; + case 3: + var value = new proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -1409,6 +1781,115 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.serializeBinaryToWriter cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result; + return proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; @@ -1426,8 +1907,45 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.getProgress = * @param {?proto.cc.arduino.cli.commands.v1.DownloadProgress|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse} returns this */ -proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.setProgress = function(value) { + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.clearProgress = function() { + return this.setProgress(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.hasProgress = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional TaskProgress task_progress = 2; + * @return {?proto.cc.arduino.cli.commands.v1.TaskProgress} + */ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.getTaskProgress = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.TaskProgress} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.TaskProgress, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.TaskProgress|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.setTaskProgress = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.oneofGroups_[0], value); }; @@ -1435,8 +1953,8 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.setProgress = * Clears the message field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse} returns this */ -proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.clearProgress = function() { - return this.setProgress(undefined); +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.clearTaskProgress = function() { + return this.setTaskProgress(undefined); }; @@ -1444,27 +1962,27 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.clearProgress * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.hasProgress = function() { - return jspb.Message.getField(this, 1) != null; +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.hasTaskProgress = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional TaskProgress task_progress = 2; - * @return {?proto.cc.arduino.cli.commands.v1.TaskProgress} + * optional Result result = 3; + * @return {?proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result} */ -proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.getTaskProgress = function() { - return /** @type{?proto.cc.arduino.cli.commands.v1.TaskProgress} */ ( - jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.TaskProgress, 2)); +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result, 3)); }; /** - * @param {?proto.cc.arduino.cli.commands.v1.TaskProgress|undefined} value + * @param {?proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.Result|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse} returns this */ -proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 2, value); +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.oneofGroups_[0], value); }; @@ -1472,8 +1990,8 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.setTaskProgres * Clears the message field making it undefined. * @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallResponse} returns this */ -proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.clearTaskProgress = function() { - return this.setTaskProgress(undefined); +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.clearResult = function() { + return this.setResult(undefined); }; @@ -1481,8 +1999,8 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.clearTaskProgr * Returns whether this field is set. * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.hasTaskProgress = function() { - return jspb.Message.getField(this, 2) != null; +proto.cc.arduino.cli.commands.v1.LibraryInstallResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 3) != null; }; @@ -1698,6 +2216,33 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeRequest.prototype.setNoDeps = fun +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.oneofGroups_ = [[1,2,3]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + PROGRESS: 1, + TASK_PROGRESS: 2, + RESULT: 3 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1730,7 +2275,8 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.toObject = fun proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.toObject = function(includeInstance, msg) { var f, obj = { progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -1777,6 +2323,11 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.deserializeBinaryFromRea reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setTaskProgress(value); break; + case 3: + var value = new proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -1822,6 +2373,115 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.serializeBinaryToWriter cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result; + return proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; @@ -1840,7 +2500,7 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.getProgress = * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse} returns this */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.oneofGroups_[0], value); }; @@ -1877,7 +2537,7 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.getTaskProgres * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse} returns this */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 2, value); + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.oneofGroups_[0], value); }; @@ -1899,6 +2559,43 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.hasTaskProgres }; +/** + * optional Result result = 3; + * @return {?proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result, 3)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 3) != null; +}; + + @@ -2093,20 +2790,174 @@ proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest.prototype.setName = fun /** - * optional string version = 3; - * @return {string} + * optional string version = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest.prototype.getVersion = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest.prototype.setVersion = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + TASK_PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.oneofGroups_[0])); +}; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.toObject = function(includeInstance, msg) { + var f, obj = { + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse; + return proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new cc_arduino_cli_commands_v1_common_pb.TaskProgress; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); + msg.setTaskProgress(value); + break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest.prototype.getVersion = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallRequest.prototype.setVersion = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getTaskProgress(); + if (f != null) { + writer.writeMessage( + 1, + f, + cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter + ); + } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.serializeBinaryToWriter + ); + } }; @@ -2126,8 +2977,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.toObject(opt_includeInstance, this); }; @@ -2136,13 +2987,13 @@ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.toObject = function(includeInstance, msg) { var f, obj = { - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + }; if (includeInstance) { @@ -2156,34 +3007,29 @@ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result} */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse; - return proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result; + return proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result} */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = new cc_arduino_cli_commands_v1_common_pb.TaskProgress; - reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); - msg.setTaskProgress(value); - break; default: reader.skipField(); break; @@ -2197,9 +3043,9 @@ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2207,20 +3053,12 @@ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getTaskProgress(); - if (f != null) { - writer.writeMessage( - 1, - f, - cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter - ); - } }; @@ -2239,7 +3077,7 @@ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.getTaskProgr * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} returns this */ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.oneofGroups_[0], value); }; @@ -2261,6 +3099,43 @@ proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.hasTaskProgr }; +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LibraryUninstallResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; +}; + + @@ -2413,6 +3288,33 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest.prototype.hasInstance +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.oneofGroups_ = [[1,2,3]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + PROGRESS: 1, + TASK_PROGRESS: 2, + RESULT: 3 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -2445,7 +3347,8 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.toObject = proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.toObject = function(includeInstance, msg) { var f, obj = { progress: (f = msg.getProgress()) && cc_arduino_cli_commands_v1_common_pb.DownloadProgress.toObject(includeInstance, f), - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -2492,6 +3395,11 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.deserializeBinaryFrom reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setTaskProgress(value); break; + case 3: + var value = new proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -2537,6 +3445,115 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.serializeBinaryToWrit cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result; + return proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; @@ -2555,7 +3572,7 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.getProgress * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse} returns this */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.setProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.oneofGroups_[0], value); }; @@ -2592,7 +3609,7 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.getTaskProg * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse} returns this */ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 2, value); + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.oneofGroups_[0], value); }; @@ -2614,6 +3631,43 @@ proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.hasTaskProg }; +/** + * optional Result result = 3; + * @return {?proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result, 3)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 3) != null; +}; + + @@ -6698,6 +7752,32 @@ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallRequest.prototype.setOverwrite +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + TASK_PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -6729,7 +7809,8 @@ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.toObject = */ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.toObject = function(includeInstance, msg) { var f, obj = { - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -6771,6 +7852,11 @@ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.deserializeBinaryFrom reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setTaskProgress(value); break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -6808,6 +7894,115 @@ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.serializeBinaryToWrit cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result; + return proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; @@ -6826,7 +8021,7 @@ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.getTaskProg * @return {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse} returns this */ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.oneofGroups_[0], value); }; @@ -6848,6 +8043,43 @@ proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.hasTaskProg }; +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; +}; + + @@ -7060,6 +8292,32 @@ proto.cc.arduino.cli.commands.v1.GitLibraryInstallRequest.prototype.setOverwrite +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.oneofGroups_ = [[1,2]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + TASK_PROGRESS: 1, + RESULT: 2 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -7091,7 +8349,8 @@ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.toObject = */ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.toObject = function(includeInstance, msg) { var f, obj = { - taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f) + taskProgress: (f = msg.getTaskProgress()) && cc_arduino_cli_commands_v1_common_pb.TaskProgress.toObject(includeInstance, f), + result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.toObject(includeInstance, f) }; if (includeInstance) { @@ -7133,6 +8392,11 @@ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.deserializeBinaryFrom reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.TaskProgress.deserializeBinaryFromReader); msg.setTaskProgress(value); break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.deserializeBinaryFromReader); + msg.setResult(value); + break; default: reader.skipField(); break; @@ -7170,6 +8434,115 @@ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.serializeBinaryToWrit cc_arduino_cli_commands_v1_common_pb.TaskProgress.serializeBinaryToWriter ); } + f = message.getResult(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result; + return proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result.serializeBinaryToWriter = function(message, writer) { + var f = undefined; }; @@ -7188,7 +8561,7 @@ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.getTaskProg * @return {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse} returns this */ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.setTaskProgress = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.oneofGroups_[0], value); }; @@ -7210,6 +8583,43 @@ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.hasTaskProg }; +/** + * optional Result result = 2; + * @return {?proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.getResult = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.setResult = function(value) { + return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.clearResult = function() { + return this.setResult(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.hasResult = function() { + return jspb.Message.getField(this, 2) != null; +}; + + /** * @enum {number} */ diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts index 2e298b4c8..8f6fefdd7 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts @@ -123,19 +123,31 @@ export namespace MonitorPortConfiguration { } export class MonitorResponse extends jspb.Message { + + hasError(): boolean; + clearError(): void; getError(): string; setError(value: string): MonitorResponse; + + hasRxData(): boolean; + clearRxData(): void; getRxData(): Uint8Array | string; getRxData_asU8(): Uint8Array; getRxData_asB64(): string; setRxData(value: Uint8Array | string): MonitorResponse; - clearAppliedSettingsList(): void; - getAppliedSettingsList(): Array; - setAppliedSettingsList(value: Array): MonitorResponse; - addAppliedSettings(value?: MonitorPortSetting, index?: number): MonitorPortSetting; + + hasAppliedSettings(): boolean; + clearAppliedSettings(): void; + getAppliedSettings(): MonitorPortConfiguration | undefined; + setAppliedSettings(value?: MonitorPortConfiguration): MonitorResponse; + + hasSuccess(): boolean; + clearSuccess(): void; getSuccess(): boolean; setSuccess(value: boolean): MonitorResponse; + getMessageCase(): MonitorResponse.MessageCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): MonitorResponse.AsObject; static toObject(includeInstance: boolean, msg: MonitorResponse): MonitorResponse.AsObject; @@ -150,9 +162,18 @@ export namespace MonitorResponse { export type AsObject = { error: string, rxData: Uint8Array | string, - appliedSettingsList: Array, + appliedSettings?: MonitorPortConfiguration.AsObject, success: boolean, } + + export enum MessageCase { + MESSAGE_NOT_SET = 0, + ERROR = 1, + RX_DATA = 2, + APPLIED_SETTINGS = 3, + SUCCESS = 4, + } + } export class MonitorPortSetting extends jspb.Message { diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js index 24f22a3fb..893592ea4 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js @@ -34,6 +34,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -108,7 +109,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.MonitorResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.MonitorResponse.repeatedFields_, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_); }; goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -997,11 +998,32 @@ proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.clearSetting /** - * List of repeated fields within this message type. - * @private {!Array} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} * @const */ -proto.cc.arduino.cli.commands.v1.MonitorResponse.repeatedFields_ = [3]; +proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_ = [[1,2,3,4]]; + +/** + * @enum {number} + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase = { + MESSAGE_NOT_SET: 0, + ERROR: 1, + RX_DATA: 2, + APPLIED_SETTINGS: 3, + SUCCESS: 4 +}; + +/** + * @return {proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase} + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getMessageCase = function() { + return /** @type {proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0])); +}; @@ -1036,8 +1058,7 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.toObject = function(includeInst var f, obj = { error: jspb.Message.getFieldWithDefault(msg, 1, ""), rxData: msg.getRxData_asB64(), - appliedSettingsList: jspb.Message.toObjectList(msg.getAppliedSettingsList(), - proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject, includeInstance), + appliedSettings: (f = msg.getAppliedSettings()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f), success: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; @@ -1084,9 +1105,9 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.deserializeBinaryFromReader = f msg.setRxData(value); break; case 3: - var value = new proto.cc.arduino.cli.commands.v1.MonitorPortSetting; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader); - msg.addAppliedSettings(value); + var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); + msg.setAppliedSettings(value); break; case 4: var value = /** @type {boolean} */ (reader.readBool()); @@ -1121,30 +1142,30 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.serializeBinary = fun */ proto.cc.arduino.cli.commands.v1.MonitorResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getError(); - if (f.length > 0) { + f = /** @type {string} */ (jspb.Message.getField(message, 1)); + if (f != null) { writer.writeString( 1, f ); } - f = message.getRxData_asU8(); - if (f.length > 0) { + f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2)); + if (f != null) { writer.writeBytes( 2, f ); } - f = message.getAppliedSettingsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( + f = message.getAppliedSettings(); + if (f != null) { + writer.writeMessage( 3, f, - proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter + proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter ); } - f = message.getSuccess(); - if (f) { + f = /** @type {boolean} */ (jspb.Message.getField(message, 4)); + if (f != null) { writer.writeBool( 4, f @@ -1167,7 +1188,25 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getError = function() * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this */ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setError = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearError = function() { + return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasError = function() { + return jspb.Message.getField(this, 1) != null; }; @@ -1209,45 +1248,62 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getRxData_asU8 = func * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this */ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setRxData = function(value) { - return jspb.Message.setProto3BytesField(this, 2, value); + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value); }; /** - * repeated MonitorPortSetting applied_settings = 3; - * @return {!Array} + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getAppliedSettingsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, 3)); +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearRxData = function() { + return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], undefined); }; /** - * @param {!Array} value + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasRxData = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional MonitorPortConfiguration applied_settings = 3; + * @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getAppliedSettings = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 3)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setAppliedSettingsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 3, value); +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setAppliedSettings = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value); }; /** - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting=} opt_value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this */ -proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.addAppliedSettings = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, opt_index); +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearAppliedSettings = function() { + return this.setAppliedSettings(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearAppliedSettingsList = function() { - return this.setAppliedSettingsList([]); +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasAppliedSettings = function() { + return jspb.Message.getField(this, 3) != null; }; @@ -1265,7 +1321,25 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getSuccess = function * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this */ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setSuccess = function(value) { - return jspb.Message.setProto3BooleanField(this, 4, value); + return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearSuccess = function() { + return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasSuccess = function() { + return jspb.Message.getField(this, 4) != null; }; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts index b960375a5..0ce3d8a8e 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.d.ts @@ -6,112 +6,481 @@ import * as jspb from "google-protobuf"; -export class SettingsGetAllResponse extends jspb.Message { - getJsonData(): string; - setJsonData(value: string): SettingsGetAllResponse; +export class Configuration extends jspb.Message { + + hasDirectories(): boolean; + clearDirectories(): void; + getDirectories(): Configuration.Directories | undefined; + setDirectories(value?: Configuration.Directories): Configuration; + + hasNetwork(): boolean; + clearNetwork(): void; + getNetwork(): Configuration.Network | undefined; + setNetwork(value?: Configuration.Network): Configuration; + + hasSketch(): boolean; + clearSketch(): void; + getSketch(): Configuration.Sketch | undefined; + setSketch(value?: Configuration.Sketch): Configuration; + + hasBuildCache(): boolean; + clearBuildCache(): void; + getBuildCache(): Configuration.BuildCache | undefined; + setBuildCache(value?: Configuration.BuildCache): Configuration; + + hasBoardManager(): boolean; + clearBoardManager(): void; + getBoardManager(): Configuration.BoardManager | undefined; + setBoardManager(value?: Configuration.BoardManager): Configuration; + + hasDaemon(): boolean; + clearDaemon(): void; + getDaemon(): Configuration.Daemon | undefined; + setDaemon(value?: Configuration.Daemon): Configuration; + + hasOutput(): boolean; + clearOutput(): void; + getOutput(): Configuration.Output | undefined; + setOutput(value?: Configuration.Output): Configuration; + + hasLogging(): boolean; + clearLogging(): void; + getLogging(): Configuration.Logging | undefined; + setLogging(value?: Configuration.Logging): Configuration; + + hasLibrary(): boolean; + clearLibrary(): void; + getLibrary(): Configuration.Library | undefined; + setLibrary(value?: Configuration.Library): Configuration; + + hasUpdater(): boolean; + clearUpdater(): void; + getUpdater(): Configuration.Updater | undefined; + setUpdater(value?: Configuration.Updater): Configuration; + + hasLocale(): boolean; + clearLocale(): void; + getLocale(): string | undefined; + setLocale(value: string): Configuration; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsGetAllResponse.AsObject; - static toObject(includeInstance: boolean, msg: SettingsGetAllResponse): SettingsGetAllResponse.AsObject; + toObject(includeInstance?: boolean): Configuration.AsObject; + static toObject(includeInstance: boolean, msg: Configuration): Configuration.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsGetAllResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsGetAllResponse; - static deserializeBinaryFromReader(message: SettingsGetAllResponse, reader: jspb.BinaryReader): SettingsGetAllResponse; + static serializeBinaryToWriter(message: Configuration, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Configuration; + static deserializeBinaryFromReader(message: Configuration, reader: jspb.BinaryReader): Configuration; } -export namespace SettingsGetAllResponse { +export namespace Configuration { export type AsObject = { - jsonData: string, + directories?: Configuration.Directories.AsObject, + network?: Configuration.Network.AsObject, + sketch?: Configuration.Sketch.AsObject, + buildCache?: Configuration.BuildCache.AsObject, + boardManager?: Configuration.BoardManager.AsObject, + daemon?: Configuration.Daemon.AsObject, + output?: Configuration.Output.AsObject, + logging?: Configuration.Logging.AsObject, + library?: Configuration.Library.AsObject, + updater?: Configuration.Updater.AsObject, + locale?: string, } + + + export class Directories extends jspb.Message { + getData(): string; + setData(value: string): Directories; + getUser(): string; + setUser(value: string): Directories; + getDownloads(): string; + setDownloads(value: string): Directories; + + hasBuiltin(): boolean; + clearBuiltin(): void; + getBuiltin(): Configuration.Directories.Builtin | undefined; + setBuiltin(value?: Configuration.Directories.Builtin): Directories; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Directories.AsObject; + static toObject(includeInstance: boolean, msg: Directories): Directories.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Directories, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Directories; + static deserializeBinaryFromReader(message: Directories, reader: jspb.BinaryReader): Directories; + } + + export namespace Directories { + export type AsObject = { + data: string, + user: string, + downloads: string, + builtin?: Configuration.Directories.Builtin.AsObject, + } + + + export class Builtin extends jspb.Message { + + hasLibraries(): boolean; + clearLibraries(): void; + getLibraries(): string | undefined; + setLibraries(value: string): Builtin; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Builtin.AsObject; + static toObject(includeInstance: boolean, msg: Builtin): Builtin.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Builtin, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Builtin; + static deserializeBinaryFromReader(message: Builtin, reader: jspb.BinaryReader): Builtin; + } + + export namespace Builtin { + export type AsObject = { + libraries?: string, + } + } + + } + + export class Network extends jspb.Message { + + hasExtraUserAgent(): boolean; + clearExtraUserAgent(): void; + getExtraUserAgent(): string | undefined; + setExtraUserAgent(value: string): Network; + + hasProxy(): boolean; + clearProxy(): void; + getProxy(): string | undefined; + setProxy(value: string): Network; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Network.AsObject; + static toObject(includeInstance: boolean, msg: Network): Network.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Network, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Network; + static deserializeBinaryFromReader(message: Network, reader: jspb.BinaryReader): Network; + } + + export namespace Network { + export type AsObject = { + extraUserAgent?: string, + proxy?: string, + } + } + + export class Sketch extends jspb.Message { + getAlwaysExportBinaries(): boolean; + setAlwaysExportBinaries(value: boolean): Sketch; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Sketch.AsObject; + static toObject(includeInstance: boolean, msg: Sketch): Sketch.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Sketch, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Sketch; + static deserializeBinaryFromReader(message: Sketch, reader: jspb.BinaryReader): Sketch; + } + + export namespace Sketch { + export type AsObject = { + alwaysExportBinaries: boolean, + } + } + + export class BuildCache extends jspb.Message { + getCompilationsBeforePurge(): number; + setCompilationsBeforePurge(value: number): BuildCache; + getTtlSecs(): number; + setTtlSecs(value: number): BuildCache; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): BuildCache.AsObject; + static toObject(includeInstance: boolean, msg: BuildCache): BuildCache.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: BuildCache, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): BuildCache; + static deserializeBinaryFromReader(message: BuildCache, reader: jspb.BinaryReader): BuildCache; + } + + export namespace BuildCache { + export type AsObject = { + compilationsBeforePurge: number, + ttlSecs: number, + } + } + + export class BoardManager extends jspb.Message { + clearAdditionalUrlsList(): void; + getAdditionalUrlsList(): Array; + setAdditionalUrlsList(value: Array): BoardManager; + addAdditionalUrls(value: string, index?: number): string; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): BoardManager.AsObject; + static toObject(includeInstance: boolean, msg: BoardManager): BoardManager.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: BoardManager, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): BoardManager; + static deserializeBinaryFromReader(message: BoardManager, reader: jspb.BinaryReader): BoardManager; + } + + export namespace BoardManager { + export type AsObject = { + additionalUrlsList: Array, + } + } + + export class Daemon extends jspb.Message { + getPort(): string; + setPort(value: string): Daemon; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Daemon.AsObject; + static toObject(includeInstance: boolean, msg: Daemon): Daemon.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Daemon, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Daemon; + static deserializeBinaryFromReader(message: Daemon, reader: jspb.BinaryReader): Daemon; + } + + export namespace Daemon { + export type AsObject = { + port: string, + } + } + + export class Output extends jspb.Message { + getNoColor(): boolean; + setNoColor(value: boolean): Output; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Output.AsObject; + static toObject(includeInstance: boolean, msg: Output): Output.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Output, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Output; + static deserializeBinaryFromReader(message: Output, reader: jspb.BinaryReader): Output; + } + + export namespace Output { + export type AsObject = { + noColor: boolean, + } + } + + export class Logging extends jspb.Message { + getLevel(): string; + setLevel(value: string): Logging; + getFormat(): string; + setFormat(value: string): Logging; + + hasFile(): boolean; + clearFile(): void; + getFile(): string | undefined; + setFile(value: string): Logging; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Logging.AsObject; + static toObject(includeInstance: boolean, msg: Logging): Logging.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Logging, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Logging; + static deserializeBinaryFromReader(message: Logging, reader: jspb.BinaryReader): Logging; + } + + export namespace Logging { + export type AsObject = { + level: string, + format: string, + file?: string, + } + } + + export class Library extends jspb.Message { + getEnableUnsafeInstall(): boolean; + setEnableUnsafeInstall(value: boolean): Library; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Library.AsObject; + static toObject(includeInstance: boolean, msg: Library): Library.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Library, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Library; + static deserializeBinaryFromReader(message: Library, reader: jspb.BinaryReader): Library; + } + + export namespace Library { + export type AsObject = { + enableUnsafeInstall: boolean, + } + } + + export class Updater extends jspb.Message { + getEnableNotification(): boolean; + setEnableNotification(value: boolean): Updater; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Updater.AsObject; + static toObject(includeInstance: boolean, msg: Updater): Updater.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Updater, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Updater; + static deserializeBinaryFromReader(message: Updater, reader: jspb.BinaryReader): Updater; + } + + export namespace Updater { + export type AsObject = { + enableNotification: boolean, + } + } + } -export class SettingsMergeRequest extends jspb.Message { - getJsonData(): string; - setJsonData(value: string): SettingsMergeRequest; +export class ConfigurationGetRequest extends jspb.Message { serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsMergeRequest.AsObject; - static toObject(includeInstance: boolean, msg: SettingsMergeRequest): SettingsMergeRequest.AsObject; + toObject(includeInstance?: boolean): ConfigurationGetRequest.AsObject; + static toObject(includeInstance: boolean, msg: ConfigurationGetRequest): ConfigurationGetRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsMergeRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsMergeRequest; - static deserializeBinaryFromReader(message: SettingsMergeRequest, reader: jspb.BinaryReader): SettingsMergeRequest; + static serializeBinaryToWriter(message: ConfigurationGetRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConfigurationGetRequest; + static deserializeBinaryFromReader(message: ConfigurationGetRequest, reader: jspb.BinaryReader): ConfigurationGetRequest; } -export namespace SettingsMergeRequest { +export namespace ConfigurationGetRequest { export type AsObject = { - jsonData: string, } } -export class SettingsGetValueResponse extends jspb.Message { - getKey(): string; - setKey(value: string): SettingsGetValueResponse; - getJsonData(): string; - setJsonData(value: string): SettingsGetValueResponse; +export class ConfigurationGetResponse extends jspb.Message { + + hasConfiguration(): boolean; + clearConfiguration(): void; + getConfiguration(): Configuration | undefined; + setConfiguration(value?: Configuration): ConfigurationGetResponse; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsGetValueResponse.AsObject; - static toObject(includeInstance: boolean, msg: SettingsGetValueResponse): SettingsGetValueResponse.AsObject; + toObject(includeInstance?: boolean): ConfigurationGetResponse.AsObject; + static toObject(includeInstance: boolean, msg: ConfigurationGetResponse): ConfigurationGetResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsGetValueResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsGetValueResponse; - static deserializeBinaryFromReader(message: SettingsGetValueResponse, reader: jspb.BinaryReader): SettingsGetValueResponse; + static serializeBinaryToWriter(message: ConfigurationGetResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConfigurationGetResponse; + static deserializeBinaryFromReader(message: ConfigurationGetResponse, reader: jspb.BinaryReader): ConfigurationGetResponse; } -export namespace SettingsGetValueResponse { +export namespace ConfigurationGetResponse { export type AsObject = { - key: string, - jsonData: string, + configuration?: Configuration.AsObject, } } -export class SettingsSetValueRequest extends jspb.Message { - getKey(): string; - setKey(value: string): SettingsSetValueRequest; - getJsonData(): string; - setJsonData(value: string): SettingsSetValueRequest; +export class ConfigurationSaveRequest extends jspb.Message { + getSettingsFormat(): string; + setSettingsFormat(value: string): ConfigurationSaveRequest; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsSetValueRequest.AsObject; - static toObject(includeInstance: boolean, msg: SettingsSetValueRequest): SettingsSetValueRequest.AsObject; + toObject(includeInstance?: boolean): ConfigurationSaveRequest.AsObject; + static toObject(includeInstance: boolean, msg: ConfigurationSaveRequest): ConfigurationSaveRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsSetValueRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsSetValueRequest; - static deserializeBinaryFromReader(message: SettingsSetValueRequest, reader: jspb.BinaryReader): SettingsSetValueRequest; + static serializeBinaryToWriter(message: ConfigurationSaveRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConfigurationSaveRequest; + static deserializeBinaryFromReader(message: ConfigurationSaveRequest, reader: jspb.BinaryReader): ConfigurationSaveRequest; } -export namespace SettingsSetValueRequest { +export namespace ConfigurationSaveRequest { export type AsObject = { - key: string, - jsonData: string, + settingsFormat: string, + } +} + +export class ConfigurationSaveResponse extends jspb.Message { + getEncodedSettings(): string; + setEncodedSettings(value: string): ConfigurationSaveResponse; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ConfigurationSaveResponse.AsObject; + static toObject(includeInstance: boolean, msg: ConfigurationSaveResponse): ConfigurationSaveResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ConfigurationSaveResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConfigurationSaveResponse; + static deserializeBinaryFromReader(message: ConfigurationSaveResponse, reader: jspb.BinaryReader): ConfigurationSaveResponse; +} + +export namespace ConfigurationSaveResponse { + export type AsObject = { + encodedSettings: string, } } -export class SettingsGetAllRequest extends jspb.Message { +export class ConfigurationOpenRequest extends jspb.Message { + getEncodedSettings(): string; + setEncodedSettings(value: string): ConfigurationOpenRequest; + getSettingsFormat(): string; + setSettingsFormat(value: string): ConfigurationOpenRequest; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsGetAllRequest.AsObject; - static toObject(includeInstance: boolean, msg: SettingsGetAllRequest): SettingsGetAllRequest.AsObject; + toObject(includeInstance?: boolean): ConfigurationOpenRequest.AsObject; + static toObject(includeInstance: boolean, msg: ConfigurationOpenRequest): ConfigurationOpenRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsGetAllRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsGetAllRequest; - static deserializeBinaryFromReader(message: SettingsGetAllRequest, reader: jspb.BinaryReader): SettingsGetAllRequest; + static serializeBinaryToWriter(message: ConfigurationOpenRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConfigurationOpenRequest; + static deserializeBinaryFromReader(message: ConfigurationOpenRequest, reader: jspb.BinaryReader): ConfigurationOpenRequest; } -export namespace SettingsGetAllRequest { +export namespace ConfigurationOpenRequest { export type AsObject = { + encodedSettings: string, + settingsFormat: string, + } +} + +export class ConfigurationOpenResponse extends jspb.Message { + clearWarningsList(): void; + getWarningsList(): Array; + setWarningsList(value: Array): ConfigurationOpenResponse; + addWarnings(value: string, index?: number): string; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ConfigurationOpenResponse.AsObject; + static toObject(includeInstance: boolean, msg: ConfigurationOpenResponse): ConfigurationOpenResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: ConfigurationOpenResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ConfigurationOpenResponse; + static deserializeBinaryFromReader(message: ConfigurationOpenResponse, reader: jspb.BinaryReader): ConfigurationOpenResponse; +} + +export namespace ConfigurationOpenResponse { + export type AsObject = { + warningsList: Array, } } export class SettingsGetValueRequest extends jspb.Message { getKey(): string; setKey(value: string): SettingsGetValueRequest; + getValueFormat(): string; + setValueFormat(value: string): SettingsGetValueRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): SettingsGetValueRequest.AsObject; @@ -126,113 +495,133 @@ export class SettingsGetValueRequest extends jspb.Message { export namespace SettingsGetValueRequest { export type AsObject = { key: string, + valueFormat: string, } } -export class SettingsMergeResponse extends jspb.Message { +export class SettingsGetValueResponse extends jspb.Message { + getEncodedValue(): string; + setEncodedValue(value: string): SettingsGetValueResponse; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsMergeResponse.AsObject; - static toObject(includeInstance: boolean, msg: SettingsMergeResponse): SettingsMergeResponse.AsObject; + toObject(includeInstance?: boolean): SettingsGetValueResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsGetValueResponse): SettingsGetValueResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsMergeResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsMergeResponse; - static deserializeBinaryFromReader(message: SettingsMergeResponse, reader: jspb.BinaryReader): SettingsMergeResponse; + static serializeBinaryToWriter(message: SettingsGetValueResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsGetValueResponse; + static deserializeBinaryFromReader(message: SettingsGetValueResponse, reader: jspb.BinaryReader): SettingsGetValueResponse; } -export namespace SettingsMergeResponse { +export namespace SettingsGetValueResponse { export type AsObject = { + encodedValue: string, } } -export class SettingsSetValueResponse extends jspb.Message { +export class SettingsSetValueRequest extends jspb.Message { + getKey(): string; + setKey(value: string): SettingsSetValueRequest; + getEncodedValue(): string; + setEncodedValue(value: string): SettingsSetValueRequest; + getValueFormat(): string; + setValueFormat(value: string): SettingsSetValueRequest; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsSetValueResponse.AsObject; - static toObject(includeInstance: boolean, msg: SettingsSetValueResponse): SettingsSetValueResponse.AsObject; + toObject(includeInstance?: boolean): SettingsSetValueRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsSetValueRequest): SettingsSetValueRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsSetValueResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsSetValueResponse; - static deserializeBinaryFromReader(message: SettingsSetValueResponse, reader: jspb.BinaryReader): SettingsSetValueResponse; + static serializeBinaryToWriter(message: SettingsSetValueRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsSetValueRequest; + static deserializeBinaryFromReader(message: SettingsSetValueRequest, reader: jspb.BinaryReader): SettingsSetValueRequest; } -export namespace SettingsSetValueResponse { +export namespace SettingsSetValueRequest { export type AsObject = { + key: string, + encodedValue: string, + valueFormat: string, } } -export class SettingsWriteRequest extends jspb.Message { - getFilePath(): string; - setFilePath(value: string): SettingsWriteRequest; +export class SettingsSetValueResponse extends jspb.Message { serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsWriteRequest.AsObject; - static toObject(includeInstance: boolean, msg: SettingsWriteRequest): SettingsWriteRequest.AsObject; + toObject(includeInstance?: boolean): SettingsSetValueResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsSetValueResponse): SettingsSetValueResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsWriteRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsWriteRequest; - static deserializeBinaryFromReader(message: SettingsWriteRequest, reader: jspb.BinaryReader): SettingsWriteRequest; + static serializeBinaryToWriter(message: SettingsSetValueResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsSetValueResponse; + static deserializeBinaryFromReader(message: SettingsSetValueResponse, reader: jspb.BinaryReader): SettingsSetValueResponse; } -export namespace SettingsWriteRequest { +export namespace SettingsSetValueResponse { export type AsObject = { - filePath: string, } } -export class SettingsWriteResponse extends jspb.Message { +export class SettingsEnumerateRequest extends jspb.Message { serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsWriteResponse.AsObject; - static toObject(includeInstance: boolean, msg: SettingsWriteResponse): SettingsWriteResponse.AsObject; + toObject(includeInstance?: boolean): SettingsEnumerateRequest.AsObject; + static toObject(includeInstance: boolean, msg: SettingsEnumerateRequest): SettingsEnumerateRequest.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsWriteResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsWriteResponse; - static deserializeBinaryFromReader(message: SettingsWriteResponse, reader: jspb.BinaryReader): SettingsWriteResponse; + static serializeBinaryToWriter(message: SettingsEnumerateRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsEnumerateRequest; + static deserializeBinaryFromReader(message: SettingsEnumerateRequest, reader: jspb.BinaryReader): SettingsEnumerateRequest; } -export namespace SettingsWriteResponse { +export namespace SettingsEnumerateRequest { export type AsObject = { } } -export class SettingsDeleteRequest extends jspb.Message { - getKey(): string; - setKey(value: string): SettingsDeleteRequest; +export class SettingsEnumerateResponse extends jspb.Message { + clearEntriesList(): void; + getEntriesList(): Array; + setEntriesList(value: Array): SettingsEnumerateResponse; + addEntries(value?: SettingsEnumerateResponse.Entry, index?: number): SettingsEnumerateResponse.Entry; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsDeleteRequest.AsObject; - static toObject(includeInstance: boolean, msg: SettingsDeleteRequest): SettingsDeleteRequest.AsObject; + toObject(includeInstance?: boolean): SettingsEnumerateResponse.AsObject; + static toObject(includeInstance: boolean, msg: SettingsEnumerateResponse): SettingsEnumerateResponse.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsDeleteRequest, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsDeleteRequest; - static deserializeBinaryFromReader(message: SettingsDeleteRequest, reader: jspb.BinaryReader): SettingsDeleteRequest; + static serializeBinaryToWriter(message: SettingsEnumerateResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): SettingsEnumerateResponse; + static deserializeBinaryFromReader(message: SettingsEnumerateResponse, reader: jspb.BinaryReader): SettingsEnumerateResponse; } -export namespace SettingsDeleteRequest { +export namespace SettingsEnumerateResponse { export type AsObject = { - key: string, + entriesList: Array, } -} -export class SettingsDeleteResponse extends jspb.Message { - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SettingsDeleteResponse.AsObject; - static toObject(includeInstance: boolean, msg: SettingsDeleteResponse): SettingsDeleteResponse.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SettingsDeleteResponse, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SettingsDeleteResponse; - static deserializeBinaryFromReader(message: SettingsDeleteResponse, reader: jspb.BinaryReader): SettingsDeleteResponse; -} + export class Entry extends jspb.Message { + getKey(): string; + setKey(value: string): Entry; + getType(): string; + setType(value: string): Entry; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Entry.AsObject; + static toObject(includeInstance: boolean, msg: Entry): Entry.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: Entry, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Entry; + static deserializeBinaryFromReader(message: Entry, reader: jspb.BinaryReader): Entry; + } -export namespace SettingsDeleteResponse { - export type AsObject = { + export namespace Entry { + export type AsObject = { + key: string, + type: string, + } } + } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.js index cabb89ab0..1740aba5b 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/settings_pb.js @@ -21,18 +21,31 @@ var global = (function() { return Function('return this')(); }.call(null)); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.BoardManager', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.BuildCache', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Daemon', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Directories', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Library', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Logging', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Network', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Output', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Sketch', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Configuration.Updater', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsMergeRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsMergeResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsWriteRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsWriteResponse', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -43,16 +56,16 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.SettingsWriteResponse', null * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.Configuration = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse'; + proto.cc.arduino.cli.commands.v1.Configuration.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration'; } /** * Generated by JsPbCodeGenerator. @@ -64,16 +77,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.Configuration.Directories = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsMergeRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Directories, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsMergeRequest'; + proto.cc.arduino.cli.commands.v1.Configuration.Directories.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Directories'; } /** * Generated by JsPbCodeGenerator. @@ -85,16 +98,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse = function(opt_data) { +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse'; + proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin'; } /** * Generated by JsPbCodeGenerator. @@ -106,16 +119,268 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.Configuration.Network = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Network, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest'; + proto.cc.arduino.cli.commands.v1.Configuration.Network.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Network'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Sketch, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.Sketch.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Sketch'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.BuildCache, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.BuildCache'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.BoardManager, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.BoardManager'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Daemon, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.Daemon.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Daemon'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Output, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.Output.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Output'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Logging, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.Logging.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Logging'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Library, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.Library.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Library'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.Configuration.Updater, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.Configuration.Updater.displayName = 'proto.cc.arduino.cli.commands.v1.Configuration.Updater'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.displayName = 'proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.displayName = 'proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.displayName = 'proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.displayName = 'proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse'; } /** * Generated by JsPbCodeGenerator. @@ -127,16 +392,37 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest = function(opt_data) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest, jspb.Message); +goog.inherits(proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.displayName = 'proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest'; + proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.displayName = 'proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse'; } /** * Generated by JsPbCodeGenerator. @@ -169,122 +455,2791 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.cc.arduino.cli.commands.v1.SettingsMergeResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry'; +} + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.toObject = function(includeInstance, msg) { + var f, obj = { + directories: (f = msg.getDirectories()) && proto.cc.arduino.cli.commands.v1.Configuration.Directories.toObject(includeInstance, f), + network: (f = msg.getNetwork()) && proto.cc.arduino.cli.commands.v1.Configuration.Network.toObject(includeInstance, f), + sketch: (f = msg.getSketch()) && proto.cc.arduino.cli.commands.v1.Configuration.Sketch.toObject(includeInstance, f), + buildCache: (f = msg.getBuildCache()) && proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.toObject(includeInstance, f), + boardManager: (f = msg.getBoardManager()) && proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.toObject(includeInstance, f), + daemon: (f = msg.getDaemon()) && proto.cc.arduino.cli.commands.v1.Configuration.Daemon.toObject(includeInstance, f), + output: (f = msg.getOutput()) && proto.cc.arduino.cli.commands.v1.Configuration.Output.toObject(includeInstance, f), + logging: (f = msg.getLogging()) && proto.cc.arduino.cli.commands.v1.Configuration.Logging.toObject(includeInstance, f), + library: (f = msg.getLibrary()) && proto.cc.arduino.cli.commands.v1.Configuration.Library.toObject(includeInstance, f), + updater: (f = msg.getUpdater()) && proto.cc.arduino.cli.commands.v1.Configuration.Updater.toObject(includeInstance, f), + locale: jspb.Message.getFieldWithDefault(msg, 100, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} + */ +proto.cc.arduino.cli.commands.v1.Configuration.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration; + return proto.cc.arduino.cli.commands.v1.Configuration.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} + */ +proto.cc.arduino.cli.commands.v1.Configuration.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Directories; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Directories.deserializeBinaryFromReader); + msg.setDirectories(value); + break; + case 2: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Network; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Network.deserializeBinaryFromReader); + msg.setNetwork(value); + break; + case 3: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Sketch; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Sketch.deserializeBinaryFromReader); + msg.setSketch(value); + break; + case 4: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.BuildCache; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.deserializeBinaryFromReader); + msg.setBuildCache(value); + break; + case 5: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.BoardManager; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.deserializeBinaryFromReader); + msg.setBoardManager(value); + break; + case 6: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Daemon; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Daemon.deserializeBinaryFromReader); + msg.setDaemon(value); + break; + case 7: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Output; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Output.deserializeBinaryFromReader); + msg.setOutput(value); + break; + case 8: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Logging; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Logging.deserializeBinaryFromReader); + msg.setLogging(value); + break; + case 9: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Library; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Library.deserializeBinaryFromReader); + msg.setLibrary(value); + break; + case 10: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Updater; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Updater.deserializeBinaryFromReader); + msg.setUpdater(value); + break; + case 100: + var value = /** @type {string} */ (reader.readString()); + msg.setLocale(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDirectories(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Directories.serializeBinaryToWriter + ); + } + f = message.getNetwork(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Network.serializeBinaryToWriter + ); + } + f = message.getSketch(); + if (f != null) { + writer.writeMessage( + 3, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Sketch.serializeBinaryToWriter + ); + } + f = message.getBuildCache(); + if (f != null) { + writer.writeMessage( + 4, + f, + proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.serializeBinaryToWriter + ); + } + f = message.getBoardManager(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.serializeBinaryToWriter + ); + } + f = message.getDaemon(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Daemon.serializeBinaryToWriter + ); + } + f = message.getOutput(); + if (f != null) { + writer.writeMessage( + 7, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Output.serializeBinaryToWriter + ); + } + f = message.getLogging(); + if (f != null) { + writer.writeMessage( + 8, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Logging.serializeBinaryToWriter + ); + } + f = message.getLibrary(); + if (f != null) { + writer.writeMessage( + 9, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Library.serializeBinaryToWriter + ); + } + f = message.getUpdater(); + if (f != null) { + writer.writeMessage( + 10, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Updater.serializeBinaryToWriter + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 100)); + if (f != null) { + writer.writeString( + 100, + f + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Directories.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.toObject = function(includeInstance, msg) { + var f, obj = { + data: jspb.Message.getFieldWithDefault(msg, 1, ""), + user: jspb.Message.getFieldWithDefault(msg, 2, ""), + downloads: jspb.Message.getFieldWithDefault(msg, 3, ""), + builtin: (f = msg.getBuiltin()) && proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Directories; + return proto.cc.arduino.cli.commands.v1.Configuration.Directories.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setData(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setUser(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setDownloads(value); + break; + case 4: + var value = new proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.deserializeBinaryFromReader); + msg.setBuiltin(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Directories.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getData(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getUser(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getDownloads(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getBuiltin(); + if (f != null) { + writer.writeMessage( + 4, + f, + proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.serializeBinaryToWriter + ); + } +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.toObject = function(includeInstance, msg) { + var f, obj = { + libraries: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin; + return proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setLibraries(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {string} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string libraries = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.prototype.getLibraries = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.prototype.setLibraries = function(value) { + return jspb.Message.setField(this, 1, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.prototype.clearLibraries = function() { + return jspb.Message.setField(this, 1, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin.prototype.hasLibraries = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional string data = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.getData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.setData = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string user = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.getUser = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.setUser = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string downloads = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.getDownloads = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.setDownloads = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional Builtin builtin = 4; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.getBuiltin = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin, 4)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Directories.Builtin|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.setBuiltin = function(value) { + return jspb.Message.setWrapperField(this, 4, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Directories} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.clearBuiltin = function() { + return this.setBuiltin(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Directories.prototype.hasBuiltin = function() { + return jspb.Message.getField(this, 4) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Network.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Network} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.toObject = function(includeInstance, msg) { + var f, obj = { + extraUserAgent: jspb.Message.getFieldWithDefault(msg, 1, ""), + proxy: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Network} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Network; + return proto.cc.arduino.cli.commands.v1.Configuration.Network.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Network} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Network} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setExtraUserAgent(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setProxy(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Network.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Network} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {string} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeString( + 1, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string extra_user_agent = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.getExtraUserAgent = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Network} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.setExtraUserAgent = function(value) { + return jspb.Message.setField(this, 1, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Network} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.clearExtraUserAgent = function() { + return jspb.Message.setField(this, 1, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.hasExtraUserAgent = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional string proxy = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.getProxy = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Network} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.setProxy = function(value) { + return jspb.Message.setField(this, 2, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Network} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.clearProxy = function() { + return jspb.Message.setField(this, 2, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Network.prototype.hasProxy = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Sketch.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Sketch} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.toObject = function(includeInstance, msg) { + var f, obj = { + alwaysExportBinaries: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Sketch} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Sketch; + return proto.cc.arduino.cli.commands.v1.Configuration.Sketch.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Sketch} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Sketch} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setAlwaysExportBinaries(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Sketch.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Sketch} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getAlwaysExportBinaries(); + if (f) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool always_export_binaries = 1; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.prototype.getAlwaysExportBinaries = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Sketch.prototype.setAlwaysExportBinaries = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.toObject = function(includeInstance, msg) { + var f, obj = { + compilationsBeforePurge: jspb.Message.getFieldWithDefault(msg, 1, 0), + ttlSecs: jspb.Message.getFieldWithDefault(msg, 2, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.BuildCache; + return proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setCompilationsBeforePurge(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setTtlSecs(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCompilationsBeforePurge(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } + f = message.getTtlSecs(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } +}; + + +/** + * optional uint64 compilations_before_purge = 1; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.prototype.getCompilationsBeforePurge = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.prototype.setCompilationsBeforePurge = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); +}; + + +/** + * optional uint64 ttl_secs = 2; + * @return {number} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.prototype.getTtlSecs = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.BuildCache.prototype.setTtlSecs = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.toObject = function(includeInstance, msg) { + var f, obj = { + additionalUrlsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.BoardManager; + return proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.addAdditionalUrls(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getAdditionalUrlsList(); + if (f.length > 0) { + writer.writeRepeatedString( + 1, + f + ); + } +}; + + +/** + * repeated string additional_urls = 1; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.prototype.getAdditionalUrlsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.prototype.setAdditionalUrlsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.prototype.addAdditionalUrls = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.BoardManager.prototype.clearAdditionalUrlsList = function() { + return this.setAdditionalUrlsList([]); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Daemon.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Daemon} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.toObject = function(includeInstance, msg) { + var f, obj = { + port: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Daemon} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Daemon; + return proto.cc.arduino.cli.commands.v1.Configuration.Daemon.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Daemon} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Daemon} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setPort(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Daemon.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Daemon} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPort(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string port = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.prototype.getPort = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Daemon} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Daemon.prototype.setPort = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Output.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Output} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.toObject = function(includeInstance, msg) { + var f, obj = { + noColor: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Output} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Output; + return proto.cc.arduino.cli.commands.v1.Configuration.Output.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Output} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Output} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setNoColor(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Output.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Output} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getNoColor(); + if (f) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool no_color = 1; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.prototype.getNoColor = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Output} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Output.prototype.setNoColor = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Logging.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.toObject = function(includeInstance, msg) { + var f, obj = { + level: jspb.Message.getFieldWithDefault(msg, 1, ""), + format: jspb.Message.getFieldWithDefault(msg, 2, ""), + file: jspb.Message.getFieldWithDefault(msg, 3, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Logging; + return proto.cc.arduino.cli.commands.v1.Configuration.Logging.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setLevel(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setFormat(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setFile(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Logging.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getLevel(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getFormat(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = /** @type {string} */ (jspb.Message.getField(message, 3)); + if (f != null) { + writer.writeString( + 3, + f + ); + } +}; + + +/** + * optional string level = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.getLevel = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.setLevel = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string format = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.getFormat = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.setFormat = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string file = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.getFile = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.setFile = function(value) { + return jspb.Message.setField(this, 3, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Logging} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.clearFile = function() { + return jspb.Message.setField(this, 3, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Logging.prototype.hasFile = function() { + return jspb.Message.getField(this, 3) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Library.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Library} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.toObject = function(includeInstance, msg) { + var f, obj = { + enableUnsafeInstall: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Library} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Library; + return proto.cc.arduino.cli.commands.v1.Configuration.Library.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Library} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Library} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setEnableUnsafeInstall(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Library.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Library} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEnableUnsafeInstall(); + if (f) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool enable_unsafe_install = 1; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.prototype.getEnableUnsafeInstall = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Library} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Library.prototype.setEnableUnsafeInstall = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.Configuration.Updater.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Updater} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.toObject = function(includeInstance, msg) { + var f, obj = { + enableNotification: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Updater} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.Configuration.Updater; + return proto.cc.arduino.cli.commands.v1.Configuration.Updater.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Updater} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Updater} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setEnableNotification(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.Configuration.Updater.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.Configuration.Updater} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEnableNotification(); + if (f) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool enable_notification = 1; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.prototype.getEnableNotification = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration.Updater} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.Updater.prototype.setEnableNotification = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + +/** + * optional Directories directories = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Directories} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getDirectories = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Directories} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Directories, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Directories|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setDirectories = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearDirectories = function() { + return this.setDirectories(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasDirectories = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional Network network = 2; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Network} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getNetwork = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Network} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Network, 2)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Network|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setNetwork = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearNetwork = function() { + return this.setNetwork(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasNetwork = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional Sketch sketch = 3; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Sketch} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getSketch = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Sketch} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Sketch, 3)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Sketch|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setSketch = function(value) { + return jspb.Message.setWrapperField(this, 3, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearSketch = function() { + return this.setSketch(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasSketch = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional BuildCache build_cache = 4; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getBuildCache = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.BuildCache} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.BuildCache, 4)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.BuildCache|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setBuildCache = function(value) { + return jspb.Message.setWrapperField(this, 4, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearBuildCache = function() { + return this.setBuildCache(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasBuildCache = function() { + return jspb.Message.getField(this, 4) != null; +}; + + +/** + * optional BoardManager board_manager = 5; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getBoardManager = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.BoardManager} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.BoardManager, 5)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.BoardManager|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setBoardManager = function(value) { + return jspb.Message.setWrapperField(this, 5, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearBoardManager = function() { + return this.setBoardManager(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasBoardManager = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional Daemon daemon = 6; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Daemon} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getDaemon = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Daemon} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Daemon, 6)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Daemon|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setDaemon = function(value) { + return jspb.Message.setWrapperField(this, 6, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearDaemon = function() { + return this.setDaemon(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasDaemon = function() { + return jspb.Message.getField(this, 6) != null; +}; + + +/** + * optional Output output = 7; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Output} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getOutput = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Output} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Output, 7)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Output|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setOutput = function(value) { + return jspb.Message.setWrapperField(this, 7, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearOutput = function() { + return this.setOutput(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasOutput = function() { + return jspb.Message.getField(this, 7) != null; +}; + + +/** + * optional Logging logging = 8; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Logging} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getLogging = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Logging} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Logging, 8)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Logging|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setLogging = function(value) { + return jspb.Message.setWrapperField(this, 8, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearLogging = function() { + return this.setLogging(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasLogging = function() { + return jspb.Message.getField(this, 8) != null; +}; + + +/** + * optional Library library = 9; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Library} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getLibrary = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Library} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Library, 9)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Library|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setLibrary = function(value) { + return jspb.Message.setWrapperField(this, 9, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearLibrary = function() { + return this.setLibrary(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasLibrary = function() { + return jspb.Message.getField(this, 9) != null; +}; + + +/** + * optional Updater updater = 10; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration.Updater} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getUpdater = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration.Updater} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration.Updater, 10)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Configuration.Updater|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this +*/ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setUpdater = function(value) { + return jspb.Message.setWrapperField(this, 10, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearUpdater = function() { + return this.setUpdater(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasUpdater = function() { + return jspb.Message.getField(this, 10) != null; +}; + + +/** + * optional string locale = 100; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.getLocale = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 100, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.setLocale = function(value) { + return jspb.Message.setField(this, 100, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Configuration} returns this + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.clearLocale = function() { + return jspb.Message.setField(this, 100, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Configuration.prototype.hasLocale = function() { + return jspb.Message.getField(this, 100) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest; + return proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.toObject = function(includeInstance, msg) { + var f, obj = { + configuration: (f = msg.getConfiguration()) && proto.cc.arduino.cli.commands.v1.Configuration.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse; + return proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.cc.arduino.cli.commands.v1.Configuration; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.Configuration.deserializeBinaryFromReader); + msg.setConfiguration(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsMergeResponse, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsMergeResponse'; -} + + /** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getConfiguration(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.cc.arduino.cli.commands.v1.Configuration.serializeBinaryToWriter + ); + } }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsSetValueResponse'; -} + + /** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor + * optional Configuration configuration = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Configuration} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.prototype.getConfiguration = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Configuration} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.Configuration, 1)); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsWriteRequest, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsWriteRequest'; -} + + /** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.cc.arduino.cli.commands.v1.SettingsWriteResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + * @param {?proto.cc.arduino.cli.commands.v1.Configuration|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.prototype.setConfiguration = function(value) { + return jspb.Message.setWrapperField(this, 1, value); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsWriteResponse, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsWriteResponse'; -} + + /** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.prototype.clearConfiguration = function() { + return this.setConfiguration(undefined); }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest'; -} + + /** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor + * Returns whether this field is set. + * @return {boolean} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); +proto.cc.arduino.cli.commands.v1.ConfigurationGetResponse.prototype.hasConfiguration = function() { + return jspb.Message.getField(this, 1) != null; }; -goog.inherits(proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse'; -} + + @@ -301,8 +3256,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.toObject(opt_includeInstance, this); }; @@ -311,13 +3266,13 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.toObject = fun * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.toObject = function(includeInstance, msg) { var f, obj = { - jsonData: jspb.Message.getFieldWithDefault(msg, 1, "") + settingsFormat: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -331,23 +3286,23 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.toObject = function(incl /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse; - return proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest; + return proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -356,7 +3311,7 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinaryFromRea switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setJsonData(value); + msg.setSettingsFormat(value); break; default: reader.skipField(); @@ -371,9 +3326,9 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.deserializeBinaryFromRea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -381,13 +3336,13 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.serializeBinar /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getJsonData(); + f = message.getSettingsFormat(); if (f.length > 0) { writer.writeString( 1, @@ -398,19 +3353,19 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.serializeBinaryToWriter /** - * optional string json_data = 1; + * optional string settings_format = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.getJsonData = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.prototype.getSettingsFormat = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllResponse.prototype.setJsonData = function(value) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveRequest.prototype.setSettingsFormat = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -431,8 +3386,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.toObject(opt_includeInstance, this); }; @@ -441,13 +3396,13 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.toObject = funct * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.toObject = function(includeInstance, msg) { var f, obj = { - jsonData: jspb.Message.getFieldWithDefault(msg, 1, "") + encodedSettings: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -461,23 +3416,23 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.toObject = function(includ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsMergeRequest; - return proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse; + return proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -486,7 +3441,7 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinaryFromReade switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setJsonData(value); + msg.setEncodedSettings(value); break; default: reader.skipField(); @@ -501,9 +3456,9 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.deserializeBinaryFromReade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -511,13 +3466,13 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getJsonData(); + f = message.getEncodedSettings(); if (f.length > 0) { writer.writeString( 1, @@ -528,19 +3483,19 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.serializeBinaryToWriter = /** - * optional string json_data = 1; + * optional string encoded_settings = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.getJsonData = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.prototype.getEncodedSettings = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsMergeRequest.prototype.setJsonData = function(value) { +proto.cc.arduino.cli.commands.v1.ConfigurationSaveResponse.prototype.setEncodedSettings = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -561,8 +3516,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.toObject(opt_includeInstance, this); }; @@ -571,14 +3526,14 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.toObject = f * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.toObject = function(includeInstance, msg) { var f, obj = { - key: jspb.Message.getFieldWithDefault(msg, 1, ""), - jsonData: jspb.Message.getFieldWithDefault(msg, 2, "") + encodedSettings: jspb.Message.getFieldWithDefault(msg, 1, ""), + settingsFormat: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -592,23 +3547,23 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.toObject = function(in /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse; - return proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest; + return proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -617,11 +3572,11 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromR switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setKey(value); + msg.setEncodedSettings(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setJsonData(value); + msg.setSettingsFormat(value); break; default: reader.skipField(); @@ -636,9 +3591,9 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromR * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -646,20 +3601,20 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.serializeBin /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey(); + f = message.getEncodedSettings(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getJsonData(); + f = message.getSettingsFormat(); if (f.length > 0) { writer.writeString( 2, @@ -670,42 +3625,49 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.serializeBinaryToWrite /** - * optional string key = 1; + * optional string encoded_settings = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.getKey = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.prototype.getEncodedSettings = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.setKey = function(value) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.prototype.setEncodedSettings = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string json_data = 2; + * optional string settings_format = 2; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.getJsonData = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.prototype.getSettingsFormat = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} returns this + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.setJsonData = function(value) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenRequest.prototype.setSettingsFormat = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -721,8 +3683,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.toObject(opt_includeInstance, this); }; @@ -731,14 +3693,13 @@ proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.toObject = function(includeInstance, msg) { var f, obj = { - key: jspb.Message.getFieldWithDefault(msg, 1, ""), - jsonData: jspb.Message.getFieldWithDefault(msg, 2, "") + warningsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f }; if (includeInstance) { @@ -752,23 +3713,23 @@ proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest; - return proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse; + return proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -777,11 +3738,7 @@ proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromRe switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setKey(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setJsonData(value); + msg.addWarnings(value); break; default: reader.skipField(); @@ -796,9 +3753,9 @@ proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -806,62 +3763,56 @@ proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey(); + f = message.getWarningsList(); if (f.length > 0) { - writer.writeString( + writer.writeRepeatedString( 1, f ); } - f = message.getJsonData(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } }; /** - * optional string key = 1; - * @return {string} + * repeated string warnings = 1; + * @return {!Array} */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.prototype.getWarningsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} returns this + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.setKey = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.prototype.setWarningsList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional string json_data = 2; - * @return {string} + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.getJsonData = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.prototype.addWarnings = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} returns this + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.setJsonData = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.cc.arduino.cli.commands.v1.ConfigurationOpenResponse.prototype.clearWarningsList = function() { + return this.setWarningsList([]); }; @@ -881,8 +3832,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.toObject(opt_includeInstance, this); }; @@ -891,13 +3842,14 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.toObject = function(includeInstance, msg) { var f, obj = { - + key: jspb.Message.getFieldWithDefault(msg, 1, ""), + valueFormat: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -911,58 +3863,116 @@ proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest; - return proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest; + return proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} + */ +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setKey(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setValueFormat(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getKey(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getValueFormat(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string key = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.getKey = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.setKey = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional string value_format = 2; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.getValueFormat = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsGetAllRequest.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.setValueFormat = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -982,8 +3992,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.toObject(opt_includeInstance, this); }; @@ -992,13 +4002,13 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.toObject = fu * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.toObject = function(includeInstance, msg) { var f, obj = { - key: jspb.Message.getFieldWithDefault(msg, 1, "") + encodedValue: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -1012,23 +4022,23 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.toObject = function(inc /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest; - return proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse; + return proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1037,7 +4047,7 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromRe switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setKey(value); + msg.setEncodedValue(value); break; default: reader.skipField(); @@ -1052,9 +4062,9 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.deserializeBinaryFromRe * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1062,13 +4072,13 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.serializeBina /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey(); + f = message.getEncodedValue(); if (f.length > 0) { writer.writeString( 1, @@ -1079,19 +4089,19 @@ proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.serializeBinaryToWriter /** - * optional string key = 1; + * optional string encoded_value = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.getKey = function() { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.getEncodedValue = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsGetValueRequest.prototype.setKey = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsGetValueResponse.prototype.setEncodedValue = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -1112,8 +4122,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.toObject(opt_includeInstance, this); }; @@ -1122,13 +4132,15 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.toObject = function(includeInstance, msg) { var f, obj = { - + key: jspb.Message.getFieldWithDefault(msg, 1, ""), + encodedValue: jspb.Message.getFieldWithDefault(msg, 2, ""), + valueFormat: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -1142,29 +4154,41 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsMergeResponse; - return proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest; + return proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setKey(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setEncodedValue(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setValueFormat(value); + break; default: reader.skipField(); break; @@ -1178,9 +4202,9 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1188,12 +4212,87 @@ proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsMergeResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsMergeResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; + f = message.getKey(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getEncodedValue(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getValueFormat(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } +}; + + +/** + * optional string key = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.getKey = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.setKey = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string encoded_value = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.getEncodedValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.setEncodedValue = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string value_format = 3; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.getValueFormat = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.SettingsSetValueRequest.prototype.setValueFormat = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; @@ -1314,8 +4413,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.toObject(opt_includeInstance, this); }; @@ -1324,13 +4423,13 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.toObject = funct * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.toObject = function(includeInstance, msg) { var f, obj = { - filePath: jspb.Message.getFieldWithDefault(msg, 1, "") + }; if (includeInstance) { @@ -1344,33 +4443,29 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.toObject = function(includ /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsWriteRequest; - return proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest; + return proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setFilePath(value); - break; default: reader.skipField(); break; @@ -1384,9 +4479,9 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.deserializeBinaryFromReade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1394,40 +4489,22 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateRequest.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getFilePath(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } }; -/** - * optional string file_path = 1; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.getFilePath = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - /** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteRequest} returns this + * List of repeated fields within this message type. + * @private {!Array} + * @const */ -proto.cc.arduino.cli.commands.v1.SettingsWriteRequest.prototype.setFilePath = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.repeatedFields_ = [1]; @@ -1444,8 +4521,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.toObject(opt_includeInstance, this); }; @@ -1454,13 +4531,14 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.toObject = function(includeInstance, msg) { var f, obj = { - + entriesList: jspb.Message.toObjectList(msg.getEntriesList(), + proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.toObject, includeInstance) }; if (includeInstance) { @@ -1474,29 +4552,34 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsWriteResponse; - return proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse; + return proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { + case 1: + var value = new proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.deserializeBinaryFromReader); + msg.addEntries(value); + break; default: reader.skipField(); break; @@ -1510,9 +4593,9 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1520,12 +4603,20 @@ proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsWriteResponse} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsWriteResponse.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.serializeBinaryToWriter = function(message, writer) { var f = undefined; + f = message.getEntriesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.serializeBinaryToWriter + ); + } }; @@ -1545,8 +4636,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.toObject(opt_includeInstance, this); }; @@ -1555,13 +4646,14 @@ proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.toObject = func * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} msg The msg instance to transform. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.toObject = function(includeInstance, msg) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.toObject = function(includeInstance, msg) { var f, obj = { - key: jspb.Message.getFieldWithDefault(msg, 1, "") + key: jspb.Message.getFieldWithDefault(msg, 1, ""), + type: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -1575,23 +4667,23 @@ proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.toObject = function(inclu /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinary = function(bytes) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest; - return proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry; + return proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} msg The message object to deserialize into. + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1602,6 +4694,10 @@ proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinaryFromRead var value = /** @type {string} */ (reader.readString()); msg.setKey(value); break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setType(value); + break; default: reader.skipField(); break; @@ -1615,9 +4711,9 @@ proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.deserializeBinaryFromRead * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.serializeBinary = function() { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.serializeBinaryToWriter(this, writer); + proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1625,11 +4721,11 @@ proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.serializeBinary /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} message + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.serializeBinaryToWriter = function(message, writer) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getKey(); if (f.length > 0) { @@ -1638,6 +4734,13 @@ proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.serializeBinaryToWriter = f ); } + f = message.getType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } }; @@ -1645,118 +4748,73 @@ proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.serializeBinaryToWriter = * optional string key = 1; * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.getKey = function() { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest} returns this + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteRequest.prototype.setKey = function(value) { +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.prototype.setKey = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional string type = 2; + * @return {string} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.toObject(opt_includeInstance, this); +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.prototype.getType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry.prototype.setType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} + * repeated Entry entries = 1; + * @return {!Array} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse; - return proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.deserializeBinaryFromReader(msg, reader); +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.prototype.getEntriesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry, 1)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} - */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.prototype.setEntriesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry} */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.prototype.addEntries = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry, opt_index); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse} returns this */ -proto.cc.arduino.cli.commands.v1.SettingsDeleteResponse.serializeBinaryToWriter = function(message, writer) { - var f = undefined; +proto.cc.arduino.cli.commands.v1.SettingsEnumerateResponse.prototype.clearEntriesList = function() { + return this.setEntriesList([]); }; diff --git a/arduino-ide-extension/src/node/config-service-impl.ts b/arduino-ide-extension/src/node/config-service-impl.ts index f112f7206..c1a2adc6f 100644 --- a/arduino-ide-extension/src/node/config-service-impl.ts +++ b/arduino-ide-extension/src/node/config-service-impl.ts @@ -16,16 +16,16 @@ import { } from '../common/protocol'; import { spawnCommand } from './exec-util'; import { ArduinoDaemonImpl } from './arduino-daemon-impl'; -import { DefaultCliConfig, CLI_CONFIG } from './cli-config'; +import { DefaultCliConfig, CLI_CONFIG, CliConfig } from './cli-config'; import { Deferred } from '@theia/core/lib/common/promise-util'; import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { deepClone, nls } from '@theia/core'; import { ErrnoException } from './utils/errors'; +import { createArduinoCoreServiceClient } from './arduino-core-service-client'; import { - SettingsMergeRequest, - SettingsWriteRequest, + ConfigurationSaveRequest, + SettingsSetValueRequest, } from './cli-protocol/cc/arduino/cli/commands/v1/settings_pb'; -import { createArduinoCoreServiceClient } from './arduino-core-service-client'; const deepmerge = require('deepmerge'); @@ -180,13 +180,13 @@ export class ConfigServiceImpl const content = await fs.readFile(cliConfigPath, { encoding: 'utf8', }); - const model = (yaml.safeLoad(content) || {}) as DefaultCliConfig; + const model = (yaml.safeLoad(content) || {}) as CliConfig; this.logger.info(`Loaded CLI configuration: ${JSON.stringify(model)}`); - if (model.directories.data && model.directories.user) { + if (model.directories?.data && model.directories?.user) { this.logger.info( "'directories.data' and 'directories.user' are set in the CLI configuration model." ); - return model; + return model as DefaultCliConfig; } // The CLI can run with partial (missing `port`, `directories`), the IDE2 cannot. // We merge the default CLI config with the partial user's config. @@ -217,13 +217,17 @@ export class ConfigServiceImpl private async getFallbackCliConfig(): Promise { const cliPath = this.daemon.getExecPath(); - const rawJson = await spawnCommand(cliPath, [ - 'config', - 'dump', - 'format', - '--json', + const [configRaw, directoriesRaw] = await Promise.all([ + spawnCommand(cliPath, ['config', 'dump', '--json']), + // Since CLI 1.0, the command `config dump` only returns user-modified values and not default ones. + // directories.user and directories.data are required by IDE2 so we get the default value explicitly. + spawnCommand(cliPath, ['config', 'get', 'directories', '--json']), ]); - return JSON.parse(rawJson); + + const config = JSON.parse(configRaw); + const { user, data } = JSON.parse(directoriesRaw); + + return { ...config.config, directories: { user, data } }; } private async initCliConfigTo(fsPathToDir: string): Promise { @@ -291,48 +295,65 @@ export class ConfigServiceImpl } private async updateDaemon( - port: number | number, + port: number, config: DefaultCliConfig ): Promise { - const client = createArduinoCoreServiceClient({ port }); - const req = new SettingsMergeRequest(); const json = JSON.stringify(config, null, 2); - req.setJsonData(json); this.logger.info(`Updating daemon with 'data': ${json}`); - return new Promise((resolve, reject) => { - client.settingsMerge(req, (error) => { - try { + + const updatableConfig = { + locale: config.locale, + 'directories.user': config.directories.user, + 'directories.data': config.directories.data, + 'network.proxy': config.network?.proxy, + 'board_manager.additional_urls': + config.board_manager?.additional_urls || [], + }; + + const client = createArduinoCoreServiceClient({ port }); + + for (const [key, value] of Object.entries(updatableConfig)) { + const req = new SettingsSetValueRequest(); + req.setKey(key); + req.setEncodedValue(JSON.stringify(value)); + await new Promise((resolve) => { + client.settingsSetValue(req, (error) => { if (error) { - reject(error); - return; + this.logger.error( + `Could not update config with key: ${key} and value: ${value}`, + error + ); } resolve(); - } finally { - client.close(); - } + }); }); - }); + } + + client.close(); } - private async writeDaemonState(port: number | number): Promise { + private async writeDaemonState(port: number): Promise { const client = createArduinoCoreServiceClient({ port }); - const req = new SettingsWriteRequest(); - const cliConfigUri = await this.getCliConfigFileUri(); - const cliConfigPath = FileUri.fsPath(cliConfigUri); - req.setFilePath(cliConfigPath); - return new Promise((resolve, reject) => { - client.settingsWrite(req, (error) => { + const req = new ConfigurationSaveRequest(); + req.setSettingsFormat('yaml'); + + const configRaw = await new Promise((resolve, reject) => { + client.configurationSave(req, (error, resp) => { try { if (error) { reject(error); return; } - resolve(); + resolve(resp.getEncodedSettings()); } finally { client.close(); } }); }); + + const cliConfigUri = await this.getCliConfigFileUri(); + const cliConfigPath = FileUri.fsPath(cliConfigUri); + await fs.writeFile(cliConfigPath, configRaw, { encoding: 'utf-8' }); } // #1445 diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index 9cb1c4584..9ae7b405e 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -11,7 +11,6 @@ import type { Mutable } from '@theia/core/lib/common/types'; import { FileUri } from '@theia/core/lib/node/file-uri'; import { inject, injectable } from '@theia/core/shared/inversify'; import * as jspb from 'google-protobuf'; -import { BoolValue } from 'google-protobuf/google/protobuf/wrappers_pb'; import path from 'node:path'; import { UploadResponse as ApiUploadResponse, @@ -195,9 +194,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { request.setVerbose(options.verbose); request.setQuiet(false); if (typeof options.exportBinaries === 'boolean') { - const exportBinaries = new BoolValue(); - exportBinaries.setValue(options.exportBinaries); - request.setExportBinaries(exportBinaries); + request.setExportBinaries(options.exportBinaries); } this.mergeSourceOverrides(request, options); return request; diff --git a/arduino-ide-extension/src/test/node/exec-util.test.ts b/arduino-ide-extension/src/test/node/exec-util.test.ts index 26e7c41e5..11342179e 100644 --- a/arduino-ide-extension/src/test/node/exec-util.test.ts +++ b/arduino-ide-extension/src/test/node/exec-util.test.ts @@ -37,7 +37,7 @@ describe('exec-utils', () => { expect(fs.accessSync(cliCopyPath, fs.constants.X_OK)).to.be.undefined; expect(cliCopyPath.includes(segment)).to.be.true; const stdout = await spawnCommand(cliCopyPath, ['version']); - expect(stdout.includes(filename)).to.be.true; + expect(stdout.includes(path.parse(filename).name)).to.be.true; }); }); diff --git a/arduino-ide-extension/src/test/node/node-test-bindings.ts b/arduino-ide-extension/src/test/node/node-test-bindings.ts index 0f2ca5e35..690d19442 100644 --- a/arduino-ide-extension/src/test/node/node-test-bindings.ts +++ b/arduino-ide-extension/src/test/node/node-test-bindings.ts @@ -289,7 +289,6 @@ export async function createCliConfig( const directories = { data: join(configDirPath, 'data', 'Arduino15'), downloads: join(configDirPath, 'data', 'Arduino15', 'staging'), - builtin: join(configDirPath, 'data', 'Arduino15', 'libraries'), user: join(configDirPath, 'user', 'Arduino'), }; for (const directoryPath of Object.values(directories)) { diff --git a/yarn.lock b/yarn.lock index 71a0d2acb..d0912ee7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1899,6 +1899,19 @@ "@phosphor/signaling" "^1.3.1" "@phosphor/virtualdom" "^1.2.0" +"@pingghost/protoc@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pingghost/protoc/-/protoc-1.0.2.tgz#68436fe6df7b700149dfb2b9a6a9db3b66fe758a" + integrity sha512-7ndq6JmrfcRfr6wIxdrjBqAipsrWwldFL5TQRmJXgpGrRi1yU6vKWID6Z4cs96iK+3yLIoUON11fE5CThNBrXA== + dependencies: + glob "^7.2.3" + mkdirp "^0.5.6" + node-fetch "^3.2.10" + rimraf "^3.0.2" + unzipper "^0.10.11" + uuid "^9.0.0" + vinyl "^2.2.1" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -11100,19 +11113,6 @@ protobufjs@^7.2.3, protobufjs@^7.2.4: "@types/node" ">=13.7.0" long "^5.0.0" -protoc@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/protoc/-/protoc-1.1.3.tgz#d9857ec2a43a683af8263032d519ce7ba0b7d99e" - integrity sha512-Vy4OBxCcF0W38YrZZRFix659gFu8ujIxVDP1SUBK9ELzyeMSBe8m8tYyYlX1PI5j9gse9hWu4c4nzQaHesAf8Q== - dependencies: - glob "^7.2.3" - mkdirp "^0.5.6" - node-fetch "^3.2.10" - rimraf "^3.0.2" - unzipper "^0.10.11" - uuid "^9.0.0" - vinyl "^2.2.1" - protocols@^2.0.0, protocols@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" From 2de8bd17171cff0797ff58162a3e04f57aa26554 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 6 Sep 2024 01:49:53 +0200 Subject: [PATCH 22/87] feat: decode grpc status objects and map them to protocol types Status object thrown by grpc commands contains metadata that needs to be serialized in order to map it to custom errors generated through proto files https://github.com/grpc/grpc-web/issues/399 --- .../src/node/service-error.ts | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/arduino-ide-extension/src/node/service-error.ts b/arduino-ide-extension/src/node/service-error.ts index a56cf13ea..a42c05d8a 100644 --- a/arduino-ide-extension/src/node/service-error.ts +++ b/arduino-ide-extension/src/node/service-error.ts @@ -1,14 +1,54 @@ import { Metadata, StatusObject } from '@grpc/grpc-js'; +import { Status } from './cli-protocol/google/rpc/status_pb'; +import { stringToUint8Array } from '../common/utils'; +import { ProgrammerIsRequiredForUploadError } from './cli-protocol/cc/arduino/cli/commands/v1/upload_pb'; + +type ProtoError = typeof ProgrammerIsRequiredForUploadError; +const protoErrorsMap = new Map([ + [ + 'type.googleapis.com/cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError', + ProgrammerIsRequiredForUploadError, + ], + // handle other cli defined errors here +]); export type ServiceError = StatusObject & Error; export namespace ServiceError { export function isCancel(arg: unknown): arg is ServiceError & { code: 1 } { return is(arg) && arg.code === 1; // https://grpc.github.io/grpc/core/md_doc_statuscodes.html } + export function is(arg: unknown): arg is ServiceError { - return arg instanceof Error && isStatusObjet(arg); + return arg instanceof Error && isStatusObject(arg); } - function isStatusObjet(arg: unknown): arg is StatusObject { + + export function isInstanceOf(arg: unknown, type: unknown): boolean { + if (!isStatusObject(arg)) { + return false; + } + + const bin = arg.metadata.get('grpc-status-details-bin')[0]; + + const uint8Array = + typeof bin === 'string' + ? stringToUint8Array(bin) + : new Uint8Array(bin.buffer, bin.byteOffset, bin.byteLength); + + const errors = Status.deserializeBinary(uint8Array) + .getDetailsList() + .map((details) => { + const typeUrl = details.getTypeUrl(); + const ErrorType = protoErrorsMap.get(typeUrl); + return ErrorType?.deserializeBinary(details.getValue_asU8()); + }); + + return !!errors.find((error) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return error && error instanceof type; + }); + } + + function isStatusObject(arg: unknown): arg is StatusObject { if (typeof arg === 'object') { // eslint-disable-next-line @typescript-eslint/no-explicit-any const any = arg as any; From a5bf56ffa665a0054b1b788c6aeaf84fd7400080 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 6 Sep 2024 01:53:34 +0200 Subject: [PATCH 23/87] feat: upload using programmer by default if board requires it --- .../browser/contributions/upload-sketch.ts | 31 +++++++++++++++++-- .../src/common/protocol/core-service.ts | 5 +++ .../src/node/core-service-impl.ts | 15 ++++++++- 3 files changed, 48 insertions(+), 3 deletions(-) diff --git a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts index 9cee46abb..c21b86190 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts @@ -127,6 +127,7 @@ export class UploadSketch extends CoreServiceContribution { usingProgrammer, verifyOptions ); + if (!uploadOptions) { return; } @@ -137,11 +138,37 @@ export class UploadSketch extends CoreServiceContribution { const uploadResponse = await this.doWithProgress({ progressText: nls.localize('arduino/sketch/uploading', 'Uploading...'), - task: (progressId, coreService, token) => - coreService.upload({ ...uploadOptions, progressId }, token), + task: async (progressId, coreService, token) => { + try { + return await coreService.upload( + { ...uploadOptions, progressId }, + token + ); + } catch (err) { + if (err.code === 4005) { + const uploadWithProgrammerOptions = await this.uploadOptions( + true, + verifyOptions + ); + if (uploadWithProgrammerOptions) { + return coreService.upload( + { ...uploadWithProgrammerOptions, progressId }, + token + ); + } + } else { + throw err; + } + } + }, keepOutput: true, cancelable: true, }); + + if (!uploadResponse) { + return; + } + // the port update is NOOP if nothing has changed this.boardsServiceProvider.updateConfig(uploadResponse.portAfterUpload); diff --git a/arduino-ide-extension/src/common/protocol/core-service.ts b/arduino-ide-extension/src/common/protocol/core-service.ts index f3a681d48..2b4a07652 100644 --- a/arduino-ide-extension/src/common/protocol/core-service.ts +++ b/arduino-ide-extension/src/common/protocol/core-service.ts @@ -71,6 +71,7 @@ export namespace CoreError { Upload: 4002, UploadUsingProgrammer: 4003, BurnBootloader: 4004, + UploadRequiresProgrammer: 4005, }; export const VerifyFailed = declareCoreError(Codes.Verify); export const UploadFailed = declareCoreError(Codes.Upload); @@ -78,6 +79,10 @@ export namespace CoreError { Codes.UploadUsingProgrammer ); export const BurnBootloaderFailed = declareCoreError(Codes.BurnBootloader); + export const UploadRequiresProgrammer = declareCoreError( + Codes.UploadRequiresProgrammer + ); + export function is( error: unknown ): error is ApplicationError { diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index 9ae7b405e..b8eba0335 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -1,4 +1,4 @@ -import type { ClientReadableStream } from '@grpc/grpc-js'; +import { type ClientReadableStream } from '@grpc/grpc-js'; import { ApplicationError } from '@theia/core/lib/common/application-error'; import type { CancellationToken } from '@theia/core/lib/common/cancellation'; import { CommandService } from '@theia/core/lib/common/command'; @@ -41,6 +41,7 @@ import { Port as RpcPort } from './cli-protocol/cc/arduino/cli/commands/v1/port_ import { BurnBootloaderRequest, BurnBootloaderResponse, + ProgrammerIsRequiredForUploadError, UploadRequest, UploadResponse, UploadUsingProgrammerRequest, @@ -295,12 +296,24 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { reject(UserAbortApplicationError()); return; } + + if ( + ServiceError.isInstanceOf( + error, + ProgrammerIsRequiredForUploadError + ) + ) { + reject(CoreError.UploadRequiresProgrammer()); + return; + } + const message = nls.localize( 'arduino/upload/error', '{0} error: {1}', firstToUpperCase(task), error.details ); + this.sendResponse(error.details, OutputMessage.Severity.Error); reject( errorCtor( From 29219796780dc250bac4deaaf6a2f4c6ddf69735 Mon Sep 17 00:00:00 2001 From: Dave Simpson <45690499+davegarthsimpson@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:59:16 +0200 Subject: [PATCH 24/87] Use `macos-13` for Intel build (#2508) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 058f081f7..cb94fbe05 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,7 +99,7 @@ env: name: Linux_X86-64_app_image - config: name: macOS x86 - runs-on: macos-latest + runs-on: macos-13 container: | null # APPLE_SIGNING_CERTIFICATE_P12 secret was produced by following the procedure from: From 16bc1a4610939041b6903ad5b71f24f6baf937f2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 17:05:43 +0200 Subject: [PATCH 25/87] Updated translation files (#2392) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- i18n/af.json | 5 +- i18n/ar.json | 5 +- i18n/az.json | 5 +- i18n/be.json | 552 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/bg.json | 5 +- i18n/ca_ES.json | 35 +-- i18n/cs.json | 5 +- i18n/da.json | 552 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/de.json | 293 ++++++++++++------------ i18n/el.json | 69 +++--- i18n/es.json | 5 +- i18n/eu.json | 5 +- i18n/fa.json | 5 +- i18n/fil.json | 5 +- i18n/fr.json | 5 +- i18n/he.json | 5 +- i18n/hu.json | 5 +- i18n/hy.json | 552 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/id.json | 9 +- i18n/it.json | 7 +- i18n/ja.json | 5 +- i18n/ko.json | 5 +- i18n/my_MM.json | 5 +- i18n/ne.json | 5 +- i18n/nl.json | 5 +- i18n/no.json | 552 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/pl.json | 55 ++--- i18n/pt.json | 33 +-- i18n/ro.json | 5 +- i18n/ru.json | 293 ++++++++++++------------ i18n/si.json | 552 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/sr.json | 5 +- i18n/th.json | 5 +- i18n/tr.json | 5 +- i18n/uk.json | 19 +- i18n/vi.json | 87 ++++---- i18n/zh-Hant.json | 5 +- i18n/zh.json | 5 +- i18n/zh_TW.json | 9 +- 39 files changed, 3289 insertions(+), 495 deletions(-) create mode 100644 i18n/be.json create mode 100644 i18n/da.json create mode 100644 i18n/hy.json create mode 100644 i18n/no.json create mode 100644 i18n/si.json diff --git a/i18n/af.json b/i18n/af.json index 15774de28..cf5ee6560 100644 --- a/i18n/af.json +++ b/i18n/af.json @@ -152,7 +152,8 @@ "serialMonitor": "Seriaal Monitor", "type": "Type", "unknown": "Onbekend", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Compilation error: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Debugging is not supported by '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platform is nie geïnstalleer vir ' {0} '", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Geoptimaliseerd vir ontfouting", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "saamstel", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/ar.json b/i18n/ar.json index 5bca31e16..3caadecc5 100644 --- a/i18n/ar.json +++ b/i18n/ar.json @@ -152,7 +152,8 @@ "serialMonitor": "مراقب المنفذ التسلسلي \"سيريال بورت\"\n ", "type": "النوع", "unknown": "غير معروف", - "updateable": "يمكن تحديثه" + "updateable": "يمكن تحديثه", + "userAbort": "User abort" }, "compile": { "error": "خطا في الترجمة : {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "'{0}' لا يقبل التصحيح البرمجي", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "المنصة غير مثبتة ل '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "التحسين من اجل التصحيح البرمجي", "sketchIsNotCompiled": "المشروع '{0}' يجب ان يتم التحقق منه قبل بدء جلسة تصحيح الاخطاء . الرجاء التحقق من المشروع و اعادة تشغيل مصحح الاخطاء مرة اخرى .\nهل تريد التحقق من المشروع الان؟" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True اذا كان يجب تحذير المستخدمين قبل سحب مشروع من السحابة . True افتراضيا", "cloud.push.warn": "True اذا كان يجب تحذير المستخدمين قبل دفع مشروع الى السحابة . True افتراضيا", "cloud.pushpublic.warn": "True اذا كان يجب تحذير المستخدمين قبل دفع مشروع عام الى السحابة . True افتراضيا", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "الوجهة المستخدمة لدفع و سحب المشاريع من الخلفية . تشير افتراضيا الى Arduino Cloud API.", "compile": "الترجمة", "compile.experimental": "مُفعل اذا وَجَبَ على الIDE التعامل مع عدة اخطاء اثناء الترجمة . غير مفعل بشكل افتراضي ", diff --git a/i18n/az.json b/i18n/az.json index a8cfcdb9d..1027d9092 100644 --- a/i18n/az.json +++ b/i18n/az.json @@ -152,7 +152,8 @@ "serialMonitor": "Serial Monitor", "type": "Type", "unknown": "Bilnməyən", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Compilation error: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Debugging is not supported by '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimize for Debugging", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "compile", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/be.json b/i18n/be.json new file mode 100644 index 000000000..ff3779efb --- /dev/null +++ b/i18n/be.json @@ -0,0 +1,552 @@ +{ + "arduino": { + "about": { + "detail": "Версія: {0}\nДата: {1}{2}\nВерсія CLI: {3}\n\n{4}", + "label": "Пра {0}" + }, + "account": { + "goToCloudEditor": "Перайсці ў сродак праўкі воблака", + "goToIoTCloud": "Перайсці ў воблака IoT", + "goToProfile": "Перайсці ў профіль", + "menuTitle": "Воблака Arduino" + }, + "board": { + "board": "Плата{0}", + "boardConfigDialogTitle": "Абярыце іншую плату і порт", + "boardInfo": "Інфармацыя пра плату", + "boards": "платы", + "configDialog1": "Абярыце як плату, так і порт, калі вы жадаеце загрузіць сцэнар.", + "configDialog2": "Калі вы выбіраеце толькі плату, вы зможаце кампіліраваць, але не загружаць сцэнар.", + "couldNotFindPreviouslySelected": "Не атрымалася знайсці раней абраную плату '{0}' на ўсталяванай платформе '{1}'.\nКалі ласка, абярыце ўручную плату, якую вы жадаеце ўжываць.\nЦі жадаеце вы паўторна абраць яе зараз?", + "editBoardsConfig": "Змяніць плату і порт…", + "getBoardInfo": "Атрымаць інфармацыю пра плату", + "inSketchbook": " (у альбоме з сцэнарамі)", + "installNow": "Ядро \"{0} {1}\" павінна быць усталяванае для абранай у бягучы час платы \"{2}\".\nЦі жадаеце вы ўсталяваць яе зараз?", + "noBoardsFound": "Не знойдзена плат для \"{0}\"", + "noNativeSerialPort": "Уласны паслядоўны порт, не атрымалася атрымаць інфармацыю.", + "noPortsDiscovered": "Парты не выяўленыя", + "nonSerialPort": "Уласны паслядоўны порт, не атрымалася атрымаць інфармацыю.", + "openBoardsConfig": "Абярыце іншую плату і порт…", + "pleasePickBoard": "Калі ласка, абярыце плату, якая злучаная з абраным вамі портам.", + "port": "Порт{0}", + "ports": "порты", + "programmer": "Сродак праграмавання", + "reselectLater": "Абярыце паўторна пазней", + "revertBoardsConfig": "Ужыта '{0}' выяўлена ў '{1}'", + "searchBoard": "Знайсці плату", + "selectBoard": "Знайсці плату", + "selectPortForInfo": "Калі ласка, абярыце порт, каб атрымаць інфармацыю пра плату.", + "showAllAvailablePorts": "Паказвае ўсе даступныя порты, калі яны ўключаныя", + "showAllPorts": "Паказаць усе порты", + "succesfullyInstalledPlatform": "Платформа {0}:{1} паспяхова ўсталяваная", + "succesfullyUninstalledPlatform": "Платформа {0}:{1} паспяхова выдаленая", + "typeOfPorts": "{0} порты", + "unconfirmedBoard": "Непацвержданная плата", + "unknownBoard": "Невядомая плата" + }, + "boardsManager": "Кіраванне платамі", + "boardsType": { + "arduinoCertified": "Сертыфікаваны Arduino" + }, + "bootloader": { + "burnBootloader": "Прашыць загрузнік", + "burningBootloader": "Прашыўка загрузніка…", + "doneBurningBootloader": "Прашыўка загрузніка скончаная." + }, + "burnBootloader": { + "error": "Памылка пры запісу загрузніка: {0}" + }, + "certificate": { + "addNew": "Дадаць новы", + "addURL": "Дадаць адрас URL для атрымання сертыфіката SSL", + "boardAtPort": "{0} у {1}", + "certificatesUploaded": "Сертыфікаты загружаныя.", + "enterURL": "Увядзіце адрас URL", + "noSupportedBoardConnected": "Плата, якая падтрымліваецца, не падключаная", + "openContext": "Адчыніць кантэкст", + "remove": "Выдаліць", + "selectBoard": "Абраць плату…", + "selectCertificateToUpload": "1. Абярыце сертыфікат для выгрузкі", + "selectDestinationBoardToUpload": "2. Абярыце мэтавую плату, і выгрузіце сертыфікат", + "upload": "Выгрузіць", + "uploadFailed": "Не атрымалася выгрузіць.\nКалі ласка, паспрабуйце зноў.", + "uploadRootCertificates": "Выгрузіць каранёвые сертыфікаты SSL", + "uploadingCertificates": "Выгрузка сертыфікатаў." + }, + "checkForUpdates": { + "checkForUpdates": "Праверыць наяўнасць абнаўленняў Arduino", + "installAll": "Усталяваць усе", + "noUpdates": "Апошнія абнаўленні недаступныя.", + "promptUpdateBoards": "Даступныя абнаўленні для некаторых вашых плат.", + "promptUpdateLibraries": "Даступныя абнаўленні для некаторых вашых бібліятэк.", + "updatingBoards": "Абнаўленне плат…", + "updatingLibraries": "Абнаўленне бібліятэк…" + }, + "cli-error-parser": { + "keyboardError": "'Keyboard' не знойдзеная.\nЦі прысутнічае ў вашым сцэнары радок '#include '?", + "mouseError": "'Mouse' Не знойдзеная.\nЦі прысутнічае ў вашым сцэнары радок '#include '?" + }, + "cloud": { + "chooseSketchVisibility": "Абярыце бачнасць вашага сцэнару:", + "cloudSketchbook": "Альбом з сцэнарамі ў воблаке", + "connected": "Злучана", + "continue": "Працягнуць", + "donePulling": "Скончана выцягванне '{0}'.", + "donePushing": "Скончана адпраўка '{0}'.", + "embed": "Убудаваны:", + "emptySketchbook": "Ваш альбом з сцэнарамі пусты", + "goToCloud": "Перайсці ў воблака", + "learnMore": "Вывучыць больш", + "link": "Спасылак:", + "notYetPulled": "Не атрымалася паслаць у воблака.\nСцэнар яшчэ не выцягнуты.", + "offline": "Не ў сетцы", + "openInCloudEditor": "Адчыніць у сродку праўкі воблака", + "options": "Налады…", + "privateVisibility": "Асабісты.\nТолькі вы можаце глядзець сцэнар.", + "profilePicture": "Выява профілю", + "publicVisibility": "Грамадскі.\nЛюбы, хто мае спасылак, можа глядзець сцэнар.", + "pull": "Выцягнуць", + "pullFirst": "Спачатку вы павінны выцягнуць, каб мець магчымасць перайсці да воблака.", + "pullSketch": "Выцягнуць сцэнар", + "pullSketchMsg": "Пры выцягванні гэтага сцэнару з воблаку, будзе перазапісаная яго лакальная версія.\nЦі жадаеце працягнуць?", + "push": "Адправіць", + "pushSketch": "Адправіць сцэнар", + "pushSketchMsg": "Гэта грамадскі сцэнар.\nПерад адпраўкай пераканайцеся, што ў файлах arduino_secrets.h паказана любая канфідэнцыйная інфармацыя.\nВы можаце зрабіць сцэнар прыватным з панэлі агульнага доступу.", + "remote": "Падалены", + "share": "Падзяліцца…", + "shareSketch": "Падзяліцца сцэнарам", + "showHideSketchbook": "Адлюстраваць/схаваць альбом з сцэнарамі ў воблаке", + "signIn": "Увайсці", + "signInToCloud": "Увайсці ў воблака Arduino", + "signOut": "Выйсці", + "sync": "Сінхранізаваць", + "syncEditSketches": "Сінхранізаваць і змяніць сцэнары ў воблаку Arduino", + "visitArduinoCloud": "Наведаць воблака Arduino, каб стварыць сцэнары ў воблаке." + }, + "cloudSketch": { + "alreadyExists": "Сцэнар '{0}' ў воблаке ўжо існуе.", + "creating": "Стварэнне сцэнара '{0}' ў воблаке…", + "new": "Новы сцэнар у воблаку", + "notFound": "Не атрымалася выцягнуць сцэнар '{0}' з воблака.\nСцэнар не існуе.", + "pulling": "Сінхранізацыя альбому, выцягванне '{0}'…", + "pushing": "Сінхранізацыя альбому, адпраўка '{0}'…", + "renaming": "Пераназваць сцэнар '{0}' у '{1}' у воблаке…", + "synchronizingSketchbook": "Сінхранізацыя альбому з сцэнарамі…" + }, + "common": { + "all": "Усе", + "contributed": "Уклад", + "installManually": "Усталяваць уручную", + "later": "Пазней", + "noBoardSelected": "плата не абраная", + "noSketchOpened": "Сцэнар не абраны", + "notConnected": "[не злучана]", + "offlineIndicator": "Падобна на тое, што вы знаходзіцеся не ў сетцы.\nБез злучэння з інтэрнэтам Arduino CLI можа не загружаць неабходныя рэсурсы і гэтае можа прывесці да збою ў працы.\nКалі ласка, злучыцеся з інтэрнэтам, і запусціце праграму нанова.", + "oldFormat": "'{0}' ужывае стары фармат `.pde`.\nЦі жадаеце вы перайсці на новае пашырэнне `.ino`?", + "partner": "Партнёр", + "processing": "Апрацоўка", + "recommended": "Рэкамендаваны", + "retired": "У адстаўцы", + "selectManually": "Абраць уручную", + "selectedOn": "уключана {0}", + "serialMonitor": "Манітор паслядоўнага порта", + "type": "Тып", + "unknown": "Невядома", + "updateable": "Абнаўляецца", + "userAbort": "Перапыненне карыстальнікам" + }, + "compile": { + "error": "Памылка кампіляцыі: {0}" + }, + "component": { + "boardsIncluded": "Платы, якія ўваходзяць у гэты пакет:", + "by": "ад", + "clickToOpen": "Пстрыкніце, каб адчыніць ў інтэрнэт-аглядальніку: {0}", + "filterSearch": "Фільтраваць пошук…", + "install": "Усталяваць", + "installLatest": "Усталяваць пазней", + "installVersion": "Усталяваць {0}", + "installed": "{0} усталяваны", + "moreInfo": "Дадатковая інфармацыя", + "otherVersions": "Іншыя версіі", + "remove": "Выдаліць", + "title": "{0} ад {1}", + "uninstall": "Выдаліць", + "uninstallMsg": "Ці сапраўды вы жадаеце выдаліць {0}?", + "update": "Абнавіць" + }, + "configuration": { + "cli": { + "inaccessibleDirectory": "Не атрымалася атрымаць доступ да размяшчэння альбому па адрасу '{0}': {1}" + } + }, + "connectionStatus": { + "connectionLost": "Злучэнне страчанае.\nДзеянні і абнаўленні сцэнараў воблаку будуць недаступныя." + }, + "contributions": { + "addFile": "Дадаць файл", + "fileAdded": "Адзін файл дададзены ў сцэнар.", + "plotter": { + "couldNotOpen": "Не атрымалася адчыніць паслядоўны плотэр" + }, + "replaceTitle": "Замяніць" + }, + "core": { + "compilerWarnings": { + "all": "Усе", + "default": "Першапачаткова", + "more": "Больш", + "none": "Ніхто" + } + }, + "coreContribution": { + "copyError": "Капіраваць паведамленні пра памылкі", + "noBoardSelected": "Плата не выбрана.\nКалі ласка, абярыце вашу плату Arduino у меню Інструменты > Плата." + }, + "createCloudCopy": "Перамясціць сцэнар у воблака", + "daemon": { + "restart": "Запусціць Daemon нанова", + "start": "Запусціць Daemon", + "stop": "Спыніць Daemon" + }, + "debug": { + "debugWithMessage": "Адладзіць - {0}", + "debuggingNotSupported": "Адладка не падтрымліваецца для '{0}'", + "getDebugInfo": "Атрыманне дадатковай інфармацыі…", + "noPlatformInstalledFor": "Платформа не ўсталяваная для '{0}'", + "optimizeForDebugging": "Аптымізаваць для адладкі", + "sketchIsNotCompiled": "Сцэнар '{0}' неабходна праверыць перад пачаткам сеансу адладкі.\nКалі ласка, праверце сцэнар, і пачніце адладку нанова.\nЦі жадаеце праверыць сцэнар зараз?" + }, + "developer": { + "clearBoardList": "Ачысціць гісторыю спісу плат", + "clearBoardsConfig": "Ачысціць плату і абраць порт", + "dumpBoardList": "Звалка спісу плат" + }, + "dialog": { + "dontAskAgain": "Болей не пытаць" + }, + "editor": { + "autoFormat": "Аўтаматычнае фарматаванне", + "commentUncomment": "Каментаваць/раскаментаваць", + "copyForForum": "Капіраваць для форуму (Markdown)", + "decreaseFontSize": "Паменшыць памер шрыфту", + "decreaseIndent": "Паменшыць водступ", + "increaseFontSize": "Павялічыць памер шрыфту", + "increaseIndent": "Павялічыць водступ", + "nextError": "Наступная памылка", + "previousError": "Папярэдняя памылка", + "revealError": "Выявіць памылку" + }, + "examples": { + "builtInExamples": "Убудаваныя прыклады", + "couldNotInitializeExamples": "Не атрымалася ініцыялізаваць убудаваныя прыклады.", + "customLibrary": "Прыклады з карыстальніцкіх бібліятэк", + "for": "Прыклады для {0}", + "forAny": "Прыклады для любой платы", + "menu": "Прыклады" + }, + "firmware": { + "checkUpdates": "Праверыць наяўнасць абнаўленняў", + "failedInstall": "Памылка ўсталявання.\nКалі ласка, паспрабуйце зноў.", + "install": "Усталяваць", + "installingFirmware": "Усталяванне прашыўкі.", + "overwriteSketch": "Усталяванне перазапіша сцэнар на плаце.", + "selectBoard": "Знайсці плату", + "selectVersion": "Абярыце версію прашыўкі", + "successfullyInstalled": "Прашыўка паспяхова ўсталяваная.", + "updater": "Сродак абнаўлення прашыўкі" + }, + "help": { + "environment": "Асяроддзе", + "faq": "Часта задаваныя пытанні", + "findInReference": "Знайсці ў даведніку", + "gettingStarted": "Прыступаючы да працы", + "keyword": "Увядзіце ключавае слова", + "privacyPolicy": "Палітыка прыватнасці", + "reference": "Даведнік", + "search": "Пошук на Arduino.cc", + "troubleshooting": "Дыягностыка", + "visit": "Перайсці на Arduino.cc" + }, + "ide-updater": { + "checkForUpdates": "Праверыць наяўнасць абнаўленняў Arduino IDE", + "closeAndInstallButton": "Зачыніць і ўсталяваць", + "closeToInstallNotice": "Зачыніце праграмнае забеспячэнне і ўсталюйце абнаўленне на свой кампутар.", + "downloadButton": "Спампаваць", + "downloadingNotice": "Пампуе апошнюю версію Arduino IDE.", + "errorCheckingForUpdates": "Памылка пры праверцы абнаўленняў Arduino IDE.\n{0}", + "goToDownloadButton": "Перайсці да спампоўкі", + "goToDownloadPage": "Даступна абнаўленне для Arduino IDE, але мы не можам загрузіць і ўсталяваць яго аўтаматычна.\nКалі ласка, перайдзіце на старонку спампоўкі і спампуйце адтуль апошнюю версію.", + "ideUpdaterDialog": "Абнаўленне праграмнага забеспячэння", + "newVersionAvailable": "Новая версія Arduino IDE ({0}) даступная для спампоўкі.", + "noUpdatesAvailable": "Апошнія абнаўленні для Arduino IDE недаступныя", + "notNowButton": "Не цяпер", + "skipVersionButton": "Прапусціць версію", + "updateAvailable": "Даступна абнаўленне", + "versionDownloaded": "Arduino IDE {0} быў спампаваны." + }, + "installable": { + "libraryInstallFailed": "Не атрымалася ўсталяваць бібліятэку: '{0}{1}'.", + "platformInstallFailed": "Не атрымалася ўсталяваць платформу: '{0}{1}'." + }, + "library": { + "addZip": "Дадаць бібліятэку .ZIP…", + "arduinoLibraries": "Бібліятэкі Arduino", + "contributedLibraries": "Прадстаўленыя бібліятэкі", + "include": "Уключыць бібліятэку", + "installAll": "Усталяваць усе", + "installLibraryDependencies": "Усталяваць залежнасці бібліятэк", + "installMissingDependencies": "Ці жадаеце вы ўсталяваць усе залежнасці, якія адсутнічаюць?", + "installOneMissingDependency": "Ці жадаеце вы ўсталяваць залежнасць, якая адсутнічае?", + "installWithoutDependencies": "Усталяваць без залежнасцяў", + "installedSuccessfully": "Бібліятэка {0}:{1} паспяхова ўсталяваная", + "libraryAlreadyExists": "Бібліятэка ўжо існуе.\nЦі жадаеце вы перазапісаць яе?", + "manageLibraries": "Кіраваць бібліятэкамі…", + "namedLibraryAlreadyExists": "Каталог бібліятэкі {0} ужо існуе.\nЦі жадаеце вы перазапісаць яе?", + "needsMultipleDependencies": "Бібліятэцы {0}:{1} патрэбныя некаторыя іншыя залежнасці, якія ў бягучы час не ўсталяваныя:", + "needsOneDependency": "Бібліятэцы {0}:{1} патрабуецца іншая залежнасць, якая ў бягучы час не ўсталяваная:", + "overwriteExistingLibrary": "Ці жадаеце вы перазапісаць існуючую бібліятэку?", + "successfullyInstalledZipLibrary": "Бібліятэка з архіва {0} паспяхова ўсталяваная", + "title": "Кіраванне бібліятэкай", + "uninstalledSuccessfully": "Бібліятэка {0}:{1} паспяхова выдаленая", + "zipLibrary": "Бібліятэка" + }, + "librarySearchProperty": { + "topic": "Тэма" + }, + "libraryTopic": { + "communication": "Зносіны", + "dataProcessing": "Апрацоўка дадзеных", + "dataStorage": "Сховішча дадзеных", + "deviceControl": "Кіраванне прыладай", + "display": "Дысплей", + "other": "Іншае", + "sensors": "Датчыкі", + "signalInputOutput": "Сігналы ўводу/вываду", + "timing": "Сінхранізацыя", + "uncategorized": "Без рубрыкі" + }, + "libraryType": { + "installed": "Усталяваная" + }, + "menu": { + "advanced": "Пашыраны", + "sketch": "Сцэнар", + "tools": "Інструменты" + }, + "monitor": { + "alreadyConnectedError": "Не атрымалася злучыцца з портам {0} {1}.\nУжо злучаны.", + "baudRate": "{0} бод", + "connectionFailedError": "Не атрымалася злучыцца з портам {0} {1}", + "connectionFailedErrorWithDetails": "{0} не атрымалася злучыцца з портам {1} {2}.", + "connectionTimeout": "Затрымка.\nIDE не атрымалася паведамленне 'success' ад манітора паслядоўнага злучэння", + "missingConfigurationError": "Не атрымалася злучыцца з портам {0} {1}.\nКанфігурацыя манітора адсутнічае.", + "notConnectedError": "Не злучаны з портам {0} {1}.", + "unableToCloseWebSocket": "Не атрымалася зачыніць вэб-сокет", + "unableToConnectToWebSocket": "Не атрымалася злучыцца з вэб-сокетам" + }, + "newCloudSketch": { + "newSketchTitle": "Назва новага сцэнара ў воблаку" + }, + "portProtocol": { + "network": "Сетка", + "serial": "Паслядоўны порт" + }, + "preferences": { + "additionalManagerURLs": "Адрасы URL кіраўніка дадатковых плат", + "auth.audience": "Аўдыторыя OAuth2.", + "auth.clientID": "Ідэнтыфікатар кліенту OAuth2.", + "auth.domain": "Дамен OAuth2.", + "auth.registerUri": "URI, які ўжываецца пры рэгістрацыі новага карыстальніка.", + "automatic": "Аўтаматычна", + "board.certificates": "Спіс сертыфікатаў, якія могуць быць загружаныя на плату", + "browse": "Праглядзець", + "checkForUpdate": "Атрымліваць апавяшчэнні аб даступных абнаўленнях для IDE, плат і бібліятэк.\nПатрабуецца запусціць IDE нанова пасля ўнясення змяненняў.\nПершапачаткова true.", + "choose": "Выбраць", + "cli.daemonDebug": "Уключыць вядзенне часопісу адладкі выклікаў gRPC ў Arduino CLI.\nКаб уступіла ў сілу гэтая налада, патрабуецца запусціць IDE нанова.\nПершапачаткова false.", + "cloud.enabled": "Калі true, функцыі сінхранізацыі сцэнару ўключаныя.\nПершапачаткова true.", + "cloud.pull.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад стварэннем сцэнара ў воблаку.\nПершапачаткова true.", + "cloud.push.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад запускам сцэнара ў воблаку.\nПершапачаткова true.", + "cloud.pushpublic.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад адпраўкай агульнадаступнага сцэнара ў воблака.\nПершапачаткова true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "Канчатковая кропка, якая ўжываецца для адпраўкі і выцягвання сцэнара з сервернай часткі.\nПершапачаткова яна паказвае на API воблака Arduino.", + "compile": "кампіляваць", + "compile.experimental": "Калі true, асяроддзе IDE павінна апрацоўваць некалькі памылак кампілятара.\nПершапачаткова false", + "compile.revealRange": "Наладжвае спосаб адлюстравання памылак кампілятара ў сродку праўкі пасля няўдалай праверкі/загрузкі.\nМагчымыя значэнні:\n'auto': пракруціць па вертыкалі па меры неабходнасці і адлюстраваць радок.\n'center': пракруціць па вертыкалі па меры неабходнасці і адлюстраваць радок па цэнтры па вертыкалі.\n'top': пракруціць па вертыкалі па меры неабходнасці і паказаць лінію блізка да верхняй частцы вобласці прагляду, аптымізаваную для прагляду вызначэння кода.\n'centerIfOutsideViewport': пракруціць па вертыкалі па меры неабходнасці і паказаць лінію, цэнтраваць па вертыкалі, толькі калі яна знаходзіцца за межамі вобласці прагляду.\nПершапачаткова - '{0}'.", + "compile.verbose": "Калі true, каб быў падрабязны вывад кампілятарам.\nПершапачаткова false", + "compile.warnings": "Паказвае gcc, які ўжываць узровень папярэджанняў.\nПершапачаткова 'None'", + "compilerWarnings": "Папярэджанні кампілятара", + "editorFontSize": "Памер шрыфту ў сродку праўкі", + "editorQuickSuggestions": "Хуткія падказкі ў сродку праўкі", + "enterAdditionalURLs": "Увядзіце дадатковыя адрасы URL, па адным на кожным радку", + "files.inside.sketches": "Адлюстраваць файлы ўнутры сцэнара", + "ide.updateBaseUrl": "Асноўны адрас URL, з якога можна спампаваць абнаўленні.\nПершапачаткова 'https://downloads.arduino.cc/arduino-ide'", + "ide.updateChannel": "Канал выпуску, з якога можна атрымліваць абнаўленні.\n'stable' - гэта стабільны выпуск, 'nightly' - апошняя зборка для распрацоўшчыкаў.", + "interfaceScale": "Маштабаванне інтэрфейсу", + "invalid.editorFontSize": "Хібны памер шрыфту сродку праўкі.\nПавінны быць станоўчы цэлы лік.", + "invalid.sketchbook.location": "Хібнае размяшчэнне альбому з сцэнарамі: {0}", + "invalid.theme": "Хібная тэма.", + "language.asyncWorkers": "Колькасць асінхронных працоўных працэсаў, якія ўжываюцца моўным серверам Arduino (clangd).\nФонавы індэкс таксама ўжывае дадзеную колькасць працоўных працэсаў.\nНайменшае значэнне 0, а найбольшае - 8.\nКалі 0, моўны сервер ужывае ўсе даступныя ядры.\nПершапачаткова 0.", + "language.log": "Калі true, моўны сервер Arduino павінен ствараць файлы часопісу ў каталог з сцэнарам.\nУ адваротным выпадку false.\nПершапачаткова false.", + "language.realTimeDiagnostics": "Калі true, моўны сервер забяспечвае дыягностыку пры ўводзе тэксту ў сродку праўкі ў рэальным часе.\nПершапачаткова false.", + "manualProxy": "Ручная налада проксі-сервера", + "monitor": { + "dockPanel": "Вобласць асяроддзя праграмы, дзе будзе знаходзіцца віджэт _{0}_.\nГэта \"bottom\" ці \"right\".\nПершапачаткова \"{1}\"." + }, + "network": "Сетка", + "newSketchbookLocation": "Абраць новае месцазнаходжанне альбому з сцэнарамі", + "noCliConfig": "Не атрымалася загрузіць канфігурацыю CLI", + "noProxy": "Без проксі-сервера", + "proxySettings": { + "hostname": "Назва вузла", + "password": "Пароль", + "port": "Нумар порта", + "username": "Імя карыстальніка" + }, + "showVerbose": "Паказаць падрабязныя выходныя дадзеныя падчас", + "sketch": { + "inoBlueprint": "Абсалютны шлях файлавай сістэмы да першапачатковага файла схемы `.ino`.\nКалі паказана, змест файлу схемы будзе ўжывацца для кожнага новага сцэнара, які створаны ў IDE.\nСцэнары будуць створаныя з ужываннем першапачатковага зместу Arduino, калі не пазначана.\nНедаступныя файлы схемы ігнаруюцца.\nКаб гэты параметр уступіў сілу, **патрабуецца запуск IDE нанова**." + }, + "sketchbook.location": "Месцазнаходжанне альбому з сцэнарамі", + "sketchbook.showAllFiles": "Калі true, адлюстроўваюцца ўсе файлы сцэнараў унутры сцэнара.\nПершапачаткова false.", + "survey.notification": "Калі true, карыстальнікі павінны атрымліваць апавяшчэнні аб даступнасці апытання.\nПершапачаткова true.", + "unofficialBoardSupport": "Пстрыкніце, каб праглядзець спіс адрасоў URL падтрымкі неафіцыйных плат", + "upload": "выгрузіць", + "upload.verbose": "Калі true, каб быў падрабязны вывад пры загрузцы.\nПершапачаткова false.", + "verifyAfterUpload": "Праверыць код пасля выгрузкі", + "window.autoScale": "Калі true, карыстальніцкі інтэрфейс аўтаматычна маштабуецца ў адпаведнасці з памерам шрыфту.", + "window.zoomLevel": { + "deprecationMessage": "Састарэлы.\nЗамест гэтага ўжывайце 'window.zoomLevel'." + } + }, + "renameCloudSketch": { + "renameSketchTitle": "Новая назва сцэнара ў воблаку" + }, + "replaceMsg": "Ці замяніць існуючую версію {0}?", + "selectZip": "Абярыце файл zip, які змяшчае бібліятэку, якую вы жадаеце дадаць", + "serial": { + "autoscroll": "Аўтаматычная пракрутка", + "carriageReturn": "CR - вяртанне карэткі", + "connecting": "Злучэнне з '{0}' на '{1}'…", + "message": "Паведамленне (увядзіце, каб адправіць паведамленне '{0}' на '{1}')", + "newLine": "NL - новы радок", + "newLineCarriageReturn": "NL & CR - новы радок і вяртанне карэткі", + "noLineEndings": "Без канца радка", + "notConnected": "Не злучаны.\nАбярыце плату і порт для аўтаматычнага злучэння.", + "openSerialPlotter": "Паслядоўны плотэр", + "timestamp": "Адзнака часу", + "toggleTimestamp": "Пераключыць адзнаку часу" + }, + "sketch": { + "archiveSketch": "Архіваваць сцэнар", + "cantOpen": "Каталог \"{0}\" ужо існуе.\nНе атрымалася адчыніць сцэнар.", + "compile": "Кампіляцыя сцэнара…", + "configureAndUpload": "Наладзіць і выгрузіць", + "createdArchive": "Створаны архіў '{0}'.", + "doneCompiling": "Кампіляцыя скончана.", + "doneUploading": "Выгрузка скончана.", + "editInvalidSketchFolderLocationQuestion": "Ці жадаеце вы паспрабаваць захаваць сцэнар у іншым месцы?", + "editInvalidSketchFolderQuestion": "Ці жадаеце вы паспрабаваць захаваць сцэнар пад іншай назвай?", + "exportBinary": "Экспартаваць скампіляваны двайковы файл", + "invalidCloudSketchName": "Назва павінна пачынацца з літары, лічбы ці знака падкрэсляння, за якім ідуць літары, лічбы, працяжнікі, кропкі і знакі падкрэсляння.\nНайбольшая даўжыня - 36 знакаў.", + "invalidSketchFolderLocationDetails": "Вы не можаце захаваць сцэнар у каталогу ўнутры самога сабе.", + "invalidSketchFolderLocationMessage": "Хібнае размяшчэнне каталогу з сцэнарам: '{0}'", + "invalidSketchFolderNameMessage": "Хібнае імя каталогу з сцэнарам: '{0}'", + "invalidSketchName": "Назва павінна пачынацца з літары, лічбы ці знака падкрэсляння, за якім ідуць літары, лічбы, працяжнікі, кропкі і знакі падкрэсляння.\nНайбольшая даўжыня - 63 знакі.", + "moving": "Які рухаецца", + "movingMsg": "Файл \"{0}\" павінен знаходзіцца ў каталогу з сцэнарам \"{1}\".\nЦі стварыць каталог, перамясціць файл, і працягнуць?", + "new": "Новы сцэнар", + "noTrailingPeriod": "Імя файла не можа заканчвацца кропкай", + "openFolder": "Адчыніць каталог", + "openRecent": "Адчыніць нядаўні", + "openSketchInNewWindow": "Адчыніць сцэнар у новым акне", + "reservedFilename": "'{0}' - зарэзерваванае імя файла.", + "saveFolderAs": "Захаваць каталог з сцэнарам як…", + "saveSketch": "Захаваць сцэнар, каб адчыніць яго пазней.", + "saveSketchAs": "Захаваць каталог з сцэнарам як…", + "showFolder": "Адлюстраваць каталог з сцэнарам", + "sketch": "Сцэнар", + "sketchAlreadyContainsThisFileError": "Сцэнар ужо ўтрымлівае файл з іменем '{0}'", + "sketchAlreadyContainsThisFileMessage": "Не атрымалася захаваць сцэнар \"{0}\" як \"{1}\".\n{2}", + "sketchbook": "Альбом з сцэнарам", + "titleLocalSketchbook": "Лакальны альбом з сцэнарам", + "titleSketchbook": "Альбом з сцэнарам", + "upload": "Выгрузіць", + "uploadUsingProgrammer": "Выгрузіць з дапамогай сродку праграмавання", + "uploading": "Выгрузка…", + "userFieldsNotFoundError": "Не атрымалася знайсці карыстальніцкія палі для злучанай платы", + "verify": "Праверыць", + "verifyOrCompile": "Праверыць/Кампіляваць" + }, + "sketchbook": { + "newCloudSketch": "Новы сцэнар у воблаку", + "newSketch": "Новы сцэнар" + }, + "survey": { + "answerSurvey": "Апытанне з адказамі", + "dismissSurvey": "Болей не адлюстроўваць", + "surveyMessage": "Калі ласка, дапамажыце нам стаць лепш, адказаўшы на гэтае звышкароткае апытанне.\nМы цэнім нашу супольнасць і хацелі б даведацца нашых прыхільнікаў трохі лепш." + }, + "theme": { + "currentThemeNotFound": "Не атрымалася знайсці абраную ў дадзены момант тэму: {0}.\nArduino IDE абрала ўбудаваную тэму, якая сумяшчальная з адсутнай.", + "dark": "Цёмная", + "deprecated": "{0} (састарэлая)", + "hc": "Цёмная высокакантрасная", + "hcLight": "Светлая высокакантрасная", + "light": "Светлая", + "user": "{0} (карыстальніцкая)" + }, + "title": { + "cloud": "Воблака" + }, + "updateIndexes": { + "updateIndexes": "Абнавіць індэксы", + "updateLibraryIndex": "Абнавіць індэксы бібліятэкі", + "updatePackageIndex": "Абнавіць індэксы пакетаў" + }, + "upload": { + "error": "{0} памылка: {1}" + }, + "userFields": { + "cancel": "Адмяніць", + "enterField": "Увясці {0}", + "upload": "Выгрузіць" + }, + "validateSketch": { + "abortFixMessage": "Сцэнар па-ранейшаму хібны.\nЦі жадаеце вы ліквідаваць пакінутыя праблемы?\nНацісніце '{0}', адчыніцца новы сцэнар.", + "abortFixTitle": "Хібны сцэнар", + "renameSketchFileMessage": "Файл сцэнара '{0}' не можа быць ужыты.\n{1} Ці жадаеце вы пераназваць файл сцэнара прама зараз?", + "renameSketchFileTitle": "Хібнае імя файлу сцэнара", + "renameSketchFolderMessage": "Сцэнар '{0}' не можа быць ужыты.\n{1} Каб пазбавіцца ад гэтага паведамлення, пераназавіце сцэнар.\nЦі жадаеце вы пераназваць сцэнар?", + "renameSketchFolderTitle": "Хібная назва сцэнара" + }, + "workspace": { + "alreadyExists": "{0}' ужо існуе." + } + }, + "theia": { + "core": { + "cannotConnectBackend": "Не атрымалася злучыцца з сервернай часткай.", + "cannotConnectDaemon": "Не атрымалася злучыцца з дэманам CLI.", + "couldNotSave": "Не атрымалася захаваць сцэнар.\nКалі ласка, скапіруйце вашую незахаваную працу ў ваш любімы тэкставы сродак праўкі, і запусціце асяроддзе IDE нанова.", + "daemonOffline": "Дэман CLI у аўтаномным рэжыме", + "offline": "Аўтаномны", + "offlineText": "Не ў сетцы", + "quitTitle": "Ці ўпэўненыя вы, што жадаеце выйсці?" + }, + "editor": { + "unsavedTitle": "Незахаваны – {0}" + }, + "messages": { + "collapse": "Згарнуць", + "expand": "Разгарнуць" + }, + "workspace": { + "deleteCloudSketch": "Сцэнар у воблаку '{0}' будзе незваротна выдалены з сервераў Arduino і лакальных кэшаў.\nГэтае дзеянне незваротнае.\nЦі жадаеце вы выдаліць бягучы сцэнар?", + "deleteCurrentSketch": "Сцэнар '{0}' будзе незваротна выдалены.\nГэтае дзеянне незваротнае.\nЦі жадаеце вы выдаліць бягучы сцэнар?", + "fileNewName": "Імя для новага файла", + "invalidExtension": ".{0} не з'яўляецца дапушчальным пашырэннем", + "newFileName": "Новае імя для файла" + } + } +} diff --git a/i18n/bg.json b/i18n/bg.json index 6339fd280..e8102ac80 100644 --- a/i18n/bg.json +++ b/i18n/bg.json @@ -152,7 +152,8 @@ "serialMonitor": "Сериен Монитор", "type": "Type", "unknown": "Неизвестно", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Грешка при компилация: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Отстраняването на грешки не се поддържа от „{0}“", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Платформата не е инсталирана за „{0}“", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Оптимизиране за отстраняване на грешки", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True е, ако потребителите трябва да бъдат предупредени, преди да се изтегли скица от облака. По подразбиране е true.", "cloud.push.warn": "True, ако потребителите трябва да бъдат предупредени, преди да бъде пусната скица в облака. По подразбиране е true.", "cloud.pushpublic.warn": "True, ако потребителите трябва да бъдат предупредени, преди да бъде изпратена публична скица в облака. По подразбиране е true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "Крайната точка, използвана за изпращане и изтегляне на скици от бекенда. По подразбиране той сочи към Arduino Cloud API.", "compile": "компилиране", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/ca_ES.json b/i18n/ca_ES.json index 51b38011b..8d59ff87c 100644 --- a/i18n/ca_ES.json +++ b/i18n/ca_ES.json @@ -18,7 +18,7 @@ "configDialog1": "Selecciona una placa i un port si vols carregar un programa.", "configDialog2": "Si només selecciones una placa, podràs compilar, però no carregar un programa.", "couldNotFindPreviouslySelected": "No s'ha trobat la placa \"{0}\" seleccionada anteriorment en la plataforma instal·lada \"{1}\". Torna a seleccionar manualment la placa que vols utilitzar. Vols tornar-la a seleccionar ara?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "Selecciona placa i port...", "getBoardInfo": "Obtín informació de la placa", "inSketchbook": "(al quadern de programes)", "installNow": "El nucli de \"{0} {1}\" s'ha d'instal·lar en la placa \"{2}\" seleccionada actualment. Vols instal·lar-lo ara?", @@ -32,7 +32,7 @@ "ports": "ports", "programmer": "Programador", "reselectLater": "Torna a triar més tard", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "revertBoardsConfig": "Fes servir ' {0} ' descobert a ' {1} '", "searchBoard": "Busca una placa", "selectBoard": "Tria una placa", "selectPortForInfo": "Tria un port per obtenir informació de la placa.", @@ -41,7 +41,7 @@ "succesfullyInstalledPlatform": "Plataforma instal·lada correctament {0}:{1}", "succesfullyUninstalledPlatform": "Plataforma desinstal·lada correctament {0}:{1}", "typeOfPorts": "{0} ports", - "unconfirmedBoard": "Unconfirmed board", + "unconfirmedBoard": "Placa no confirmada", "unknownBoard": "Placa desconeguda" }, "boardsManager": "Gestor de plaques", @@ -139,7 +139,7 @@ "installManually": "Instal·la manualment", "later": "Més tard", "noBoardSelected": "No s'ha seleccionat cap placa", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Cap sketch obert", "notConnected": "[no connectat]", "offlineIndicator": "Sembla que estàs fora de línia. Sense connexió a Internet, és possible que l'Arduino CLI no pugui descarregar els recursos necessaris i podria provocar un mal funcionament. Connecteu-vos a Internet i reinicieu l'aplicació.", "oldFormat": "El \"{0}\" encara utilitza l'antic format \".pde\". Voleu canviar a la nova extensió \".ino\"?", @@ -147,12 +147,13 @@ "processing": "Processant", "recommended": "Recomanat", "retired": "Retirat", - "selectManually": "Select Manually", + "selectManually": "Selecciona manualment", "selectedOn": "sobre {0}", "serialMonitor": "Monitor sèrie", "type": "Tipus", "unknown": "Desconegut", - "updateable": "Actualitzable" + "updateable": "Actualitzable", + "userAbort": "Abortar per l'usuari" }, "compile": { "error": "Error de compilació: {0}" @@ -211,15 +212,14 @@ "debug": { "debugWithMessage": "Depuració - {0}", "debuggingNotSupported": "La depuració no és compatible amb '{0}'", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "Recopilant info depuració", "noPlatformInstalledFor": "La plataforma no està instal·lada per a '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimitzar per a la depuració", "sketchIsNotCompiled": "El programa \"{0}\" s'ha de comprovar abans de començar la depuració. Per favor, verifica el programa i comença a depurar de nou. Vols verificar el programa ara?" }, "developer": { - "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", + "clearBoardList": "Esborra historial del llistat de plaques", + "clearBoardsConfig": "Esborra la selecció de placa i port", "dumpBoardList": "Dump the Board List" }, "dialog": { @@ -254,7 +254,7 @@ "selectBoard": "Selecciona una placa", "selectVersion": "Selecciona la versió de l'entorn", "successfullyInstalled": "L'entorn s'ha instal·lat correctament.", - "updater": "Firmware Updater" + "updater": "Actualitzador de l'entorn WiFi101 / WiFiNINA" }, "help": { "environment": "Entorn", @@ -286,8 +286,8 @@ "versionDownloaded": "L'IDE d'Arduino {0} s'ha descarregat" }, "installable": { - "libraryInstallFailed": "Failed to install library: '{0}{1}'.", - "platformInstallFailed": "Failed to install platform: '{0}{1}'." + "libraryInstallFailed": "Instal.lació de llibrería fallida '{0}{1}'.", + "platformInstallFailed": "Instal.lació fallida de plataforma '{0}{1}'." }, "library": { "addZip": "Afegeix llibreria .ZIP...", @@ -368,6 +368,7 @@ "cloud.pull.warn": "És cert si s'ha d'avisar als usuaris abans de baixar un programa del núvol. Per defecte està activat.", "cloud.push.warn": "És cert si s'ha d'avisar als usuaris abans d'enviar un programa del núvol. Per defecte està activat.", "cloud.pushpublic.warn": "És cert si s'ha d'avisar als usuaris abans d'enviar un programa públic al núvol. Per defecte està activat.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "El punt final s'utilitza per a enviar i descarregar programes des d'un administrador. Per defecte apunta a l'API d'Arduino Cloud.", "compile": "compila", "compile.experimental": "És cert si l'IDE gestiona múltiples errors de compilació. Per defecte està desactivat.", @@ -465,8 +466,8 @@ "saveSketchAs": "Desa la carpeta del programa com a...", "showFolder": "Mostra la carpeta del programa", "sketch": "Programa", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "L' sketch ja conté un arxiu anomenat '{0}'", + "sketchAlreadyContainsThisFileMessage": "No s'ha pogut desar l' sketch \"{0}\" com a \"{1}\". {2}", "sketchbook": "Quadern de programes", "titleLocalSketchbook": "Quadern de programes local", "titleSketchbook": "Quadern de programes", @@ -490,8 +491,8 @@ "currentThemeNotFound": "No s'ha trobat el nom seleccionat: {0}. L'IDE d'Arduino ha agafat un tema compatible amb el que falta.", "dark": "Fosc", "deprecated": "{0} (obsolet)", - "hc": "Dark High Contrast", - "hcLight": "Light High Contrast", + "hc": "Fosc alt contrast", + "hcLight": "Clar alt contrast", "light": "Clar", "user": "{0} (usuari)" }, diff --git a/i18n/cs.json b/i18n/cs.json index 8469f806f..5f66422af 100644 --- a/i18n/cs.json +++ b/i18n/cs.json @@ -152,7 +152,8 @@ "serialMonitor": "Seriový monitor", "type": "typ", "unknown": "Neznámý", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Chyba kompilace: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Debugging není podporován s '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platforma není nainstalována pro '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "optimalizovat pro Debugging", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Ano pokud by měl být uživatel varován před stahováním cloud sketche. Ano je výchozí hodnota. ", "cloud.push.warn": "Ano pokud by měl být uživatel varován před odesláním cloud sketche. Ano je výchozí hodnota. ", "cloud.pushpublic.warn": "Ano pokud by měl být uživatel varován před odesláním veřejné sketche do cloudu. Ano je výchozí hodnota. ", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "Endpoint použitý pro stahování a odesílání sketchí z backendu. Ve výchozím stavu je toto směrováno na Arduino Cloud API.", "compile": "kompilovat", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/da.json b/i18n/da.json new file mode 100644 index 000000000..22babc740 --- /dev/null +++ b/i18n/da.json @@ -0,0 +1,552 @@ +{ + "arduino": { + "about": { + "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "label": "About {0}" + }, + "account": { + "goToCloudEditor": "Go to Cloud Editor", + "goToIoTCloud": "Go to IoT Cloud", + "goToProfile": "Go to Profile", + "menuTitle": "Arduino Cloud" + }, + "board": { + "board": "Board{0}", + "boardConfigDialogTitle": "Select Other Board and Port", + "boardInfo": "Board Info", + "boards": "boards", + "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", + "configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.", + "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", + "editBoardsConfig": "Edit Board and Port...", + "getBoardInfo": "Get Board Info", + "inSketchbook": " (in Sketchbook)", + "installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?", + "noBoardsFound": "No boards found for \"{0}\"", + "noNativeSerialPort": "Native serial port, can't obtain info.", + "noPortsDiscovered": "No ports discovered", + "nonSerialPort": "Non-serial port, can't obtain info.", + "openBoardsConfig": "Select other board and port…", + "pleasePickBoard": "Please pick a board connected to the port you have selected.", + "port": "Port{0}", + "ports": "ports", + "programmer": "Programmer", + "reselectLater": "Reselect later", + "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "searchBoard": "Search board", + "selectBoard": "Select Board", + "selectPortForInfo": "Please select a port to obtain board info.", + "showAllAvailablePorts": "Shows all available ports when enabled", + "showAllPorts": "Show all ports", + "succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}", + "succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}", + "typeOfPorts": "{0} ports", + "unconfirmedBoard": "Unconfirmed board", + "unknownBoard": "Unknown board" + }, + "boardsManager": "Boards Manager", + "boardsType": { + "arduinoCertified": "Arduino Certified" + }, + "bootloader": { + "burnBootloader": "Burn Bootloader", + "burningBootloader": "Burning bootloader...", + "doneBurningBootloader": "Done burning bootloader." + }, + "burnBootloader": { + "error": "Error while burning the bootloader: {0}" + }, + "certificate": { + "addNew": "Add New", + "addURL": "Add URL to fetch SSL certificate", + "boardAtPort": "{0} at {1}", + "certificatesUploaded": "Certificates uploaded.", + "enterURL": "Enter URL", + "noSupportedBoardConnected": "No supported board connected", + "openContext": "Open context", + "remove": "Remove", + "selectBoard": "Select a board...", + "selectCertificateToUpload": "1. Select certificate to upload", + "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", + "upload": "Upload", + "uploadFailed": "Upload failed. Please try again.", + "uploadRootCertificates": "Upload SSL Root Certificates", + "uploadingCertificates": "Uploading certificates." + }, + "checkForUpdates": { + "checkForUpdates": "Check for Arduino Updates", + "installAll": "Install All", + "noUpdates": "There are no recent updates available.", + "promptUpdateBoards": "Updates are available for some of your boards.", + "promptUpdateLibraries": "Updates are available for some of your libraries.", + "updatingBoards": "Updating boards...", + "updatingLibraries": "Updating libraries..." + }, + "cli-error-parser": { + "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", + "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + }, + "cloud": { + "chooseSketchVisibility": "Choose visibility of your Sketch:", + "cloudSketchbook": "Cloud Sketchbook", + "connected": "Connected", + "continue": "Continue", + "donePulling": "Done pulling '{0}'.", + "donePushing": "Done pushing '{0}'.", + "embed": "Embed:", + "emptySketchbook": "Your Sketchbook is empty", + "goToCloud": "Go to Cloud", + "learnMore": "Learn more", + "link": "Link:", + "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", + "offline": "Offline", + "openInCloudEditor": "Open in Cloud Editor", + "options": "Options...", + "privateVisibility": "Private. Only you can view the Sketch.", + "profilePicture": "Profile picture", + "publicVisibility": "Public. Anyone with the link can view the Sketch.", + "pull": "Pull", + "pullFirst": "You have to pull first to be able to push to the Cloud.", + "pullSketch": "Pull Sketch", + "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", + "push": "Push", + "pushSketch": "Push Sketch", + "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", + "remote": "Remote", + "share": "Share...", + "shareSketch": "Share Sketch", + "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "signIn": "SIGN IN", + "signInToCloud": "Sign in to Arduino Cloud", + "signOut": "Sign Out", + "sync": "Sync", + "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", + "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." + }, + "cloudSketch": { + "alreadyExists": "Cloud sketch '{0}' already exists.", + "creating": "Creating cloud sketch '{0}'...", + "new": "New Cloud Sketch", + "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", + "pulling": "Synchronizing sketchbook, pulling '{0}'...", + "pushing": "Synchronizing sketchbook, pushing '{0}'...", + "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", + "synchronizingSketchbook": "Synchronizing sketchbook..." + }, + "common": { + "all": "All", + "contributed": "Contributed", + "installManually": "Install Manually", + "later": "Later", + "noBoardSelected": "No board selected", + "noSketchOpened": "No sketch opened", + "notConnected": "[not connected]", + "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", + "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", + "partner": "Partner", + "processing": "Processing", + "recommended": "Recommended", + "retired": "Retired", + "selectManually": "Select Manually", + "selectedOn": "on {0}", + "serialMonitor": "Serial Monitor", + "type": "Type", + "unknown": "Unknown", + "updateable": "Updatable", + "userAbort": "User abort" + }, + "compile": { + "error": "Compilation error: {0}" + }, + "component": { + "boardsIncluded": "Boards included in this package:", + "by": "by", + "clickToOpen": "Click to open in browser: {0}", + "filterSearch": "Filter your search...", + "install": "Install", + "installLatest": "Install Latest", + "installVersion": "Install {0}", + "installed": "{0} installed", + "moreInfo": "More info", + "otherVersions": "Other Versions", + "remove": "Remove", + "title": "{0} by {1}", + "uninstall": "Uninstall", + "uninstallMsg": "Do you want to uninstall {0}?", + "update": "Update" + }, + "configuration": { + "cli": { + "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + } + }, + "connectionStatus": { + "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + }, + "contributions": { + "addFile": "Add File", + "fileAdded": "One file added to the sketch.", + "plotter": { + "couldNotOpen": "Couldn't open serial plotter" + }, + "replaceTitle": "Replace" + }, + "core": { + "compilerWarnings": { + "all": "All", + "default": "Default", + "more": "More", + "none": "None" + } + }, + "coreContribution": { + "copyError": "Copy error messages", + "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + }, + "createCloudCopy": "Push Sketch to Cloud", + "daemon": { + "restart": "Restart Daemon", + "start": "Start Daemon", + "stop": "Stop Daemon" + }, + "debug": { + "debugWithMessage": "Debug - {0}", + "debuggingNotSupported": "Debugging is not supported by '{0}'", + "getDebugInfo": "Getting debug info...", + "noPlatformInstalledFor": "Platform is not installed for '{0}'", + "optimizeForDebugging": "Optimize for Debugging", + "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + }, + "developer": { + "clearBoardList": "Clear the Board List History", + "clearBoardsConfig": "Clear the Board and Port Selection", + "dumpBoardList": "Dump the Board List" + }, + "dialog": { + "dontAskAgain": "Don't ask again" + }, + "editor": { + "autoFormat": "Auto Format", + "commentUncomment": "Comment/Uncomment", + "copyForForum": "Copy for Forum (Markdown)", + "decreaseFontSize": "Decrease Font Size", + "decreaseIndent": "Decrease Indent", + "increaseFontSize": "Increase Font Size", + "increaseIndent": "Increase Indent", + "nextError": "Next Error", + "previousError": "Previous Error", + "revealError": "Reveal Error" + }, + "examples": { + "builtInExamples": "Built-in examples", + "couldNotInitializeExamples": "Could not initialize built-in examples.", + "customLibrary": "Examples from Custom Libraries", + "for": "Examples for {0}", + "forAny": "Examples for any board", + "menu": "Examples" + }, + "firmware": { + "checkUpdates": "Check Updates", + "failedInstall": "Installation failed. Please try again.", + "install": "Install", + "installingFirmware": "Installing firmware.", + "overwriteSketch": "Installation will overwrite the Sketch on the board.", + "selectBoard": "Select Board", + "selectVersion": "Select firmware version", + "successfullyInstalled": "Firmware successfully installed.", + "updater": "Firmware Updater" + }, + "help": { + "environment": "Environment", + "faq": "Frequently Asked Questions", + "findInReference": "Find in Reference", + "gettingStarted": "Getting Started", + "keyword": "Type a keyword", + "privacyPolicy": "Privacy Policy", + "reference": "Reference", + "search": "Search on Arduino.cc", + "troubleshooting": "Troubleshooting", + "visit": "Visit Arduino.cc" + }, + "ide-updater": { + "checkForUpdates": "Check for Arduino IDE Updates", + "closeAndInstallButton": "Close and Install", + "closeToInstallNotice": "Close the software and install the update on your machine.", + "downloadButton": "Download", + "downloadingNotice": "Downloading the latest version of the Arduino IDE.", + "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", + "goToDownloadButton": "Go To Download", + "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", + "ideUpdaterDialog": "Software Update", + "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", + "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", + "notNowButton": "Not now", + "skipVersionButton": "Skip Version", + "updateAvailable": "Update Available", + "versionDownloaded": "Arduino IDE {0} has been downloaded." + }, + "installable": { + "libraryInstallFailed": "Failed to install library: '{0}{1}'.", + "platformInstallFailed": "Failed to install platform: '{0}{1}'." + }, + "library": { + "addZip": "Add .ZIP Library...", + "arduinoLibraries": "Arduino libraries", + "contributedLibraries": "Contributed libraries", + "include": "Include Library", + "installAll": "Install All", + "installLibraryDependencies": "Install library dependencies", + "installMissingDependencies": "Would you like to install all the missing dependencies?", + "installOneMissingDependency": "Would you like to install the missing dependency?", + "installWithoutDependencies": "Install without dependencies", + "installedSuccessfully": "Successfully installed library {0}:{1}", + "libraryAlreadyExists": "A library already exists. Do you want to overwrite it?", + "manageLibraries": "Manage Libraries...", + "namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?", + "needsMultipleDependencies": "The library {0}:{1} needs some other dependencies currently not installed:", + "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", + "overwriteExistingLibrary": "Do you want to overwrite the existing library?", + "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", + "title": "Library Manager", + "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", + "zipLibrary": "Library" + }, + "librarySearchProperty": { + "topic": "Topic" + }, + "libraryTopic": { + "communication": "Communication", + "dataProcessing": "Data Processing", + "dataStorage": "Data Storage", + "deviceControl": "Device Control", + "display": "Display", + "other": "Other", + "sensors": "Sensors", + "signalInputOutput": "Signal Input/Output", + "timing": "Timing", + "uncategorized": "Uncategorized" + }, + "libraryType": { + "installed": "Installed" + }, + "menu": { + "advanced": "Advanced", + "sketch": "Sketch", + "tools": "Tools" + }, + "monitor": { + "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", + "baudRate": "{0} baud", + "connectionFailedError": "Could not connect to {0} {1} port.", + "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", + "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", + "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", + "notConnectedError": "Not connected to {0} {1} port.", + "unableToCloseWebSocket": "Unable to close websocket", + "unableToConnectToWebSocket": "Unable to connect to websocket" + }, + "newCloudSketch": { + "newSketchTitle": "Name of the new Cloud Sketch" + }, + "portProtocol": { + "network": "Network", + "serial": "Serial" + }, + "preferences": { + "additionalManagerURLs": "Additional Boards Manager URLs", + "auth.audience": "The OAuth2 audience.", + "auth.clientID": "The OAuth2 client ID.", + "auth.domain": "The OAuth2 domain.", + "auth.registerUri": "The URI used to register a new user.", + "automatic": "Automatic", + "board.certificates": "List of certificates that can be uploaded to boards", + "browse": "Browse", + "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "choose": "Choose", + "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", + "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", + "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", + "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", + "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", + "compile": "compile", + "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", + "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", + "compile.verbose": "True for verbose compile output. False by default", + "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", + "compilerWarnings": "Compiler warnings", + "editorFontSize": "Editor font size", + "editorQuickSuggestions": "Editor Quick Suggestions", + "enterAdditionalURLs": "Enter additional URLs, one for each row", + "files.inside.sketches": "Show files inside Sketches", + "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", + "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", + "interfaceScale": "Interface scale", + "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", + "invalid.sketchbook.location": "Invalid sketchbook location: {0}", + "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", + "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", + "manualProxy": "Manual proxy configuration", + "monitor": { + "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + }, + "network": "Network", + "newSketchbookLocation": "Select new sketchbook location", + "noCliConfig": "Could not load the CLI configuration", + "noProxy": "No proxy", + "proxySettings": { + "hostname": "Host name", + "password": "Password", + "port": "Port number", + "username": "Username" + }, + "showVerbose": "Show verbose output during", + "sketch": { + "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + }, + "sketchbook.location": "Sketchbook location", + "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", + "survey.notification": "True if users should be notified if a survey is available. True by default.", + "unofficialBoardSupport": "Click for a list of unofficial board support URLs", + "upload": "upload", + "upload.verbose": "True for verbose upload output. False by default.", + "verifyAfterUpload": "Verify code after upload", + "window.autoScale": "True if the user interface automatically scales with the font size.", + "window.zoomLevel": { + "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." + } + }, + "renameCloudSketch": { + "renameSketchTitle": "New name of the Cloud Sketch" + }, + "replaceMsg": "Replace the existing version of {0}?", + "selectZip": "Select a zip file containing the library you'd like to add", + "serial": { + "autoscroll": "Autoscroll", + "carriageReturn": "Carriage Return", + "connecting": "Connecting to '{0}' on '{1}'...", + "message": "Message (Enter to send message to '{0}' on '{1}')", + "newLine": "New Line", + "newLineCarriageReturn": "Both NL & CR", + "noLineEndings": "No Line Ending", + "notConnected": "Not connected. Select a board and a port to connect automatically.", + "openSerialPlotter": "Serial Plotter", + "timestamp": "Timestamp", + "toggleTimestamp": "Toggle Timestamp" + }, + "sketch": { + "archiveSketch": "Archive Sketch", + "cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.", + "compile": "Compiling sketch...", + "configureAndUpload": "Configure and Upload", + "createdArchive": "Created archive '{0}'.", + "doneCompiling": "Done compiling.", + "doneUploading": "Done uploading.", + "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", + "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "exportBinary": "Export Compiled Binary", + "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", + "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", + "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", + "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", + "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", + "moving": "Moving", + "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", + "new": "New Sketch", + "noTrailingPeriod": "A filename cannot end with a dot", + "openFolder": "Open Folder", + "openRecent": "Open Recent", + "openSketchInNewWindow": "Open Sketch in New Window", + "reservedFilename": "'{0}' is a reserved filename.", + "saveFolderAs": "Save sketch folder as...", + "saveSketch": "Save your sketch to open it again later.", + "saveSketchAs": "Save sketch folder as...", + "showFolder": "Show Sketch Folder", + "sketch": "Sketch", + "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", + "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchbook": "Sketchbook", + "titleLocalSketchbook": "Local Sketchbook", + "titleSketchbook": "Sketchbook", + "upload": "Upload", + "uploadUsingProgrammer": "Upload Using Programmer", + "uploading": "Uploading...", + "userFieldsNotFoundError": "Can't find user fields for connected board", + "verify": "Verify", + "verifyOrCompile": "Verify/Compile" + }, + "sketchbook": { + "newCloudSketch": "New Cloud Sketch", + "newSketch": "New Sketch" + }, + "survey": { + "answerSurvey": "Answer survey", + "dismissSurvey": "Don't show again", + "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." + }, + "theme": { + "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", + "dark": "Dark", + "deprecated": "{0} (deprecated)", + "hc": "Dark High Contrast", + "hcLight": "Light High Contrast", + "light": "Light", + "user": "{0} (user)" + }, + "title": { + "cloud": "Cloud" + }, + "updateIndexes": { + "updateIndexes": "Update Indexes", + "updateLibraryIndex": "Update Library Index", + "updatePackageIndex": "Update Package Index" + }, + "upload": { + "error": "{0} error: {1}" + }, + "userFields": { + "cancel": "Cancel", + "enterField": "Enter {0}", + "upload": "Upload" + }, + "validateSketch": { + "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", + "abortFixTitle": "Invalid sketch", + "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", + "renameSketchFileTitle": "Invalid sketch filename", + "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", + "renameSketchFolderTitle": "Invalid sketch name" + }, + "workspace": { + "alreadyExists": "'{0}' already exists." + } + }, + "theia": { + "core": { + "cannotConnectBackend": "Cannot connect to the backend.", + "cannotConnectDaemon": "Cannot connect to the CLI daemon.", + "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", + "daemonOffline": "CLI Daemon Offline", + "offline": "Offline", + "offlineText": "Offline", + "quitTitle": "Are you sure you want to quit?" + }, + "editor": { + "unsavedTitle": "Unsaved – {0}" + }, + "messages": { + "collapse": "Collapse", + "expand": "Expand" + }, + "workspace": { + "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", + "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "fileNewName": "Name for new file", + "invalidExtension": ".{0} is not a valid extension", + "newFileName": "New name for file" + } + } +} diff --git a/i18n/de.json b/i18n/de.json index c755c08c8..7c4125363 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -1,47 +1,47 @@ { "arduino": { "about": { - "detail": "Version: {0}\nDatum: {1}{2}\nCLI Version: {3}{4} [{5}]\n\n{6}", + "detail": "Version: {0}\nDatum: {1}{2}\nCLI Version: {3}\n\n{4}", "label": "Über {0}" }, "account": { - "goToCloudEditor": "Zum Cloud-Editor gehen", - "goToIoTCloud": "Zur IoT-Cloud gehen", + "goToCloudEditor": "Zum Cloud-Editor", + "goToIoTCloud": "Zur IoT-Cloud", "goToProfile": "Profil aufrufen", "menuTitle": "Arduino-Cloud" }, "board": { "board": "Board{0}", - "boardConfigDialogTitle": "Andere Boards und Ports wählen", + "boardConfigDialogTitle": " Anderes Board und anderen Ports wählen", "boardInfo": "Board-Informationen", "boards": "Boards", - "configDialog1": "Wählen Sie ein Board und einen Port, wenn Sie den Sketch hochladen möchten.", + "configDialog1": " Wähle ein Board und einen Port, wenn du den Sketch hochladen möchtest.", "configDialog2": "Wenn Sie nur ein Board auswählen, werden Sie den Sketch nur kompilieren können, jedoch nicht hochladen.", - "couldNotFindPreviouslySelected": "Zuvor gewähltes Board '{0}' wurde nicht in der installierten Plattform '{1}' gefunden. Bitte Board erneut auswählen. Jetzt auswählen?", + "couldNotFindPreviouslySelected": " Das vorher gewählte Board '{0}' gehört nicht zur installierten Plattform '{1}'. Möchtest du das Board neu auswählen?", "editBoardsConfig": "Board und Port ändern...", - "getBoardInfo": "Board-Informationen abrufen", + "getBoardInfo": "Board-Infos abrufen", "inSketchbook": "(im Sketchbook)", - "installNow": "Der \"{0} {1}\" Core muss für das ausgewählte \"{2}\" Board installiert werden. Jetzt installieren?", + "installNow": " Der Core \"{0}{1}\" muss für das ausgewählte Board \"{2}\" installiert werden. Möchtest du jetzt installieren?", "noBoardsFound": "Für \"{0}\" wurden keine Boards gefunden.", - "noNativeSerialPort": "Nativer serieller Port, keine Informationen verfügbar.", + "noNativeSerialPort": " Nativer serieller Port, keine Infos verfügbar.", "noPortsDiscovered": "Keine Ports gefunden", - "nonSerialPort": "Nicht-serieller Port, keine Informationen verfügbar.", - "openBoardsConfig": "Wähle einen anderes Board und einen anderen Port...", - "pleasePickBoard": "Bitte wählen Sie das Board, welches am ausgewählten Port angeschlossen ist.", + "nonSerialPort": " Nicht-serieller Port, keine Infos verfügbar.", + "openBoardsConfig": " Wähle ein anderes Board und einen anderen Port ...", + "pleasePickBoard": " Wähle bitte ein Board, das am angegebenen Port angeschlossen ist.", "port": "Port{0}", "ports": "Ports", "programmer": "Programmer", "reselectLater": "Später auswählen", - "revertBoardsConfig": "Verwende {0} an {1}", + "revertBoardsConfig": "'{0}' an '{1}' verwenden", "searchBoard": "Board suchen", "selectBoard": "Board wählen", - "selectPortForInfo": "Wähle ein Port, um Informationen über das Board zu erhalten.", - "showAllAvailablePorts": "Zeige alle verfügbaren Ports, wenn aktiviert.", - "showAllPorts": "Zeige alle Ports", + "selectPortForInfo": " Wähle einen Port, um Infos über das Board zu erhalten.", + "showAllAvailablePorts": " Alle verfügbaren Ports anzeigen, wenn aktiviert.", + "showAllPorts": "Alle Ports anzeigen", "succesfullyInstalledPlatform": "Plattform erfolgreich installiert {0}:{1}", "succesfullyUninstalledPlatform": "Plattform erfolgreich deinstalliert {0}:{1}", "typeOfPorts": "{0} Ports", - "unconfirmedBoard": "Board nicht bestätigt", + "unconfirmedBoard": "Unbestätigtes Board", "unknownBoard": "Unbekanntes Board" }, "boardsManager": "Board-Verwaltung", @@ -50,41 +50,41 @@ }, "bootloader": { "burnBootloader": "Bootloader brennen", - "burningBootloader": "Bootloader überschreiben ...", + "burningBootloader": "Bootloader wird gebrannt ...", "doneBurningBootloader": "Bootloader erfolgreich gebrannt." }, "burnBootloader": { - "error": "Fehler beim Überschreiben des Bootloaders: {0}" + "error": " Fehler beim Brennen des Bootloaders: {0}" }, "certificate": { "addNew": "Neu hinzufügen", "addURL": "URL hinzufügen, um das SSL-Zertifikat abzurufen", "boardAtPort": "{0} bei {1}", - "certificatesUploaded": "Die Zertifikate wurden erfolgreich hochgeladen.", + "certificatesUploaded": "Zertifikate erfolgreich hochgeladen.", "enterURL": "URL eingeben", "noSupportedBoardConnected": "Kein unterstütztes Board angeschlossen", "openContext": "Kontext öffnen", "remove": "Entfernen", "selectBoard": "Wähle ein Board...", - "selectCertificateToUpload": "1. Zertifikat zum hochladen auswählen", + "selectCertificateToUpload": "1. Zertifikat zum Hochladen auswählen", "selectDestinationBoardToUpload": "2. Zielboard wählen und Zertifikat hochladen", "upload": "Hochladen", - "uploadFailed": "Hochladen fehlgeschlagen. Bitte versuchen Sie es erneut.", + "uploadFailed": "Hochladen fehlgeschlagen. Versuche es bitte noch einmal.", "uploadRootCertificates": "SSL Root Zertifikat hochladen", "uploadingCertificates": "Zertifikate hochladen..." }, "checkForUpdates": { - "checkForUpdates": "Nach Arduino Updates suchen", + "checkForUpdates": "Arduino-Updates suchen", "installAll": "Alle installieren", - "noUpdates": "Es sind keine aktuellen Updates verfügbar.", - "promptUpdateBoards": "Es sind Updates für einige Ihrer Boards verfügbar.", - "promptUpdateLibraries": "Es sind Updates für einige Ihrer Blibliotheken verfügbar.", + "noUpdates": " Es sind keine neuen Updates verfügbar.", + "promptUpdateBoards": " Es sind Updates für einige deiner Boards verfügbar.", + "promptUpdateLibraries": " Es sind Updates für einige deiner Bibliotheken verfügbar.", "updatingBoards": "Boards werden aktualisiert ...", "updatingLibraries": "Bibliotheken werden aktualisiert ..." }, "cli-error-parser": { - "keyboardError": "'Keyboard' nicht gefunden. Enthält ihr Sketch die Zeile '#include '?", - "mouseError": "'Mouse' nicht gefunden. Enthält ihr Sketch die Zeile '#include '?" + "keyboardError": " 'Keyboard' nicht gefunden. Enthält dein Sketch die Zeile '#include '?", + "mouseError": " 'Mouse' nicht gefunden. Enthält dein Sketch die Zeile '#include '?" }, "cloud": { "chooseSketchVisibility": "Wähle die Sichtbarkeit deines Sketches:", @@ -104,34 +104,34 @@ "options": "Optionen ...", "privateVisibility": "Privat. Nur du siehst diesen Sketch.", "profilePicture": "Profilbild", - "publicVisibility": "Öffentlich - Jeder kann mit diesen Link den Sketch sehen.", + "publicVisibility": " Öffentlich. Jeder mit diesen Link kann den Sketch sehen.", "pull": "Pull", "pullFirst": "Du musst zuerst herunterladen, damit du in die Cloud schieben kannst.", "pullSketch": "Pull Sketch", "pullSketchMsg": "Wenn du diesen Sketch aus der Cloud lädst, wird die lokale Version überschrieben. Möchtest du fortfahren?", "push": "Push", "pushSketch": "Push Sketch", - "pushSketchMsg": "Das ist ein öffentlicher Sketch. Vor dem Pushen solltest du überprüfen, ob alle sensiblen Informationen in arduino_secrets.h definiert sind. Du kannst einen Sketch mit dem Teilen-Feld als privat definieren.", + "pushSketchMsg": " Der Sketch ist öffentlich. Prüfe vor dem Pushen, dass alle sensiblen Infos in arduino_secrets.h definiert sind. Du kannst einen Sketch beim Teilen als privat definieren.", "remote": "Remote", - "share": "Teilen....", + "share": "Teilen ...", "shareSketch": "Sketch teilen", - "showHideSketchbook": "Zeige/Verstecke Cloud Sketchbook", + "showHideSketchbook": "Zeige/verstecke Cloud Sketchbook", "signIn": "Anmelden", "signInToCloud": "Anmelden zur Arduino Cloud", "signOut": "Abmelden", - "sync": "Synchronisiere", + "sync": "Synchronisieren", "syncEditSketches": "Synchronisiere und editiere deine Arduino Cloud Sketches.", - "visitArduinoCloud": "Besuche Arduino Cloud um Cloud Sketche zu erstellen." + "visitArduinoCloud": "Arduino Cloud besuchen, um Cloud Sketches zu erstellen." }, "cloudSketch": { "alreadyExists": "Cloud-Sketch '{0}' existiert bereits.", "creating": "Cloud-Sketch '{0}' wird erstellt...", "new": "Neuer Cloud-Sketch", "notFound": "Cloud-Sketch '{0}' konnte nicht heruntergeladen werden. Er existiert nicht.", - "pulling": "Synchronisiere Sketchbook, lade '{0}' runter...", - "pushing": "Synchronisiere Sketchbook, lade '{0}' hoch...", + "pulling": "Sketchbook synchronisieren und '{0}' herunterladen ...", + "pushing": "Sketchbook synchronisieren und '{0}' hochladen ...", "renaming": "Cloud-Sketch wird von '{0}' nach '{1}' umbenannt ...", - "synchronizingSketchbook": "Synchronisiere Sketchbook..." + "synchronizingSketchbook": "Sketchbook wird synchronisiert ..." }, "common": { "all": "Alle", @@ -139,54 +139,55 @@ "installManually": "Manuell installieren", "later": "später", "noBoardSelected": "Kein Board ausgewählt", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Kein Sketch geöffnet", "notConnected": "[keine Verbindung]", "offlineIndicator": "Anscheinend bist du offline. Ohne eine aktive Internetverbindung kann das Arduino CLI nicht die nötigen Ressourcen herunterladen, was zu Problemen führen kann. Bitte überprüfe deine Internetverbindung und starte das Programm neu. ", - "oldFormat": "Der Sketch '{0}' verwendet noch das alte '.pde' Format. Möchtest du auf die neuere '.ino' Endung wechseln?", + "oldFormat": " Der Sketch '{0}' verwendet das alte Format '.pde'. Möchtest du auf die neue Endung '.ino' wechseln?", "partner": "Partner", "processing": "Verarbeiten", "recommended": "Empfohlen", "retired": "Zurückgezogen", - "selectManually": "Select Manually", + "selectManually": "Manuell auswählen", "selectedOn": "an {0}", "serialMonitor": "Serieller Monitor", "type": "Typ", "unknown": "unbekannt", - "updateable": "Aktualisierbar" + "updateable": "Aktualisierbar", + "userAbort": "Nutzerabbruch" }, "compile": { "error": "Fehler beim kompilieren: {0}" }, "component": { - "boardsIncluded": "In diesem Paket enthaltene Boards:", + "boardsIncluded": "Im Paket enthaltene Boards:", "by": "von", - "clickToOpen": "Klicken, um im Browser zu öffnen: {0}", - "filterSearch": "Filtern Sie Ihre Suche ...", + "clickToOpen": " Klicke, um im Browser zu öffnen: {0}", + "filterSearch": "Filtere deine Suche ...", "install": "Installieren", "installLatest": "Neueste installieren", - "installVersion": "Installiere {0}", + "installVersion": "{0} installieren", "installed": "{0} installiert", "moreInfo": "Mehr Information", "otherVersions": "Andere Versionen", "remove": "Entfernen", - "title": "{0} durch {1}", + "title": "{0} von {1}", "uninstall": "Deinstallieren", - "uninstallMsg": "Möchten Sie {0} deinstallieren?", + "uninstallMsg": "Möchtest du {0} deinstallieren?", "update": "Aktualisieren" }, "configuration": { "cli": { - "inaccessibleDirectory": "Kein Zugriff möglich auf Sketchbook-Ort bei '{0}': {1}" + "inaccessibleDirectory": "Kein Zugriff möglich auf Sketchbook-Pfad bei '{0}': {1}" } }, "connectionStatus": { - "connectionLost": "Verbindung verloren. Cloud-Sketch Aktionen und Updates werden nicht verfügbar sein." + "connectionLost": "Keine Verbindung. Aktionen und Updates für Cloud-Sketches sind nicht möglich." }, "contributions": { - "addFile": "Datei hinzufügen...", + "addFile": " Datei hinzufügen", "fileAdded": "Eine Datei wurde zum Sketch hinzugefügt.", "plotter": { - "couldNotOpen": "Konnte den seriellen Plotter nicht öffnen" + "couldNotOpen": " Der serielle Plotter konnte nicht geöffnet werden." }, "replaceTitle": "Ersetzen" }, @@ -195,30 +196,29 @@ "all": "Alle", "default": "Standard", "more": "Mehr", - "none": "Kein/e/r" + "none": "Keine" } }, "coreContribution": { "copyError": "Fehlermeldungen kopieren", - "noBoardSelected": "Kein Board ausgewählt. Bitte Arduino Board im Menü wählen mit Werkzeuge > Board" + "noBoardSelected": "Kein Board ausgewählt. Wähle dein Arduino-Board im Menü 'Werkzeuge > Board'." }, - "createCloudCopy": "Sketch in Cloud hochladen", + "createCloudCopy": "Sketch in die Cloud hochladen", "daemon": { "restart": "Daemon neustarten", "start": "Daemon starten", - "stop": "Stoppe Daemon" + "stop": "Daemon stoppen" }, "debug": { "debugWithMessage": "Debug - {0}", - "debuggingNotSupported": "'{0}' unterstützt kein Debuggen", - "getDebugInfo": "Getting debug info...", - "noPlatformInstalledFor": "Die Platform für '{0}' ist nicht instaliert.", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", + "debuggingNotSupported": "Debugging wird von '{0}' nicht unterstützt.", + "getDebugInfo": "Debug-Infos holen ...", + "noPlatformInstalledFor": "Plattform ist für \"{0}\" nicht installiert.", "optimizeForDebugging": "Für Debugging optimieren", - "sketchIsNotCompiled": "Der Sketch '{0}' muss vor dem Starten einer Debugging-Sitzung überprüft werden. Bitte überprüfe den Sketch und starte das Debugging erneut. Möchtest du den Sketch jetzt überprüfen?" + "sketchIsNotCompiled": "Der Sketch '{0}' muss vor dem Debugging überprüft werden. Überprüfe den Sketch und starte das Debugging erneut. Möchtest du den Sketch jetzt überprüfen?" }, "developer": { - "clearBoardList": "Board-Tabellen-Historie leeren", + "clearBoardList": "Board-Tabellen-Verlauf löschen", "clearBoardsConfig": "Board- und Portauswahl aufheben", "dumpBoardList": "Board-Tabelle löschen" }, @@ -226,12 +226,12 @@ "dontAskAgain": "Nicht noch einmal fragen" }, "editor": { - "autoFormat": "automatisch Formatieren", + "autoFormat": "Automatisch formatieren", "commentUncomment": "Kommentieren/Kommentar aufheben", "copyForForum": "Für Forum kopieren (Markdown)", "decreaseFontSize": "Schrift verkleinern", "decreaseIndent": "Einrückung verringern ", - "increaseFontSize": "Schriftgröße vergrößern ", + "increaseFontSize": "Schrift vergrößern", "increaseIndent": "Einrückung erweitern", "nextError": "Nächster Fehler", "previousError": "Vorheriger Fehler", @@ -239,8 +239,8 @@ }, "examples": { "builtInExamples": "Mitgelieferte Beispiele", - "couldNotInitializeExamples": "Mitgelieferte Beispiele konnten nicht initialisiert werden", - "customLibrary": "Beispiele aus eigenen Bibliotheken", + "couldNotInitializeExamples": "Die integrierten Beispiele konnten nicht initialisiert werden.", + "customLibrary": "Beispiele aus angepassten Bibliotheken", "for": "Beispiele für {0}", "forAny": "Beispiele für jedes Board", "menu": "Beispiele" @@ -250,17 +250,17 @@ "failedInstall": "Installation fehlgeschlagen. Bitte versuche es erneut ", "install": "Installieren", "installingFirmware": "Firmware wird installiert.", - "overwriteSketch": "Die Installation wird den Sketch auf dem Board überschreiben.", + "overwriteSketch": "Die Installation überschreibt den Sketch auf dem Board.", "selectBoard": "Board auswählen", - "selectVersion": "Firmware Version wählen", - "successfullyInstalled": "Firmware wurde erfolgreich installiert.", - "updater": "Firmware Updater" + "selectVersion": "Firmware-Version wählen", + "successfullyInstalled": "Die Firmware wurde erfolgreich installiert.", + "updater": "Firmware-Updater" }, "help": { "environment": "Umgebung", "faq": "Häufig gestellte Fragen", "findInReference": "Referenzsuche", - "gettingStarted": "Loslegen...", + "gettingStarted": "Loslegen ...", "keyword": "Schlagwort eingeben", "privacyPolicy": "Datenschutzbestimmungen", "reference": "Referenz", @@ -269,17 +269,17 @@ "visit": "Besuche Arduino.cc" }, "ide-updater": { - "checkForUpdates": "Nach Arduino IDE Updates suchen", + "checkForUpdates": "Arduino IDE Updates suchen", "closeAndInstallButton": "Schließen und Installieren", - "closeToInstallNotice": "Beende die Software und installiere das Update auf deinem Computer", + "closeToInstallNotice": "Software beenden und Update auf deinem Computer installieren", "downloadButton": "Download", - "downloadingNotice": "Die neueste Version der Arduino IDE wird heruntergeladen", + "downloadingNotice": "Die neueste Version der Arduino IDE wird heruntergeladen.", "errorCheckingForUpdates": "Fehler bei der Suche nach IDE Updates{0}", "goToDownloadButton": "Zum Download wechseln", - "goToDownloadPage": "Ein Update für die Arduino IDE ist verfügbar, konnte aber nicht automatisch heruntergeladen und installiert werden. Bitte gehen sie zur Download-Seite und laden sie dort die neueste Version herunter ", - "ideUpdaterDialog": "Software Update", - "newVersionAvailable": "Eine neue Version der Arduino IDE ({0}) ist zum Download verfügbar", - "noUpdatesAvailable": "Es gibt keine neuen Updates für die Arduino IDE", + "goToDownloadPage": "Ein Update für die Arduino IDE ist verfügbar, konnte aber nicht automatisch installiert werden. Gehe zur Download-Seite und lade dort die neueste Version herunter. ", + "ideUpdaterDialog": "Software-Update", + "newVersionAvailable": "Eine neue Version der Arduino IDE ({0}) ist zum Download verfügbar.", + "noUpdatesAvailable": "Es gibt keine neuen Updates für die Arduino IDE.", "notNowButton": "Später", "skipVersionButton": "Version überspringen", "updateAvailable": "Update verfügbar", @@ -291,22 +291,22 @@ }, "library": { "addZip": ".ZIP-Bibliothek hinzufügen...", - "arduinoLibraries": "Arduino Bibliotheken", - "contributedLibraries": "Bibliotheken, zu denen beigetragen wurde", + "arduinoLibraries": "Arduino-Bibliotheken", + "contributedLibraries": "Beigesteuerte Bibliotheken", "include": "Bibliothek einbinden", "installAll": "Alle installieren", "installLibraryDependencies": "Bibliotheksabhängigkeiten installieren", - "installMissingDependencies": "Möchtest Du die fehlenden Abhängigkeiten installieren?", - "installOneMissingDependency": "Möchtest Du die fehlende Abhängigkeit installieren?", + "installMissingDependencies": "Möchtest du die fehlenden Abhängigkeiten installieren?", + "installOneMissingDependency": "Möchtest du die fehlende Abhängigkeit installieren?", "installWithoutDependencies": "Ohne Abhängigkeiten installieren", "installedSuccessfully": "Bibliothek {0}:{1} erfolgreich installiert", - "libraryAlreadyExists": "Eine Bibliothek existiert bereits. Möchten sie diese überschreiben?", + "libraryAlreadyExists": "Die Bibliothek existiert bereits. Möchtest du sie überschreiben?", "manageLibraries": "Bibliotheken verwalten ...", - "namedLibraryAlreadyExists": "Der Bibliothek-Ordner '{0}' existiert bereits. Überschreiben?", - "needsMultipleDependencies": "Die Bibliothek {0}:{1} benötigt ein paar andere Abhängigkeiten, die derzeit nicht installiert sind:", - "needsOneDependency": "Die Bibliothek {0}:{1} benötigt eine andere Abhängigkeit, welche derzeit nicht installiert ist:", + "namedLibraryAlreadyExists": "Der Bibliothek-Ordner '{0}' existiert bereits. Möchtest du ihn überschreiben?", + "needsMultipleDependencies": "Die Bibliothek {0}:{1} benötigt ein paar weitere Abhängigkeiten, die derzeit nicht installiert sind:", + "needsOneDependency": "Die Bibliothek {0}:{1} benötigt eine weitere Abhängigkeit, die derzeit nicht installiert ist:", "overwriteExistingLibrary": "Möchtest du die existierende Bibliothek überschreiben?", - "successfullyInstalledZipLibrary": "Bibliothek erfolgreich vom {0} Archiv installiert", + "successfullyInstalledZipLibrary": "Bibliothek erfolgreich vom Archiv {0} installiert", "title": "Bibliotheksverwalter", "uninstalledSuccessfully": "Bibliothek {0}:{1} erfolgreich deinstalliert", "zipLibrary": "Bibliothek" @@ -320,7 +320,7 @@ "dataStorage": "Datenspeicher", "deviceControl": "Gerätesteuerung", "display": "Anzeige", - "other": "Andere/s", + "other": "Weitere", "sensors": "Sensoren", "signalInputOutput": "Signal Ein-/Ausgang", "timing": "Timing", @@ -339,7 +339,7 @@ "baudRate": "{0} Baud", "connectionFailedError": "Konnte nicht mit {0} {1} Port verbinden.", "connectionFailedErrorWithDetails": "{0} Konnte nicht mit {1} {2} Port verbinden.", - "connectionTimeout": "Zeitüberschreitung. Die IDE hat die 'success'-Nachricht nach erfolgreicher Verbindung nicht vom Monitor erhalten.", + "connectionTimeout": "Timeout. Die IDE hat keine 'Success'-Nachricht erhalten, nachdem der Monitor erfolgreich verbunden wurde.", "missingConfigurationError": "Konnte nicht mit {0} {1} Port verbinden. Monitor-Konfiguration fehlt.", "notConnectedError": "Nicht mit {0} {1} Port verbunden.", "unableToCloseWebSocket": "Websocket wurde nicht geschlossen", @@ -354,84 +354,85 @@ }, "preferences": { "additionalManagerURLs": "Zusätzliche Boardverwalter-URLs", - "auth.audience": "Die OAuth2 Audience", - "auth.clientID": "Die OAuth2 client ID.", - "auth.domain": "Die OAuth2 Domain.", - "auth.registerUri": "Das URI hat einen neuen Benutzer registriert.", + "auth.audience": "OAuth2-Audience", + "auth.clientID": "OAuth2-ClientID", + "auth.domain": "OAuth2-Domain", + "auth.registerUri": "Das URI hat einen neuen Nutzer registriert.", "automatic": "Automatisch", - "board.certificates": "Liste der Zertifikate, welche zu den Boards hochgeladen werden können.", + "board.certificates": "Liste der Zertifikate, die zu den Boards hochgeladen werden können.", "browse": "Durchsuchen", - "checkForUpdate": "Erhalte Benachrichtigungen bei verfügbaren Updates für die IDE, die Boards und Bibliotheken. Nach Änderung ist ein Neustart der IDE notwendig. Standardmäßig eingeschaltet.", + "checkForUpdate": "Benachrichtigungen bei verfügbaren Updates für IDE, Boards und Bibliotheken erhalten. Nach einer Änderung ist ein Neustart der IDE notwendig. Standardmäßig eingeschaltet.", "choose": "Wähle", - "cli.daemonDebug": "Aktivieren Sie die Debug-Protokollierung der gRPC-Aufrufe an das Arduino CLI. Ein Neustart der IDE ist erforderlich, damit diese Einstellung wirksam wird. Standardmäßig ist sie deaktiviert.", - "cloud.enabled": "Wahr, wenn die Sketch-Syncfunctionen aktiv sind. Standardeinstellung ist wahr.", - "cloud.pull.warn": "Wahr, wenn Benutzer vor dem Herunterladen eines Sketches aus der Cloud gewarnt werden sollen. Standardmäßig Wahr.", - "cloud.push.warn": "Wahr, wenn Benutzer vor dem Hochladen eines Cloud-Sketches gewarnt werden sollen. Standardmäßig Wahr.", - "cloud.pushpublic.warn": "Wahr, wenn Benutzer vor dem Hochladen eines öffentlichen Sketches in die Cloud gewarnt werden sollen. Standardmäßig Wahr.", - "cloud.sketchSyncEndpoint": "Der Endpunkt, um Sketches zu/von einem Backend zu laden. Standardeinstellung ist die Arduino Cloud API.", + "cli.daemonDebug": "Debug-Protokoll von gRPC-Aufrufe an das Arduino CLI aktivieren. Nach der Änderung ist ein Neustart der IDE notwendig. Standardmäßig deaktiviert.", + "cloud.enabled": "Wenn diese Option aktiviert ist, sind die Sketch-Syncfunktionen aktiv. Standardmäßig aktiviert.", + "cloud.pull.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Herunterladen eines Sketches aus der Cloud gewarnt. Standardmäßig aktiviert.", + "cloud.push.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Hochladen eines Sketches in die Cloud gewarnt. Standardmäßig aktiviert. ", + "cloud.pushpublic.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Hochladen eines öffentlichen Sketches in die Cloud gewarnt. Standardmäßig aktiviert. ", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "Endpunkt, um Sketches zu/von einem Backend zu laden. Standardeinstellung ist die Arduino Cloud API.", "compile": "Kompilieren", - "compile.experimental": "Aktivieren, wenn die IDE mehrere Fehler des Compiler behandeln soll. Standardmäßig ausgeschaltet.", - "compile.revealRange": "Legt fest, wie Compilerfehler im Editor nach einer fehlgeschlagenen Überprüfung/einem fehlgeschlagenen Upload angezeigt werden. Mögliche Werte: 'auto': bei Bedarf vertikal scrollen, um die Zeile anzuzeigen. 'center': bei Bedarf vertikal scrollen und die Zeile zentriert anzeigen. 'top': bei Bedarf vertikal scrollen und die Zeile nahe am oberen Ende des Darstellungsbereichs anzeigen. Optimiert für das Betrachten einer Codedefinition. 'centerIfOutsideViewport': bei Bedarf vertikal scrollen und die Zeile nur anzeigen, wenn sie außerhalb des Anzeigebereichs liegt. Der Standardwert ist '{0}'.", - "compile.verbose": "Aktivieren Sie diese Option, wenn ausführliche Compiler-Meldungen angezeigt werden sollen. Standardgemäß deaktiviert.", - "compile.warnings": "Einstellung der Compiler-Warnungen für den GCC. Standardeinstellung ist 'Keine'. ", + "compile.experimental": "Wenn diese Option aktiviert, werden mehrere Compiler-Fehler in der IDE gleichzeitig behandelt. Standardmäßig deaktiviert.", + "compile.revealRange": "Diese Option steuert, wie Compiler-Fehler im Editor angezeigt werden. Mögliche Werte sind: \n'auto': bei Bedarf vertikal scrollen, um die Zeile anzuzeigen. 'center': bei Bedarf vertikal scrollen und die Zeile zentriert anzeigen. 'top': bei Bedarf vertikal scrollen und die Zeile oben im Textbereich anzeigen, optimiert für das Betrachten einer Codedefinition. 'centerIfOutsideViewport': bei Bedarf vertikal scrollen und die Zeile nur anzeigen, wenn sie außerhalb des Anzeigebereichs liegt. Der Standardwert ist '{0}'.", + "compile.verbose": "Wenn diese Option aktiviert ist, werden ausführliche Compiler-Meldungen angezeigt. Standardgemäß deaktiviert.", + "compile.warnings": "Einstellung der Compiler-Warnungen für den GCC. Standardmäßig 'Keine'. ", "compilerWarnings": "Compiler-Meldungen", - "editorFontSize": "Editor Schriftgröße", - "editorQuickSuggestions": "Schnelle Editor Vorschläge", - "enterAdditionalURLs": "Füge zusätzliche URLs hinzu, jede Reihe einzeln", + "editorFontSize": "Schriftgröße im Editor", + "editorQuickSuggestions": "Schnelle Editor-Vorschläge", + "enterAdditionalURLs": "Zusätzliche URLs hinzufügen, jeweils eine pro Zeile.", "files.inside.sketches": "Dateien im Sketch zeigen", - "ide.updateBaseUrl": "URL für den Download von Updates. Standard-URL: \"https://downloads.arduino.cc/arduino-ide\"", + "ide.updateBaseUrl": "URL für den Download von Updates. Standardmäßig 'https://downloads.arduino.cc/arduino-ide'", "ide.updateChannel": "Release-Channel, von dem Updates bezogen werden sollen. 'stable' für stabile und getestete Updates. 'nightly' für allerneuste Updates, welche jedoch noch nicht ausreichend getestet wurden.", - "interfaceScale": "Größe der Benutzeroberfläche", - "invalid.editorFontSize": "Ungültige Editor-Schriftgröße. Wert muss eine Ganzzahl größer 0 (Null) sein.", - "invalid.sketchbook.location": "Ungültiger Sketchbook Speicherort: {0}", - "invalid.theme": "Ungültiges Erscheinungsbild", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", - "language.log": "Wenn aktivert, werden Arduino-Sprach-Server-Logdateien in den Sketch-Ordner geschrieben. Standardmäßig deaktivert. ", - "language.realTimeDiagnostics": "Wenn aktiviert, bietet der Sprachserver bei der Eingabe im Editor eine Echtzeitdiagnose. Ist standardmäßig deaktiviert.", - "manualProxy": "Manuelle Proxy Einstellung", + "interfaceScale": "Skalierung der Darstellung", + "invalid.editorFontSize": "Ungültige Schriftgröße. Der Wert muss eine positie ganze Zahl sein.", + "invalid.sketchbook.location": "Ungültiger Sketchbook-Pfad: {0}", + "invalid.theme": "Ungültiges Design", + "language.asyncWorkers": "Anzahl der asynchronen Worker, die vom Arduino-Sprachserver (clangd) verwendet werden. Der Hintergrundindex verwendet diese Anzahl an Workern ebenfalls. Der Mindestwert ist 0 und der Höchstwert ist 8. Wenn der Wert 0 ist, verwendet der Sprachserver alle verfügbaren Kerne. Der Standardwert ist 0.", + "language.log": "Wenn diese Option aktiviert ist, schreibt der Arduino-Sprachserver seine Logdateien in den Sketch-Ordner. Standardmäßig deaktivert. ", + "language.realTimeDiagnostics": "Wenn diese Option aktiviert ist, wird bei der Eingabe im Editor eine Echtzeitdiagnose angeboten. Standardmäßig deaktiviert.", + "manualProxy": "Manuelle Proxy-Einstellung", "monitor": { "dockPanel": "Der Bereich der Applikations-Shell wo das {0}-Widget angezeigt werden soll. Entweder \"unten\" oder \"rechts\". Standardmäßig \"{1}\"." }, "network": "Netzwerk", "newSketchbookLocation": "Wähle einen neuen Ort für das Sketchbook ", - "noCliConfig": "CLI-Konfiguration konnte nicht geladen werden", + "noCliConfig": "CLI-Konfiguration konnte nicht geladen werden.", "noProxy": "Kein Proxy", "proxySettings": { "hostname": "Hostname", - "password": "Passwort", - "port": "Portnummer", - "username": "Benutzername" + "password": "Kennwort", + "port": "Port", + "username": "Nutzername" }, "showVerbose": "Compiler-Meldungen anzeigen beim", "sketch": { - "inoBlueprint": "Absoluter Dateipfad zur Standard-'.ino'-Dateivorlage. Wenn angegeben, wird der Inhalt der Dateivorlage für jeden, mit der IDE erstellten, Sketch verwendet. Wenn nicht angegeben, werden die Sketches mit dem Standard-Arduino-Inhalt erstellt. Unauffindbare Dateivorlagen werden ignoriert. **Ein Neustarten der IDE ist erforderlich**, um diese Einstellung zu übernehmen." + "inoBlueprint": "Dateipfad zur Standardvorlage '.ino'. Wenn eine Vorlage angegeben ist, wird deren Inhalt für alle mit der IDE erstellten Sketches verwendet. Wenn keine Vorlage angegeben ist, werden Sketches mit dem Standard-Arduino-Inhalt erstellt. Nichtauffindbare Vorlagen werden ignoriert. **Ein Neustart der IDE ist erforderlich**, um diese Einstellung zu übernehmen." }, - "sketchbook.location": "Dateipfad des Sketchbooks", - "sketchbook.showAllFiles": "Wenn aktiviert, werden alle Sketch-Dateien innerhalb des Sketch angezeigt. Standardmäßig deaktiviert. ", - "survey.notification": "Wenn aktiviert, werden Nutzer benachrichtigt, wenn eine Umfrage verfügbar ist. Standardmäßig aktiviert.", - "unofficialBoardSupport": "Klicke hier für eine Liste von inoffiziell unterstützten Boards", + "sketchbook.location": "Pfad für Sketchbook", + "sketchbook.showAllFiles": "Wenn diese Option aktiviert ist, werden alle Sketch-Dateien innerhalb des Sketches angezeigt. Standardmäßig deaktiviert. ", + "survey.notification": "Wenn diese Option aktiviert ist, werden Nutzer über eine verfügbare Umfrage informiert. Standardmäßig aktiviert.", + "unofficialBoardSupport": "Klicke hier, um eine URL-Liste von inoffiziell unterstützten Boards anzuzeigen.", "upload": "Hochladen", - "upload.verbose": "Wenn aktiviert, werden ausführliche Compiler-Meldungen angezeigt. Standardmäßig deaktiviert.", + "upload.verbose": "Wenn die Option aktiviert ist, werden ausführliche Compiler-Meldungen angezeigt. Standardmäßig deaktiviert.", "verifyAfterUpload": "Code nach Hochladen überprüfen ", - "window.autoScale": "Wenn aktiviert: Benutzeroberfläche soll mit Schriftgröße skalieren.", + "window.autoScale": "Wenn die Option aktiviert ist, skaliert die Nutzeroberfläche automatisch mit der Schriftgröße.", "window.zoomLevel": { - "deprecationMessage": "Veraltet. Bitte 'window.zoomLevel' stattdessen benutzen." + "deprecationMessage": "Veraltet. Verwende stattdessen 'window.zoomLevel'." } }, "renameCloudSketch": { "renameSketchTitle": "Neuer Name des Cloud-Sketches" }, "replaceMsg": "Existierende Version von {0} ersetzen?", - "selectZip": "Wähle die ZIP-Datei, welche die hinzuzufügende Bibliothek enthält", + "selectZip": "Wähle die ZIP-Datei mit der Bibliothek, die du hinzufügen möchtest.", "serial": { "autoscroll": "Automatisch scrollen", - "carriageReturn": "Zeilenumbruch", + "carriageReturn": "Zeilenumbruch (CR)", "connecting": "Verbindung zu '{0}' auf '{1}'...", - "message": "Nachicht (Enter um Nachricht für '{0}' auf '{1}' zu senden)", + "message": "Nachicht (drücke Enter zum Senden für '{0}' auf '{1}')", "newLine": "Neue Zeile", - "newLineCarriageReturn": "Sowohl NL als auch CR", + "newLineCarriageReturn": "Beides CR/LF", "noLineEndings": "Kein Zeilenende", - "notConnected": "Nicht verbunden. Wählen Sie ein Board und einen Port, um automatisch zu verbinden.", + "notConnected": "Keine Verbindung. Wähle ein Board und einen Port, um automatisch zu verbinden.", "openSerialPlotter": "Serieller Plotter", "timestamp": "Zeitstempel", "toggleTimestamp": "Zeitstempel an/aus" @@ -442,13 +443,13 @@ "compile": "Kompiliere Sketch ...", "configureAndUpload": "Konfigurieren und Hochladen", "createdArchive": "Archiv '{0}' erstellt.", - "doneCompiling": "Kompilieren erfolgreich!", - "doneUploading": "Hochladen erfolgreich! ", - "editInvalidSketchFolderLocationQuestion": "Wollen Sie versuchen, den Sketch an einer anderen Stelle abzuspeichern?", - "editInvalidSketchFolderQuestion": "Wollen Sie versuchen, den Sketch mit einem anderen Namen abzuspeichern?", + "doneCompiling": "Kompilieren erfolgreich.", + "doneUploading": "Hochladen erfolgreich.", + "editInvalidSketchFolderLocationQuestion": "Möchtest du versuchen, den Sketch an einer anderen Stelle abzuspeichern?", + "editInvalidSketchFolderQuestion": "Möchtest du versuchen, den Sketch mit einem anderen Namen abzuspeichern?", "exportBinary": "Kompilierte Binärdatei exportieren", - "invalidCloudSketchName": "Der Name muss mit einem Buchstaben, einer Ziffer oder einem Unterstrich beginnen und darf Buchstaben, Ziffern, Bindestriche, Punkte und Unterstriche enthalten. Die maximale Länge ist 36 Zeichen.", - "invalidSketchFolderLocationDetails": "Ein Sketch kann nicht innerhalb einem seiner Ordner gespeichert werden.", + "invalidCloudSketchName": "Der Name muss mit einem Buchstaben, einer Ziffer oder einem Unterstrich beginnen. Der Name darf nur Buchstaben, Ziffern, Bindestriche, Punkte und Unterstriche enthalten. Die maximale Länge ist 36 Zeichen.", + "invalidSketchFolderLocationDetails": "Ein Sketch kann nicht innerhalb eines seiner Ordner gespeichert werden.", "invalidSketchFolderLocationMessage": "Ungültiger Ort für Sketch-Ordner: '{0}'", "invalidSketchFolderNameMessage": "Ungültiger Name für einen Sketch-Ordner: '{0}'", "invalidSketchName": "Der Name muss mit einem Buchstaben, einer Ziffer oder einem Unterstrich beginnen und darf Buchstaben, Ziffern, Bindestriche, Punkte und Unterstriche enthalten. Die maximale Länge ist 63 Zeichen.", @@ -465,15 +466,15 @@ "saveSketchAs": "Sketch Ordner speichern als...", "showFolder": "Zeige Sketch Ordner", "sketch": "Sketch", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "Der Sketch enthält bereits eine Datei \"{0}\".", + "sketchAlreadyContainsThisFileMessage": "Fehler beim Speichern von \"{0}\" als \"{1}\". {2}", "sketchbook": "Sketchbook", "titleLocalSketchbook": "Lokales Sketchbook", "titleSketchbook": "Sketchbook", "upload": "Hochladen", "uploadUsingProgrammer": "Mit Programmer hochladen", "uploading": "Hochladen ...", - "userFieldsNotFoundError": "User Fields für das angeschlossene Board nicht gefunden", + "userFieldsNotFoundError": "Nutzerfelder für das angeschlossene Board nicht gefunden", "verify": "Überprüfen", "verifyOrCompile": "Überprüfen/Kompilieren" }, @@ -512,11 +513,11 @@ "upload": "Hochladen" }, "validateSketch": { - "abortFixMessage": "Der Sketch ist noch immer ungültig. Sollen die verbliebenen Probleme behoben werden? Durch Klicken auf '{0}' wird ein neuer Sketch geöffnet.", + "abortFixMessage": "Der Sketch ist noch immer ungültig. Möchtest du die verbliebenen Probleme beheben? Beim Klicken auf '{0}' wird ein neuer Sketch geöffnet.", "abortFixTitle": "Ungültiger Sketch", "renameSketchFileMessage": "Die Sketch-Datei '{0}' kann nicht verwendet werden. {1} Soll die Sketch-Datei jetzt umbenannt werden?", "renameSketchFileTitle": "Ungültiger Sketch-Dateiname", - "renameSketchFolderMessage": "Der Sketch '{0}' kann nicht verwendet werden. {1} Um diese Meldung loszuwerden, muss der Sketch umbenannt werden. Wollen Sie den Sketch jetzt umbenennen?", + "renameSketchFolderMessage": "Der Sketch '{0}' kann nicht verwendet werden. {1} Um diese Meldung loszuwerden, muss der Sketch umbenannt werden. Möchtest du den Sketch jetzt umbenennen?", "renameSketchFolderTitle": "Ungültiger Sketch-Name" }, "workspace": { @@ -541,8 +542,8 @@ "expand": "Ausklappen" }, "workspace": { - "deleteCloudSketch": "Der Cloud-Sketch '{0}' wird dauerhaft von den Arduino-Servern und den lokalen Caches gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest Du den aktuellen Sketch löschen?", - "deleteCurrentSketch": "Der Sketch {0} wird dauerhaft gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest Du den aktuellen Sketch löschen?", + "deleteCloudSketch": " Der Cloud-Sketch '{0}' wird dauerhaft von den Arduino-Servern und den lokalen Caches gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest du den aktuellen Sketch wirklich löschen?", + "deleteCurrentSketch": " Der Sketch '{0}' wird dauerhaft gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest du den aktuellen Sketch wirklich löschen?", "fileNewName": "Name für die neue Datei", "invalidExtension": "\".{0}\" ist keine gültige Dateierweiterung.", "newFileName": "Neuer Name für die Datei" diff --git a/i18n/el.json b/i18n/el.json index 76d453b26..17bbb8e44 100644 --- a/i18n/el.json +++ b/i18n/el.json @@ -15,7 +15,7 @@ "boardConfigDialogTitle": "Επιλέξτε Άλλη Πλακέτα & Θύρα", "boardInfo": "Πληροφορίες Πλακέτας", "boards": "Πίνακες - Πλακέτες", - "configDialog1": "Επίλεξε και Πλακέτα και Θύρα αν θέλεις να ανεβάσεις ένα σχέδιο.", + "configDialog1": "Επίλεξε Πλακέτα και Θύρα αν θέλεις να ανεβάσεις ένα έργο.", "configDialog2": "Αν επιλέξεις μονο Πλακέτα θα μπορείς να κάνεις μόνο μεταγγλώτιση, αλλά οχι να ανεβάσεις το σχέδιο.", "couldNotFindPreviouslySelected": "Δεν έγινε εντοπισμός της προηγουμένως επιλεγμένης πλακέτας '{0}' στην εγκατεστημένη πλατφόρμα '{1}'. Παρακαλώ επίλεξε πάλι χειροκίνητα την πλακέτα που θέλεις να χρησιμοποιήσεις. Θέλεις να την επιλέξεις τώρα;", "editBoardsConfig": "Πλακέτα και θύρα...", @@ -32,7 +32,7 @@ "ports": "Θύρες", "programmer": "Προγραμματιστής", "reselectLater": "Επιλογή αργότερα", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "revertBoardsConfig": "Χρησιμοποιήστε '{0}' που ανακαλύφθηκε στο '{1}'", "searchBoard": "Αναζήτηση πλακέτας", "selectBoard": "Επιλογή Πλακέτας", "selectPortForInfo": "Παρακαλώ επίλεξε μια θύρα για εμφάνιση πληροφοριών πλακέτας.", @@ -83,12 +83,12 @@ "updatingLibraries": "Ενημέρωση βιβλιοθηκών..." }, "cli-error-parser": { - "keyboardError": "Το \"πληκτρολόγιο\" δεν βρέθηκε. Το σχέδιό σας περιλαμβάνει τη γραμμή '#include ';", - "mouseError": "Το 'Ποντίκι' δεν βρέθηκε. Περιλαμβάνει το σχέδιό σας τη γραμμή '#include '; " + "keyboardError": "Το \"πληκτρολόγιο\" δεν βρέθηκε. Το έργο σας περιλαμβάνει τη γραμμή '#include ';", + "mouseError": "Το 'Ποντίκι' δεν βρέθηκε. Περιλαμβάνει το έργο σας τη γραμμή '#include '; " }, "cloud": { - "chooseSketchVisibility": "Επίλεξε την ορατότητα του Σχεδίου σου:", - "cloudSketchbook": "Σχέδια Cloud", + "chooseSketchVisibility": "Επιλέξτε την εμφάνιση του έργου σας:", + "cloudSketchbook": "Cloud Άλμπουμ έργων.", "connected": "Συνδέθηκε", "continue": "Συνέχεια", "donePulling": "Τελείωσε το κατέβασμα '{0}'.", @@ -109,8 +109,8 @@ "pullFirst": "Πρώτα πρέπει να τραβήξετε για να μπορέσετε να το ανεβάσετε στο Cloud.", "pullSketch": "Τραβήξτε το σχέδιο", "pullSketchMsg": "Αν τραβήξετε αυτό το Σχέδιο από το Cloud, θα αντικατασταθεί η τοπική του έκδοση. Είσαι σίγουρος ότι θέλεις να συνεχίσεις;", - "push": "Push", - "pushSketch": "Push Sketch", + "push": "Πιέστε", + "pushSketch": "Τραβήξτε το σχέδιο", "pushSketchMsg": "Αυτό είναι ένα Δημόσιο Σχέδιο. Βεβαιωθείτε ότι οποιεσδήποτε ευαίσθητες πληροφορίες έχουν οριστεί στο φάκελο arduino_secrets.h. Μπορείτε να κάνετε ένα Σχέδιο ιδιωτικό από τον πίνακα Κοινή χρήση.", "remote": "Απομακρυνσμένο", "share": "Κοινοποίηση...", @@ -126,16 +126,16 @@ "cloudSketch": { "alreadyExists": "Υπάρχει ήδη το σχέδιο '{0}' στο Cloud ", "creating": "Δημιουργία σχεδίου στο cloud '{0}'...", - "new": "Νέο σχέδιο Cloud ", - "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", - "pulling": "Synchronizing sketchbook, pulling '{0}'...", + "new": "Νέο έργο στο Cloud", + "notFound": "Δεν ήταν δυνατή η ανάκτηση του έργου'{0}'. από το could. Δεν υπάρχει.", + "pulling": "Συγχρονισμός βιβλιοθήκη έργων, τραβώντας '{0}'...", "pushing": "Synchronizing sketchbook, pushing '{0}'...", - "renaming": "Μετονομασία σχεδίου cloud από '{0}' σε '{1}'...", + "renaming": "Μετονομασία έργου could από '{0}' σε '{1}'...", "synchronizingSketchbook": "Synchronizing sketchbook..." }, "common": { "all": "Όλα", - "contributed": "Contributed", + "contributed": "Συνεισέφερε", "installManually": "Χειροκίνητη Εγκατάσταση", "later": "Αργότερα", "noBoardSelected": "Δεν έχει επιλεχθεί πλακέτα", @@ -143,16 +143,17 @@ "notConnected": "[μη συνδεμένο]", "offlineIndicator": "Φαίνεται πως είστε εκτός σύνδεσης. Χωρίς σύνδεση στο Internet, το Arduino CLI ίσως να μη μπορεί να κάνει λήψη των απαιτούμενων πόρων και να υπάρξει δυσλειτουργία. Παρακαλώ συνδεθείτε στο Internet και επανεκκινήστε την εφαρμογή.", "oldFormat": "Το '{0}' χρησιμοποιεί ακόμα το παλιό '.pde' στυλ. Θέλετε να αλλάξετε στην νέα κατάληξη '.ino';", - "partner": "Partner", + "partner": "Συνεργάτης", "processing": "Επεξεργασία", - "recommended": "Recommended", + "recommended": "Συνιστάται", "retired": "Παλιό ", "selectManually": "Επιλέξτε Χειροκίνητα", "selectedOn": "στο {0}", "serialMonitor": "Παρακολούθηση Σειριακής", "type": "Τύπος", "unknown": "Άγνωστο", - "updateable": "Με δυνατότητα ενημέρωσης" + "updateable": "Με δυνατότητα ενημέρωσης", + "userAbort": "Ακύρωση χρήστη" }, "compile": { "error": "Σφάλμα μεταγλώττισης: {0}" @@ -213,14 +214,13 @@ "debuggingNotSupported": "Δεν υποστιρίζεται αποσφαλμάτωση από '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Δεν έχει εγκατασταθεί πλατφόρμα για '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Βελτιστοποίηση για Αποσφαλμάτωση", - "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + "sketchIsNotCompiled": "Το έργο '{0}' πρέπει να επαληθευτεί πριν από την έναρξη μιας διαδικασίας αποσφαλμάτωσης. Παρακαλώ επαληθεύστε το σκίτσο και ξεκινήστε ξανά την αποσφαλμάτωση. Θέλετε να επαληθεύσετε το έργο τώρα;" }, "developer": { "clearBoardList": "Clear the Board List History", "clearBoardsConfig": "Διαγράψτε την επιλογή πλακέτας και θύρας", - "dumpBoardList": "Dump the Board List" + "dumpBoardList": "Αδειάστε τη λίστα του Πίνακα" }, "dialog": { "dontAskAgain": "Μην με ξαναρωτήσεις" @@ -250,7 +250,7 @@ "failedInstall": "Η εγκατάσταση απέτυχε. Παρακαλώ προσπαθήστε ξανά.", "install": "Εγκατάσταση", "installingFirmware": "Εγκατάσταση λογισμικού.", - "overwriteSketch": "Installation will overwrite the Sketch on the board.", + "overwriteSketch": "Η εγκατάσταση θα αντικαταστήσει το σχέδιο στον πίνακα.", "selectBoard": "Επιλογή Πλακέτας", "selectVersion": "Επιλέξτε έκδοση λογισμικού", "successfullyInstalled": "Το λογισμικό εγκαταστάθηκε με επιτυχία.", @@ -263,7 +263,7 @@ "gettingStarted": "Ξεκινώντας", "keyword": "Πληκτρολογήστε μια λέξη-κλειδί", "privacyPolicy": "Πολιτική Απορρήτου", - "reference": "Reference", + "reference": "Αναφορά", "search": "Αναζήτηση στο Arduino.cc", "troubleshooting": "Αντιμετώπιση προβλημάτων", "visit": "Επίσκεψη Arduino.cc" @@ -277,17 +277,17 @@ "errorCheckingForUpdates": "Σφάλμα κατά τον έλεγχο για ενημερώσεις του Arduino IDE.\n{0}", "goToDownloadButton": "Μετάβαση στη λήψη", "goToDownloadPage": "Υπάρχει διαθέσιμη ενημέρωση για το Arduino IDE, αλλά δεν μπορούμε να το κατεβάσουμε και να το εγκαταστήσουμε αυτόματα. Μεταβείτε στη σελίδα λήψης και κατεβάστε την πιο πρόσφατη έκδοση από εκεί. ", - "ideUpdaterDialog": "Software Update", + "ideUpdaterDialog": "Ενημέρωση λογισμικού", "newVersionAvailable": "Μια νέα έκδοση του Arduino IDE ({0}) είναι διαθέσιμη για λήψη.", "noUpdatesAvailable": "Δεν υπάρχουν διαθέσιμες πρόσφατες ενημερώσεις για το Arduino IDE", "notNowButton": "Όχι τώρα", "skipVersionButton": "Παράλειψη έκδοσης", "updateAvailable": "Διαθέσιμη ενημέρωση", - "versionDownloaded": "Arduino IDE {0} has been downloaded." + "versionDownloaded": "Arduino IDE {0} έχει ληφθεί." }, "installable": { - "libraryInstallFailed": "Failed to install library: '{0}{1}'.", - "platformInstallFailed": "Failed to install platform: '{0}{1}'." + "libraryInstallFailed": "Αποτυχία εγκατάστασης βιβλιοθήκης: '{0}{1}'.", + "platformInstallFailed": "Αποτυχία εγκατάστασης πλατφόρμας: '{0}{1}'." }, "library": { "addZip": "Προσθέστε μια βιβλιοθήκη μορφής .ZIP", @@ -295,9 +295,9 @@ "contributedLibraries": "Συνεισφορά βιβλιοθηκών", "include": "Συμπεριλάβετε βιβλιοθήκη", "installAll": "Εγκατάσταση όλων", - "installLibraryDependencies": "Install library dependencies", - "installMissingDependencies": "Would you like to install all the missing dependencies?", - "installOneMissingDependency": "Would you like to install the missing dependency?", + "installLibraryDependencies": "Εγκαταστήστε τα στοιχεία της βιβλιοθήκης.", + "installMissingDependencies": "Θέλετε να εγκαταστήσετε όλα τα στοιχεία που λείπουν;", + "installOneMissingDependency": "Θέλετε να εγκαταστήσετε το στοιχείο που λείπει; ", "installWithoutDependencies": "Install without dependencies", "installedSuccessfully": "Επιτυχής εγκατάσταση Βιβλιοθήκης {0} :{1} ", "libraryAlreadyExists": "Μια βιβλιοθήκη υπάρχει ήδη. Θέλετε να την αντικαταστήσετε;", @@ -319,7 +319,7 @@ "dataProcessing": "Επεξεργασία δεδομένων", "dataStorage": "Αποθήκευση δεδομένων", "deviceControl": "Έλεγχος συσκευής", - "display": "Display", + "display": "Εμφάνιση", "other": "Άλλα", "sensors": "Αισθητήρες", "signalInputOutput": "Είσοδος/Έξοδος Σήματος", @@ -368,7 +368,8 @@ "cloud.pull.warn": "Αληθές αν οι χρήστες πρέπει προειδοποιηθούν πριν τραβηχτεί ενα σχέδιο σύννεφου. Προεπιλογή ως αληθές.", "cloud.push.warn": "Αληθές αν οι χρήστες πρέπει προειδοποιηθούν πριν σπρωχθεί ενα σχέδιο σύννεφου. Προεπιλογή ως αληθές. ", "cloud.pushpublic.warn": "Αληθές αν οι χρήστες πρέπει προειδοποιηθούν πριν σπρωχθεί ενα δημόσιο σχέδιο σύννεφου. Προεπιλογή ως αληθές. ", - "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "Το σημείο που χρησιμοποιείται για την αποστολή και λήψη σκίτσων από ένα πίσω μέρος. Από προεπιλογή δείχνει στο Arduino Cloud API.", "compile": "μεταγλώττιση", "compile.experimental": "Σωστό αν το IDE πρέπει να χειρίζεται πολλαπλά σφάλματα μεταγλωττιστή. Λάθος από προεπιλογή", "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", @@ -390,7 +391,7 @@ "language.realTimeDiagnostics": "Εάν ισχύει, ο διακομιστής γλώσσας παρέχει διαγνωστικά σε πραγματικό χρόνο όταν πληκτρολογείτε στον επεξεργαστή. Είναι ψευδές από προεπιλογή.", "manualProxy": "Μη αυτόματη διαμόρφωση proxy διακομιστή μεσολάβησης", "monitor": { - "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + "dockPanel": "Η περιοχή του περιβλήματος της εφαρμογής όπου θα βρίσκεται το γραφικό στοιχείο _{0}_. Είναι είτε \"κάτω\" είτε \"δεξιά\". Προεπιλέγεται σε \"{1}\"." }, "network": "Δίκτυο", "newSketchbookLocation": "Επιλογή νέας τοποθεσίας σχεδίων", @@ -454,7 +455,7 @@ "invalidSketchName": "Το όνομα πρέπει να ξεκινά με γράμμα, αριθμό ή κάτω παύλα, ακολουθούμενα από γράμματα, αριθμούς, παύλες, τελείες και κάτω παύλες. Το μέγιστο μήκος είναι 63 χαρακτήρες.", "moving": "Μετακίνηση", "movingMsg": "Το αρχείο \"{0}\" πρέπει να βρίσκεται μέσα σε έναν φάκελο σχεδίου με το όνομα \"{1}\". \nΔημιουργία φακέλου, μεταφορά του αρχείου και συνέχεια;", - "new": "Νέο Σχέδιο ", + "new": "Νέο έργο", "noTrailingPeriod": "Ένα όνομα αρχείου δεν μπορεί να τελειώνει με τελεία", "openFolder": "Άνοιγμα φακέλου", "openRecent": "Άνοιγμα πρόσφατου", @@ -541,8 +542,8 @@ "expand": "Επαναφορά" }, "workspace": { - "deleteCloudSketch": "Το σχέδιο του cloud '{0}' θα διαγραφεί οριστικά από τους διακομιστές Arduino και τις τοπικές κρυφές μνήμες. Αυτή η ενέργεια είναι μη αναστρέψιμη. Θέλετε να διαγράψετε το τρέχον σχέδιο;", - "deleteCurrentSketch": "Το σχέδιο '{0}' θα διαγραφεί οριστικά. Αυτή η ενέργεια είναι μη αναστρέψιμη. Θέλετε να διαγράψετε το τρέχον σχέδιο; ", + "deleteCloudSketch": "Το έργο του cloud '{0}' θα διαγραφεί οριστικά από τους διακομιστές Arduino και τις τοπικές κρυφές μνήμες. Αυτή η ενέργεια είναι μη αναστρέψιμη. Θέλετε να διαγράψετε το τρέχον έργο;", + "deleteCurrentSketch": "Το έργο '{0}' θα διαγραφεί μόνιμα. Αυτή η ενέργεια είναι ανεπανόρθωτη. Θέλετε να διαγράψετε το τρέχον έργο;", "fileNewName": "Όνομα για το νεό αρχείο", "invalidExtension": ". {0}δεν είναι έγκυρη επέκταση", "newFileName": "Νέο όνομα για το αρχείο" diff --git a/i18n/es.json b/i18n/es.json index dd0802c4b..60dfe189f 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -152,7 +152,8 @@ "serialMonitor": "Monitor Serie", "type": "Tipo", "unknown": "Desconocido", - "updateable": "Actualizable" + "updateable": "Actualizable", + "userAbort": "User abort" }, "compile": { "error": "Error de compilación: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "La depuración no está soportada por '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "La plataforma no está instalada para '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimizar para depuración", "sketchIsNotCompiled": "El sketch '{0}' debe ser verificado antes de iniciar una sesión de depuración. Por favor, verifique el sketch e inicia la depuración nuevamente. ¿Deseas verificar el sketch ahora?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Verdadero si se debe advertir a los usuarios antes de sacar un boceto de la nube. El valor predeterminado es verdadero.", "cloud.push.warn": "Verdadero si se debe advertir a los usuarios antes de enviar un boceto a la nube. El valor predeterminado es verdadero.", "cloud.pushpublic.warn": "Verdadero si se debe advertir a los usuarios antes de enviar un boceto público a la nube. El valor predeterminado es verdadero.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "El punto final utilizado para empujar y extraer bocetos de un backend. Por defecto, apunta a la API de Arduino Cloud.", "compile": "Compliar", "compile.experimental": "True si el IDE debe manejar multiples errores del compilador. False por defecto", diff --git a/i18n/eu.json b/i18n/eu.json index 5dfc9dbdd..3e9f0675f 100644 --- a/i18n/eu.json +++ b/i18n/eu.json @@ -152,7 +152,8 @@ "serialMonitor": "Serieko monitorea", "type": "Type", "unknown": "Ezezaguna", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Konpilazio-errorea: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Ez dauka arazketarako euskarririk: '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Plataforma ez dago instalatuta honentzat: '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimizatu arazketarako", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Egia bada erabiltzaileek abisua jasoko dute programa bat hodeitik kargatu aurretik. Lehenetsia egia da.", "cloud.push.warn": "Egia bada erabiltzaileek abisua jasoko dute programa bat hodeian gorde aurretik. Lehenetsia egia da.", "cloud.pushpublic.warn": "Egia bada erabiltzaileek abisua jasoko dute programa publiko bat hodeian gorde aurretik. Lehenetsia egia da.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "Zerbitzari batean programak gorde eta kargatzeko amaiera-puntua. Lehenetsia Arduino Cloud API da.", "compile": "konpilazioa", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/fa.json b/i18n/fa.json index fc6a651bd..3e3adf901 100644 --- a/i18n/fa.json +++ b/i18n/fa.json @@ -152,7 +152,8 @@ "serialMonitor": "نمایشگر ترمینال سریال", "type": "نوع", "unknown": "نامعلوم", - "updateable": "قابل به روز رسانی" + "updateable": "قابل به روز رسانی", + "userAbort": "User abort" }, "compile": { "error": "خطای کامپایل : {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "رفع خطا توسط {0} پشتیبانی نمی شود.", "getDebugInfo": "در حال دریافت اطلاعات اشکال زدایی...", "noPlatformInstalledFor": "دستگاه مورد نظر برای {0} نصب نشده است", - "noProgrammerSelectedFor": "برنامه‌نویسی برای \"{0}\" انتخاب نشده است.", "optimizeForDebugging": "بهینه کردن برای رفع خطا", "sketchIsNotCompiled": "طرح «{0}» باید قبل از شروع برای اشکال‌زدایی بازبینی شود. لطفاً طرح را بازبینی کنید و دوباره اشکال زدایی را شروع کنید. آیا می خواهید اکنون طرح را تأیید کنید؟" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "اگر هشدار دادن به کاربران قبل از کشیدن یک طرح ابری درست می باشد ، پیش فرض ها صحیح است.", "cloud.push.warn": "اگر هشدار دادن به کاربران قبل از ارسال یک طرح ابری درست است پیش فرض ها درست می باشد", "cloud.pushpublic.warn": "اگر هشدار دادن به کاربران قبل از ارسال یک طرح عمومی به فضای درست می باشد پیش فرض ها درست است.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "نقطه ای برای ارسال و دریافت طرح ها استفاده می شود . به طور پیش فرض به رابط ابر آردوینو استفاده می کند.", "compile": "کامپایل", "compile.experimental": "درست است اگر IDE باید چندین خطای کامپایلر را مدیریت کند. به طور پیش فرض نادرست است", diff --git a/i18n/fil.json b/i18n/fil.json index da9068f2c..8ebbcaac5 100644 --- a/i18n/fil.json +++ b/i18n/fil.json @@ -152,7 +152,8 @@ "serialMonitor": "Serial Monitor", "type": "Type", "unknown": "Hindi alam", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Compilation error: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Ang debugging ay hindi suportado ng '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Ang platform ay hindi naka-install para sa '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Pinahusay para sa Debugging", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "compile", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/fr.json b/i18n/fr.json index 57504c257..090c4f643 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -152,7 +152,8 @@ "serialMonitor": "Moniteur série", "type": "Type", "unknown": "Inconnu", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Erreur de compilation : {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Le débogage n'est pas supporté pour '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "La plateforme n'est pas installée pour '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimisé pour le déboggage.", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Vrai si les utilisateurs devrait être averti avant de pull un croquis sur le cloud. Par défaut, la valeur est vrai.", "cloud.push.warn": "Vrai, si les utilisateurs devrait être averti avant de push un croquis sur le cloud. Par défaut, la valeur est vrai.", "cloud.pushpublic.warn": "Vrai si les utilisateurs devrait être avertit avant de publier un croquis public sur le cloud. Vrai par défaut.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "L'endpoint est utilisé pour pousser et tirer des croquis à partir du backend. Par défault, il pointe vers l'Arduino Cloud API.", "compile": "compiler", "compile.experimental": "Vrai si l'IDE doit gérer les multiples erreurs du compilateur. Faux par défaut", diff --git a/i18n/he.json b/i18n/he.json index 4c22dcd56..3f3cbb3bb 100644 --- a/i18n/he.json +++ b/i18n/he.json @@ -152,7 +152,8 @@ "serialMonitor": "מוניטור סיריאלי", "type": "סוג", "unknown": "לא ידוע", - "updateable": "ניתן לעדכון" + "updateable": "ניתן לעדכון", + "userAbort": "User abort" }, "compile": { "error": "שגיאת קומפילציה: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "דיבאג לא נתמך על ידי '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "פלטפורמה אינה מותקנת עבור ׳{0}׳", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "אופטימיזציה לדיבאג", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "קומפילציה", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/hu.json b/i18n/hu.json index bb7544c26..93e7180e3 100644 --- a/i18n/hu.json +++ b/i18n/hu.json @@ -152,7 +152,8 @@ "serialMonitor": "Soros monitor", "type": "Type", "unknown": "ismeretlen", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Összeállítási hiba: {0} " @@ -213,7 +214,6 @@ "debuggingNotSupported": "A hibakeresést a '{0}' nem támogatja ", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "A platform nincs telepítve a következőhöz: „{0}” ", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimalizálás hibakereséséhez", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Kipipálva: figyelmeztetés megjelenítése a vázlat/sketch felhőből letöltése előtt. Alapértelmezés szerint: kipipálva.", "cloud.push.warn": "Kipipálva: figyelmeztetés megjelenítése a vázlat/sketch felhőből való letöltése előtt. Alapértelmezés: kipipálva. ", "cloud.pushpublic.warn": "Kipipálva: figyelmeztetés megjelenítése a nyilvános vázlat/sketch felhőbe küldése előtt. Alapértelmezés szerint: kipipálva.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "A végpont/endpoint a vázlatok/sketch-ek háttéből történő letöltésére illetve publikálására szolgál. Alapértelmezés szerint az Arduino Cloud API-ra mutat. ", "compile": "fordítás", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/hy.json b/i18n/hy.json new file mode 100644 index 000000000..22babc740 --- /dev/null +++ b/i18n/hy.json @@ -0,0 +1,552 @@ +{ + "arduino": { + "about": { + "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "label": "About {0}" + }, + "account": { + "goToCloudEditor": "Go to Cloud Editor", + "goToIoTCloud": "Go to IoT Cloud", + "goToProfile": "Go to Profile", + "menuTitle": "Arduino Cloud" + }, + "board": { + "board": "Board{0}", + "boardConfigDialogTitle": "Select Other Board and Port", + "boardInfo": "Board Info", + "boards": "boards", + "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", + "configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.", + "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", + "editBoardsConfig": "Edit Board and Port...", + "getBoardInfo": "Get Board Info", + "inSketchbook": " (in Sketchbook)", + "installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?", + "noBoardsFound": "No boards found for \"{0}\"", + "noNativeSerialPort": "Native serial port, can't obtain info.", + "noPortsDiscovered": "No ports discovered", + "nonSerialPort": "Non-serial port, can't obtain info.", + "openBoardsConfig": "Select other board and port…", + "pleasePickBoard": "Please pick a board connected to the port you have selected.", + "port": "Port{0}", + "ports": "ports", + "programmer": "Programmer", + "reselectLater": "Reselect later", + "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "searchBoard": "Search board", + "selectBoard": "Select Board", + "selectPortForInfo": "Please select a port to obtain board info.", + "showAllAvailablePorts": "Shows all available ports when enabled", + "showAllPorts": "Show all ports", + "succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}", + "succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}", + "typeOfPorts": "{0} ports", + "unconfirmedBoard": "Unconfirmed board", + "unknownBoard": "Unknown board" + }, + "boardsManager": "Boards Manager", + "boardsType": { + "arduinoCertified": "Arduino Certified" + }, + "bootloader": { + "burnBootloader": "Burn Bootloader", + "burningBootloader": "Burning bootloader...", + "doneBurningBootloader": "Done burning bootloader." + }, + "burnBootloader": { + "error": "Error while burning the bootloader: {0}" + }, + "certificate": { + "addNew": "Add New", + "addURL": "Add URL to fetch SSL certificate", + "boardAtPort": "{0} at {1}", + "certificatesUploaded": "Certificates uploaded.", + "enterURL": "Enter URL", + "noSupportedBoardConnected": "No supported board connected", + "openContext": "Open context", + "remove": "Remove", + "selectBoard": "Select a board...", + "selectCertificateToUpload": "1. Select certificate to upload", + "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", + "upload": "Upload", + "uploadFailed": "Upload failed. Please try again.", + "uploadRootCertificates": "Upload SSL Root Certificates", + "uploadingCertificates": "Uploading certificates." + }, + "checkForUpdates": { + "checkForUpdates": "Check for Arduino Updates", + "installAll": "Install All", + "noUpdates": "There are no recent updates available.", + "promptUpdateBoards": "Updates are available for some of your boards.", + "promptUpdateLibraries": "Updates are available for some of your libraries.", + "updatingBoards": "Updating boards...", + "updatingLibraries": "Updating libraries..." + }, + "cli-error-parser": { + "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", + "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + }, + "cloud": { + "chooseSketchVisibility": "Choose visibility of your Sketch:", + "cloudSketchbook": "Cloud Sketchbook", + "connected": "Connected", + "continue": "Continue", + "donePulling": "Done pulling '{0}'.", + "donePushing": "Done pushing '{0}'.", + "embed": "Embed:", + "emptySketchbook": "Your Sketchbook is empty", + "goToCloud": "Go to Cloud", + "learnMore": "Learn more", + "link": "Link:", + "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", + "offline": "Offline", + "openInCloudEditor": "Open in Cloud Editor", + "options": "Options...", + "privateVisibility": "Private. Only you can view the Sketch.", + "profilePicture": "Profile picture", + "publicVisibility": "Public. Anyone with the link can view the Sketch.", + "pull": "Pull", + "pullFirst": "You have to pull first to be able to push to the Cloud.", + "pullSketch": "Pull Sketch", + "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", + "push": "Push", + "pushSketch": "Push Sketch", + "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", + "remote": "Remote", + "share": "Share...", + "shareSketch": "Share Sketch", + "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "signIn": "SIGN IN", + "signInToCloud": "Sign in to Arduino Cloud", + "signOut": "Sign Out", + "sync": "Sync", + "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", + "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." + }, + "cloudSketch": { + "alreadyExists": "Cloud sketch '{0}' already exists.", + "creating": "Creating cloud sketch '{0}'...", + "new": "New Cloud Sketch", + "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", + "pulling": "Synchronizing sketchbook, pulling '{0}'...", + "pushing": "Synchronizing sketchbook, pushing '{0}'...", + "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", + "synchronizingSketchbook": "Synchronizing sketchbook..." + }, + "common": { + "all": "All", + "contributed": "Contributed", + "installManually": "Install Manually", + "later": "Later", + "noBoardSelected": "No board selected", + "noSketchOpened": "No sketch opened", + "notConnected": "[not connected]", + "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", + "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", + "partner": "Partner", + "processing": "Processing", + "recommended": "Recommended", + "retired": "Retired", + "selectManually": "Select Manually", + "selectedOn": "on {0}", + "serialMonitor": "Serial Monitor", + "type": "Type", + "unknown": "Unknown", + "updateable": "Updatable", + "userAbort": "User abort" + }, + "compile": { + "error": "Compilation error: {0}" + }, + "component": { + "boardsIncluded": "Boards included in this package:", + "by": "by", + "clickToOpen": "Click to open in browser: {0}", + "filterSearch": "Filter your search...", + "install": "Install", + "installLatest": "Install Latest", + "installVersion": "Install {0}", + "installed": "{0} installed", + "moreInfo": "More info", + "otherVersions": "Other Versions", + "remove": "Remove", + "title": "{0} by {1}", + "uninstall": "Uninstall", + "uninstallMsg": "Do you want to uninstall {0}?", + "update": "Update" + }, + "configuration": { + "cli": { + "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + } + }, + "connectionStatus": { + "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + }, + "contributions": { + "addFile": "Add File", + "fileAdded": "One file added to the sketch.", + "plotter": { + "couldNotOpen": "Couldn't open serial plotter" + }, + "replaceTitle": "Replace" + }, + "core": { + "compilerWarnings": { + "all": "All", + "default": "Default", + "more": "More", + "none": "None" + } + }, + "coreContribution": { + "copyError": "Copy error messages", + "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + }, + "createCloudCopy": "Push Sketch to Cloud", + "daemon": { + "restart": "Restart Daemon", + "start": "Start Daemon", + "stop": "Stop Daemon" + }, + "debug": { + "debugWithMessage": "Debug - {0}", + "debuggingNotSupported": "Debugging is not supported by '{0}'", + "getDebugInfo": "Getting debug info...", + "noPlatformInstalledFor": "Platform is not installed for '{0}'", + "optimizeForDebugging": "Optimize for Debugging", + "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + }, + "developer": { + "clearBoardList": "Clear the Board List History", + "clearBoardsConfig": "Clear the Board and Port Selection", + "dumpBoardList": "Dump the Board List" + }, + "dialog": { + "dontAskAgain": "Don't ask again" + }, + "editor": { + "autoFormat": "Auto Format", + "commentUncomment": "Comment/Uncomment", + "copyForForum": "Copy for Forum (Markdown)", + "decreaseFontSize": "Decrease Font Size", + "decreaseIndent": "Decrease Indent", + "increaseFontSize": "Increase Font Size", + "increaseIndent": "Increase Indent", + "nextError": "Next Error", + "previousError": "Previous Error", + "revealError": "Reveal Error" + }, + "examples": { + "builtInExamples": "Built-in examples", + "couldNotInitializeExamples": "Could not initialize built-in examples.", + "customLibrary": "Examples from Custom Libraries", + "for": "Examples for {0}", + "forAny": "Examples for any board", + "menu": "Examples" + }, + "firmware": { + "checkUpdates": "Check Updates", + "failedInstall": "Installation failed. Please try again.", + "install": "Install", + "installingFirmware": "Installing firmware.", + "overwriteSketch": "Installation will overwrite the Sketch on the board.", + "selectBoard": "Select Board", + "selectVersion": "Select firmware version", + "successfullyInstalled": "Firmware successfully installed.", + "updater": "Firmware Updater" + }, + "help": { + "environment": "Environment", + "faq": "Frequently Asked Questions", + "findInReference": "Find in Reference", + "gettingStarted": "Getting Started", + "keyword": "Type a keyword", + "privacyPolicy": "Privacy Policy", + "reference": "Reference", + "search": "Search on Arduino.cc", + "troubleshooting": "Troubleshooting", + "visit": "Visit Arduino.cc" + }, + "ide-updater": { + "checkForUpdates": "Check for Arduino IDE Updates", + "closeAndInstallButton": "Close and Install", + "closeToInstallNotice": "Close the software and install the update on your machine.", + "downloadButton": "Download", + "downloadingNotice": "Downloading the latest version of the Arduino IDE.", + "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", + "goToDownloadButton": "Go To Download", + "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", + "ideUpdaterDialog": "Software Update", + "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", + "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", + "notNowButton": "Not now", + "skipVersionButton": "Skip Version", + "updateAvailable": "Update Available", + "versionDownloaded": "Arduino IDE {0} has been downloaded." + }, + "installable": { + "libraryInstallFailed": "Failed to install library: '{0}{1}'.", + "platformInstallFailed": "Failed to install platform: '{0}{1}'." + }, + "library": { + "addZip": "Add .ZIP Library...", + "arduinoLibraries": "Arduino libraries", + "contributedLibraries": "Contributed libraries", + "include": "Include Library", + "installAll": "Install All", + "installLibraryDependencies": "Install library dependencies", + "installMissingDependencies": "Would you like to install all the missing dependencies?", + "installOneMissingDependency": "Would you like to install the missing dependency?", + "installWithoutDependencies": "Install without dependencies", + "installedSuccessfully": "Successfully installed library {0}:{1}", + "libraryAlreadyExists": "A library already exists. Do you want to overwrite it?", + "manageLibraries": "Manage Libraries...", + "namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?", + "needsMultipleDependencies": "The library {0}:{1} needs some other dependencies currently not installed:", + "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", + "overwriteExistingLibrary": "Do you want to overwrite the existing library?", + "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", + "title": "Library Manager", + "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", + "zipLibrary": "Library" + }, + "librarySearchProperty": { + "topic": "Topic" + }, + "libraryTopic": { + "communication": "Communication", + "dataProcessing": "Data Processing", + "dataStorage": "Data Storage", + "deviceControl": "Device Control", + "display": "Display", + "other": "Other", + "sensors": "Sensors", + "signalInputOutput": "Signal Input/Output", + "timing": "Timing", + "uncategorized": "Uncategorized" + }, + "libraryType": { + "installed": "Installed" + }, + "menu": { + "advanced": "Advanced", + "sketch": "Sketch", + "tools": "Tools" + }, + "monitor": { + "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", + "baudRate": "{0} baud", + "connectionFailedError": "Could not connect to {0} {1} port.", + "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", + "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", + "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", + "notConnectedError": "Not connected to {0} {1} port.", + "unableToCloseWebSocket": "Unable to close websocket", + "unableToConnectToWebSocket": "Unable to connect to websocket" + }, + "newCloudSketch": { + "newSketchTitle": "Name of the new Cloud Sketch" + }, + "portProtocol": { + "network": "Network", + "serial": "Serial" + }, + "preferences": { + "additionalManagerURLs": "Additional Boards Manager URLs", + "auth.audience": "The OAuth2 audience.", + "auth.clientID": "The OAuth2 client ID.", + "auth.domain": "The OAuth2 domain.", + "auth.registerUri": "The URI used to register a new user.", + "automatic": "Automatic", + "board.certificates": "List of certificates that can be uploaded to boards", + "browse": "Browse", + "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "choose": "Choose", + "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", + "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", + "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", + "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", + "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", + "compile": "compile", + "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", + "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", + "compile.verbose": "True for verbose compile output. False by default", + "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", + "compilerWarnings": "Compiler warnings", + "editorFontSize": "Editor font size", + "editorQuickSuggestions": "Editor Quick Suggestions", + "enterAdditionalURLs": "Enter additional URLs, one for each row", + "files.inside.sketches": "Show files inside Sketches", + "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", + "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", + "interfaceScale": "Interface scale", + "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", + "invalid.sketchbook.location": "Invalid sketchbook location: {0}", + "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", + "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", + "manualProxy": "Manual proxy configuration", + "monitor": { + "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + }, + "network": "Network", + "newSketchbookLocation": "Select new sketchbook location", + "noCliConfig": "Could not load the CLI configuration", + "noProxy": "No proxy", + "proxySettings": { + "hostname": "Host name", + "password": "Password", + "port": "Port number", + "username": "Username" + }, + "showVerbose": "Show verbose output during", + "sketch": { + "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + }, + "sketchbook.location": "Sketchbook location", + "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", + "survey.notification": "True if users should be notified if a survey is available. True by default.", + "unofficialBoardSupport": "Click for a list of unofficial board support URLs", + "upload": "upload", + "upload.verbose": "True for verbose upload output. False by default.", + "verifyAfterUpload": "Verify code after upload", + "window.autoScale": "True if the user interface automatically scales with the font size.", + "window.zoomLevel": { + "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." + } + }, + "renameCloudSketch": { + "renameSketchTitle": "New name of the Cloud Sketch" + }, + "replaceMsg": "Replace the existing version of {0}?", + "selectZip": "Select a zip file containing the library you'd like to add", + "serial": { + "autoscroll": "Autoscroll", + "carriageReturn": "Carriage Return", + "connecting": "Connecting to '{0}' on '{1}'...", + "message": "Message (Enter to send message to '{0}' on '{1}')", + "newLine": "New Line", + "newLineCarriageReturn": "Both NL & CR", + "noLineEndings": "No Line Ending", + "notConnected": "Not connected. Select a board and a port to connect automatically.", + "openSerialPlotter": "Serial Plotter", + "timestamp": "Timestamp", + "toggleTimestamp": "Toggle Timestamp" + }, + "sketch": { + "archiveSketch": "Archive Sketch", + "cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.", + "compile": "Compiling sketch...", + "configureAndUpload": "Configure and Upload", + "createdArchive": "Created archive '{0}'.", + "doneCompiling": "Done compiling.", + "doneUploading": "Done uploading.", + "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", + "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "exportBinary": "Export Compiled Binary", + "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", + "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", + "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", + "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", + "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", + "moving": "Moving", + "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", + "new": "New Sketch", + "noTrailingPeriod": "A filename cannot end with a dot", + "openFolder": "Open Folder", + "openRecent": "Open Recent", + "openSketchInNewWindow": "Open Sketch in New Window", + "reservedFilename": "'{0}' is a reserved filename.", + "saveFolderAs": "Save sketch folder as...", + "saveSketch": "Save your sketch to open it again later.", + "saveSketchAs": "Save sketch folder as...", + "showFolder": "Show Sketch Folder", + "sketch": "Sketch", + "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", + "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchbook": "Sketchbook", + "titleLocalSketchbook": "Local Sketchbook", + "titleSketchbook": "Sketchbook", + "upload": "Upload", + "uploadUsingProgrammer": "Upload Using Programmer", + "uploading": "Uploading...", + "userFieldsNotFoundError": "Can't find user fields for connected board", + "verify": "Verify", + "verifyOrCompile": "Verify/Compile" + }, + "sketchbook": { + "newCloudSketch": "New Cloud Sketch", + "newSketch": "New Sketch" + }, + "survey": { + "answerSurvey": "Answer survey", + "dismissSurvey": "Don't show again", + "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." + }, + "theme": { + "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", + "dark": "Dark", + "deprecated": "{0} (deprecated)", + "hc": "Dark High Contrast", + "hcLight": "Light High Contrast", + "light": "Light", + "user": "{0} (user)" + }, + "title": { + "cloud": "Cloud" + }, + "updateIndexes": { + "updateIndexes": "Update Indexes", + "updateLibraryIndex": "Update Library Index", + "updatePackageIndex": "Update Package Index" + }, + "upload": { + "error": "{0} error: {1}" + }, + "userFields": { + "cancel": "Cancel", + "enterField": "Enter {0}", + "upload": "Upload" + }, + "validateSketch": { + "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", + "abortFixTitle": "Invalid sketch", + "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", + "renameSketchFileTitle": "Invalid sketch filename", + "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", + "renameSketchFolderTitle": "Invalid sketch name" + }, + "workspace": { + "alreadyExists": "'{0}' already exists." + } + }, + "theia": { + "core": { + "cannotConnectBackend": "Cannot connect to the backend.", + "cannotConnectDaemon": "Cannot connect to the CLI daemon.", + "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", + "daemonOffline": "CLI Daemon Offline", + "offline": "Offline", + "offlineText": "Offline", + "quitTitle": "Are you sure you want to quit?" + }, + "editor": { + "unsavedTitle": "Unsaved – {0}" + }, + "messages": { + "collapse": "Collapse", + "expand": "Expand" + }, + "workspace": { + "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", + "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "fileNewName": "Name for new file", + "invalidExtension": ".{0} is not a valid extension", + "newFileName": "New name for file" + } + } +} diff --git a/i18n/id.json b/i18n/id.json index 5a06a4516..7ff8cae03 100644 --- a/i18n/id.json +++ b/i18n/id.json @@ -76,8 +76,8 @@ "checkForUpdates": { "checkForUpdates": "Periksa Pembaruan Arduino", "installAll": "Pasang Semua", - "noUpdates": "There are no recent updates available.", - "promptUpdateBoards": "Updates are available for some of your boards.", + "noUpdates": "Tidak ada pembaruan terbaru yang tersedia.", + "promptUpdateBoards": "Pembaruan tersedia untuk beberapa papan Anda.", "promptUpdateLibraries": "Updates are available for some of your libraries.", "updatingBoards": "Updating boards...", "updatingLibraries": "Updating libraries..." @@ -152,7 +152,8 @@ "serialMonitor": "Serial Monitor", "type": "Type", "unknown": "Unknown", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Compilation error: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Debugging is not supported by '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimize for Debugging", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "compile", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/it.json b/i18n/it.json index 8c618632b..35400398d 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -152,7 +152,8 @@ "serialMonitor": "Monitor seriale", "type": "Tipo", "unknown": "Sconosciuto", - "updateable": "Aggiornabile" + "updateable": "Aggiornabile", + "userAbort": "Interruzione da parte dell'utente" }, "compile": { "error": "Errore di compilazione: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Il debug non è supportato da '{0}'", "getDebugInfo": "Acquisizione delle informazioni di debug in corso...", "noPlatformInstalledFor": "La piattaforma non è ancora stata installata per '{0}'", - "noProgrammerSelectedFor": "Nessun programmatore selezionato per '{0}'", "optimizeForDebugging": "Ottimizzato per il Debug.", "sketchIsNotCompiled": "Lo sketch '{0}' deve essere verificato prima di avviare una sessione di debug. Verificare lo sketch e avviare nuovamente il debug. Si desidera verificare lo sketch adesso?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Imposta su true se gli utenti devono essere avvisato dopo avere effettuato il pull dello sketch sul cloud. Il valore predefinito è true.", "cloud.push.warn": "Imposta su True se gli utenti devono essere avvisati prima di eseguire l'invio di uno sketch cloud. Il valore predefinito è true.", "cloud.pushpublic.warn": "Imposta su true se gli utenti devono essere avvisati prima di eseguire l'invio di uno sketch pubblico nel cloud. Il valore predefinito è true.", + "cloud.sharedSpaceId": "L'ID dello spazio condiviso di Arduino Cloud da cui caricare lo sketchbook. Se vuoto, viene selezionato lo spazio privato.", "cloud.sketchSyncEndpoint": "La destinazione utilizzata per inviare e richiedere gli schizzi da un back-end. L'impostazione predefinita utilizza Arduino Cloud API.", "compile": "compilazione", "compile.experimental": "Imposta su true se l'IDE deve gestire errori multipli del compilatore. Il valore predefinito è false.", @@ -454,7 +455,7 @@ "invalidSketchName": "Il nome deve iniziare con una lettera, un numero o un trattino basso, seguito da lettere, numeri, trattini, punti e trattini bassi. La lunghezza massima è di 63 caratteri.", "moving": "Spostando", "movingMsg": "Il file \"{0}\" deve essere all'interno della cartella \"{1}\".\nCreare questa cartella, spostare il file e continuare?", - "new": "Nuovo Sketch", + "new": "Nuovo sketch", "noTrailingPeriod": "Il nome di un file non può terminare con un punto", "openFolder": "Apri Cartella", "openRecent": "Apri recenti", diff --git a/i18n/ja.json b/i18n/ja.json index cefc471f8..4e36e6b46 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -152,7 +152,8 @@ "serialMonitor": "シリアルモニタ", "type": "タイプ", "unknown": "不明", - "updateable": "アップデート可能" + "updateable": "アップデート可能", + "userAbort": "User abort" }, "compile": { "error": "コンパイルエラー: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "デバッグは'{0}'ではサポートされていません。", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "'{0}'用にプラットフォームがインストールされていません。", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "デバッグに最適化", "sketchIsNotCompiled": "デバッグセッションを開始する前に、スケッチ'{0}'を検証する必要があります。スケッチを検証してから、もう一度デバッグを開始してください。今すぐスケッチを検証しますか?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "クラウドスケッチをプルする前に、ユーザーに警告を表示するにはtrueを指定。デフォルトではtrue。", "cloud.push.warn": "クラウドスケッチをプッシュする前に、ユーザーに警告を表示するにはtrueを指定。デフォルトではtrue。", "cloud.pushpublic.warn": "パブリックスケッチをクラウドにプッシュする前に、ユーザーに警告を表示するにはtrueを指定。デフォルトではtrue。", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "バックエンドからスケッチをプッシュ/プルするために使用されるエンドポイント。デフォルトではArduino Cloud APIを指します。", "compile": "コンパイル", "compile.experimental": "IDEが複数のコンパイラエラーを処理するよう設定するにはtrueを指定します。デフォルトは falseです。", diff --git a/i18n/ko.json b/i18n/ko.json index 3d2c1db2c..ddeae53a9 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -152,7 +152,8 @@ "serialMonitor": "시리얼 모니터", "type": "Type", "unknown": "알 수 없음", - "updateable": "업데이트 가능함" + "updateable": "업데이트 가능함", + "userAbort": "User abort" }, "compile": { "error": "컴파일 오류: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Debugging is not supported by '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "'{0}'에 대한 플랫폼이 설치되어 있지 않습니다", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "디버깅 최적화", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "클라우드 스케치를 pulling 전에 사용자에게 경고해야 하는 경우 True입니다. 기본값은 true입니다.", "cloud.push.warn": "클라우드 스케치를 pushing 전에 사용자에게 경고해야 하는 경우 True입니다. 기본값은 true입니다.", "cloud.pushpublic.warn": "공개 스케치를 클라우드로 pushing 전에 사용자에게 경고해야 하는 경우 True입니다.기본값은 true입니다.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "컴파일", "compile.experimental": "IDE가 여러 컴파일러 오류를 처리해야 하는 경우 True입니다.기본적으로 False입니다.", diff --git a/i18n/my_MM.json b/i18n/my_MM.json index f6dd4b7c4..626fdad02 100644 --- a/i18n/my_MM.json +++ b/i18n/my_MM.json @@ -152,7 +152,8 @@ "serialMonitor": "အတန်းလိုက်ဆက်သွယ်မှုမော်နီတာ", "type": "အမျိုးအစား", "unknown": "မသိ", - "updateable": "အပ်ဒိတ်တင်၍ရသော" + "updateable": "အပ်ဒိတ်တင်၍ရသော", + "userAbort": "User abort" }, "compile": { "error": "ကုတ်ပေါင်းခြင်းဆိုင်ရာအမှား- {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "ကုတ်ပြစ်ချက်ရှာဖွေမှုကို '{0}'မှ မပေးထားပါ", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "'{0}' အတွက် ပလက်ဖောင်းကို မထည့်သွင်းရသေးပါ", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "ကုတ်ပြစ်ချက်ရှာဖွေရန်အတွက်ဦးစားပေးမည်", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "ကလောက်ကုတ်ဖိုင်လ်ကို စက်ထဲ့သို့ မသွင်းခင် သတိပေးမည်။ မူရင်းတန်ဖိုး - အမှန်", "cloud.push.warn": "ကလောက်ကုတ်ဖိုင်လ်သို့ ကုတ်ဖိုင်လ် မသွင်းခင် သတိပေးမည်။ မူရင်းတန်ဖိုး - အမှန်", "cloud.pushpublic.warn": "ကလောက်သို့ အများသုံးကုတ်ဖိုင်လ် မသွင်းခင် သတိပေးမည်။ မူရင်းတန်ဖိုး - အမှန်", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "နောက်ကွယ်လုပ်ဆောင်မှုစနစ်မှ ကုတ်ဖိုင်လ် ရယူခြင်း သို့ ပေးပို့ခြင်းလုပ်ရန် အသုံးပြုသော အဆုံးမှတ်။ မူရင်းတန်းဖိုး - အာဒီနိုကလောက်အေပီအိုင်သို့ ညွှန်ပြနေသည်။", "compile": "စက်ဘာသာပြန်", "compile.experimental": "ကုတ်ပေါင်းမှုဆိုင်ရာပြဿနာများအား အိုင်ဒီအီးမှ ကိုင်တွယ်မည်။ မူရင်းတန်ဖိုး - အမှား", diff --git a/i18n/ne.json b/i18n/ne.json index 607772940..f5617ebb7 100644 --- a/i18n/ne.json +++ b/i18n/ne.json @@ -152,7 +152,8 @@ "serialMonitor": "सिरियल मनिटर", "type": "प्रकार", "unknown": "थाहा नभएको", - "updateable": "अपडेट गर्न मिल्ने" + "updateable": "अपडेट गर्न मिल्ने", + "userAbort": "User abort" }, "compile": { "error": "संकलन त्रुटि: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "डिबगिङ '{0}' द्वारा समर्थित छैन", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "'{0}' को लागि प्लेटफर्म स्थापना गरिएको छैन", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "डिबगिङका लागि अप्टिमाइज गर्नुहोस्", "sketchIsNotCompiled": "डिबग अवधि सुरु गर्नु अघि स्केच {0} पुष्टि गरिनुपर्छ। कृपया स्केच पुष्टि गर्नुहोस् र फेरि डिबगिङ सुरु गर्नुहोस्। के तपाई अहिले स्केच पुष्टि गर्न चाहनुहुन्छ?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "क्लाउड स्केच पुल गर्नु अघि प्रयोगकर्ताहरूलाई चेतावनी दिनुपर्छ भने सही संकेत गर्नुहोस्। यो पूर्वनिर्धारित सेटिङमा सही हुन्छ।", "cloud.push.warn": "क्लाउड स्केच पुश गर्नु अघि प्रयोगकर्ताहरूलाई चेतावनी दिनुपर्छ भने सही संकेत गर्नुहोस्। यो पूर्वनिर्धारित सेटिङमा सही हुन्छ।", "cloud.pushpublic.warn": "यदि प्रयोगकर्ताहरूलाई क्लाउडमा सार्वजनिक स्केच पुश गर्नु अघि चेतावनी दिनुपर्छ भने सही संकेत गर्नुहोस्। यो पूर्वनिर्धारित सेटिङमा सही हुन्छ।", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "ब्याकइन्डबाट स्केचहरू पुश गर्न र पुल गर्न अन्तिम बिन्दु प्रयोग गरियो। पूर्वनिर्धारित रूपमा यसले Arduino क्लाउड API लाई संकेत गर्दछ।", "compile": "कम्पाइल ", "compile.experimental": "यदि IDE ले धेरै कम्पाइलर त्रुटिहरू ह्यान्डल गर्नुपर्छ भने सक्षम गर्नुहोस्। यो पूर्वनिर्धारित सेटिङमा असक्षम छ।", diff --git a/i18n/nl.json b/i18n/nl.json index b6d55b419..9b3aba52f 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -152,7 +152,8 @@ "serialMonitor": "Seriële Monitor", "type": "Type", "unknown": "Onbekend", - "updateable": "Bijwerkbaar" + "updateable": "Bijwerkbaar", + "userAbort": "User abort" }, "compile": { "error": "Compilatiefout: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Foutopsporing wordt niet ondersteund door '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platform is niet geïnstalleerd voor '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimaliseren voor foutopsporing", "sketchIsNotCompiled": "Schets '{0}' moet geverifieerd worden voordat de foutopsporing kan beginnen. Verifieer aub de schets opnieuw en herstart foutopsporing. Wil je de schets nu opnieuw verifiëren?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Waar als de gebruiker verwittigd moet worden voordat een Cloud schets opgehaald wordt. Standaard ingesteld op waar. ", "cloud.push.warn": "Waar als de gebruiker verwittigd moet worden voordat een Cloud schets opgeladen wordt. Standaard ingesteld op waar. ", "cloud.pushpublic.warn": "Waar als de gebruiker verwittigd moet worden voordat een publieke Cloud schets opgeladen wordt. Standaard ingesteld op waar. ", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "Het eindpunt dat gebruikt wordt voor het opladen of ophalen van schetsen van een backend. Standaard verwijst het naar Arduino Cloud API.", "compile": "compileren", "compile.experimental": "Waar als de IDE meerdere compileer fouten moet afhandelen. Standaard is het Onwaar", diff --git a/i18n/no.json b/i18n/no.json new file mode 100644 index 000000000..fa6f0f253 --- /dev/null +++ b/i18n/no.json @@ -0,0 +1,552 @@ +{ + "arduino": { + "about": { + "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "label": "About {0}" + }, + "account": { + "goToCloudEditor": "Go to Cloud Editor", + "goToIoTCloud": "Go to IoT Cloud", + "goToProfile": "Go to Profile", + "menuTitle": "Arduino Cloud" + }, + "board": { + "board": "Kort{0}", + "boardConfigDialogTitle": "Velg et annet kort og port", + "boardInfo": "Informasjon om kort", + "boards": "Kort", + "configDialog1": "Velg kort og portnummer for å laste opp skissen", + "configDialog2": "Hvis du bare velger kort vil du være i stand til å kompilere, men ikke laste opp skissen", + "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", + "editBoardsConfig": "Rediger kort og port", + "getBoardInfo": "Få info om kort", + "inSketchbook": " (in Sketchbook)", + "installNow": "\"{0}{1}\"kjernen må installeres for kortet \"{2}\" som er valgt. Vil du installere det nå?", + "noBoardsFound": "Intet kort funnet for \"{0}\"", + "noNativeSerialPort": "Native serial port, can't obtain info.", + "noPortsDiscovered": "Ingen porter oppdaget", + "nonSerialPort": "Ikke-seriell port. Kan ikke innhentete info.", + "openBoardsConfig": "Velg et annet kort og port...", + "pleasePickBoard": "Velg et kort som er koblet til porten du har valgt.", + "port": "Port {0}", + "ports": "porter", + "programmer": "Programmer", + "reselectLater": "Velg igjen senere", + "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "searchBoard": "Søk etter kort", + "selectBoard": "Velg kort", + "selectPortForInfo": "Velg en port for å få info om kort", + "showAllAvailablePorts": "Shows all available ports when enabled", + "showAllPorts": "Vis alle porter", + "succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}", + "succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}", + "typeOfPorts": "{0} ports", + "unconfirmedBoard": "Unconfirmed board", + "unknownBoard": "Ukjent kort" + }, + "boardsManager": "Boards Manager", + "boardsType": { + "arduinoCertified": "Arduino Certified" + }, + "bootloader": { + "burnBootloader": "Burn Bootloader", + "burningBootloader": "Burning bootloader...", + "doneBurningBootloader": "Done burning bootloader." + }, + "burnBootloader": { + "error": "Error while burning the bootloader: {0}" + }, + "certificate": { + "addNew": "Add New", + "addURL": "Add URL to fetch SSL certificate", + "boardAtPort": "{0} at {1}", + "certificatesUploaded": "Certificates uploaded.", + "enterURL": "Enter URL", + "noSupportedBoardConnected": "No supported board connected", + "openContext": "Open context", + "remove": "Remove", + "selectBoard": "Select a board...", + "selectCertificateToUpload": "1. Select certificate to upload", + "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", + "upload": "Upload", + "uploadFailed": "Upload failed. Please try again.", + "uploadRootCertificates": "Upload SSL Root Certificates", + "uploadingCertificates": "Uploading certificates." + }, + "checkForUpdates": { + "checkForUpdates": "Check for Arduino Updates", + "installAll": "Install All", + "noUpdates": "There are no recent updates available.", + "promptUpdateBoards": "Updates are available for some of your boards.", + "promptUpdateLibraries": "Updates are available for some of your libraries.", + "updatingBoards": "Updating boards...", + "updatingLibraries": "Updating libraries..." + }, + "cli-error-parser": { + "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", + "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + }, + "cloud": { + "chooseSketchVisibility": "Choose visibility of your Sketch:", + "cloudSketchbook": "Cloud Sketchbook", + "connected": "Connected", + "continue": "Continue", + "donePulling": "Done pulling '{0}'.", + "donePushing": "Done pushing '{0}'.", + "embed": "Embed:", + "emptySketchbook": "Your Sketchbook is empty", + "goToCloud": "Go to Cloud", + "learnMore": "Learn more", + "link": "Link:", + "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", + "offline": "Offline", + "openInCloudEditor": "Open in Cloud Editor", + "options": "Options...", + "privateVisibility": "Private. Only you can view the Sketch.", + "profilePicture": "Profile picture", + "publicVisibility": "Public. Anyone with the link can view the Sketch.", + "pull": "Pull", + "pullFirst": "You have to pull first to be able to push to the Cloud.", + "pullSketch": "Pull Sketch", + "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", + "push": "Push", + "pushSketch": "Push Sketch", + "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", + "remote": "Remote", + "share": "Share...", + "shareSketch": "Share Sketch", + "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "signIn": "SIGN IN", + "signInToCloud": "Sign in to Arduino Cloud", + "signOut": "Sign Out", + "sync": "Sync", + "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", + "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." + }, + "cloudSketch": { + "alreadyExists": "Cloud sketch '{0}' already exists.", + "creating": "Creating cloud sketch '{0}'...", + "new": "New Cloud Sketch", + "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", + "pulling": "Synchronizing sketchbook, pulling '{0}'...", + "pushing": "Synchronizing sketchbook, pushing '{0}'...", + "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", + "synchronizingSketchbook": "Synchronizing sketchbook..." + }, + "common": { + "all": "All", + "contributed": "Contributed", + "installManually": "Install Manually", + "later": "Later", + "noBoardSelected": "No board selected", + "noSketchOpened": "No sketch opened", + "notConnected": "[not connected]", + "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", + "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", + "partner": "Partner", + "processing": "Processing", + "recommended": "Recommended", + "retired": "Retired", + "selectManually": "Select Manually", + "selectedOn": "on {0}", + "serialMonitor": "Serial Monitor", + "type": "Type", + "unknown": "Unknown", + "updateable": "Updatable", + "userAbort": "User abort" + }, + "compile": { + "error": "Compilation error: {0}" + }, + "component": { + "boardsIncluded": "Boards included in this package:", + "by": "by", + "clickToOpen": "Click to open in browser: {0}", + "filterSearch": "Filter your search...", + "install": "Install", + "installLatest": "Install Latest", + "installVersion": "Install {0}", + "installed": "{0} installed", + "moreInfo": "More info", + "otherVersions": "Other Versions", + "remove": "Remove", + "title": "{0} by {1}", + "uninstall": "Uninstall", + "uninstallMsg": "Do you want to uninstall {0}?", + "update": "Update" + }, + "configuration": { + "cli": { + "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + } + }, + "connectionStatus": { + "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + }, + "contributions": { + "addFile": "Add File", + "fileAdded": "One file added to the sketch.", + "plotter": { + "couldNotOpen": "Couldn't open serial plotter" + }, + "replaceTitle": "Replace" + }, + "core": { + "compilerWarnings": { + "all": "All", + "default": "Default", + "more": "More", + "none": "None" + } + }, + "coreContribution": { + "copyError": "Copy error messages", + "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + }, + "createCloudCopy": "Push Sketch to Cloud", + "daemon": { + "restart": "Restart Daemon", + "start": "Start Daemon", + "stop": "Stop Daemon" + }, + "debug": { + "debugWithMessage": "Debug - {0}", + "debuggingNotSupported": "Debugging is not supported by '{0}'", + "getDebugInfo": "Getting debug info...", + "noPlatformInstalledFor": "Platform is not installed for '{0}'", + "optimizeForDebugging": "Optimize for Debugging", + "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + }, + "developer": { + "clearBoardList": "Clear the Board List History", + "clearBoardsConfig": "Clear the Board and Port Selection", + "dumpBoardList": "Dump the Board List" + }, + "dialog": { + "dontAskAgain": "Don't ask again" + }, + "editor": { + "autoFormat": "Auto Format", + "commentUncomment": "Comment/Uncomment", + "copyForForum": "Copy for Forum (Markdown)", + "decreaseFontSize": "Decrease Font Size", + "decreaseIndent": "Decrease Indent", + "increaseFontSize": "Increase Font Size", + "increaseIndent": "Increase Indent", + "nextError": "Next Error", + "previousError": "Previous Error", + "revealError": "Reveal Error" + }, + "examples": { + "builtInExamples": "Built-in examples", + "couldNotInitializeExamples": "Could not initialize built-in examples.", + "customLibrary": "Examples from Custom Libraries", + "for": "Examples for {0}", + "forAny": "Examples for any board", + "menu": "Examples" + }, + "firmware": { + "checkUpdates": "Check Updates", + "failedInstall": "Installation failed. Please try again.", + "install": "Install", + "installingFirmware": "Installing firmware.", + "overwriteSketch": "Installation will overwrite the Sketch on the board.", + "selectBoard": "Velg kort", + "selectVersion": "Select firmware version", + "successfullyInstalled": "Firmware successfully installed.", + "updater": "Firmware Updater" + }, + "help": { + "environment": "Environment", + "faq": "Frequently Asked Questions", + "findInReference": "Find in Reference", + "gettingStarted": "Getting Started", + "keyword": "Type a keyword", + "privacyPolicy": "Privacy Policy", + "reference": "Reference", + "search": "Search on Arduino.cc", + "troubleshooting": "Troubleshooting", + "visit": "Visit Arduino.cc" + }, + "ide-updater": { + "checkForUpdates": "Check for Arduino IDE Updates", + "closeAndInstallButton": "Close and Install", + "closeToInstallNotice": "Close the software and install the update on your machine.", + "downloadButton": "Download", + "downloadingNotice": "Downloading the latest version of the Arduino IDE.", + "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", + "goToDownloadButton": "Go To Download", + "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", + "ideUpdaterDialog": "Software Update", + "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", + "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", + "notNowButton": "Not now", + "skipVersionButton": "Skip Version", + "updateAvailable": "Update Available", + "versionDownloaded": "Arduino IDE {0} has been downloaded." + }, + "installable": { + "libraryInstallFailed": "Failed to install library: '{0}{1}'.", + "platformInstallFailed": "Failed to install platform: '{0}{1}'." + }, + "library": { + "addZip": "Add .ZIP Library...", + "arduinoLibraries": "Arduino libraries", + "contributedLibraries": "Contributed libraries", + "include": "Include Library", + "installAll": "Install All", + "installLibraryDependencies": "Install library dependencies", + "installMissingDependencies": "Would you like to install all the missing dependencies?", + "installOneMissingDependency": "Would you like to install the missing dependency?", + "installWithoutDependencies": "Install without dependencies", + "installedSuccessfully": "Successfully installed library {0}:{1}", + "libraryAlreadyExists": "A library already exists. Do you want to overwrite it?", + "manageLibraries": "Manage Libraries...", + "namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?", + "needsMultipleDependencies": "The library {0}:{1} needs some other dependencies currently not installed:", + "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", + "overwriteExistingLibrary": "Do you want to overwrite the existing library?", + "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", + "title": "Library Manager", + "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", + "zipLibrary": "Library" + }, + "librarySearchProperty": { + "topic": "Topic" + }, + "libraryTopic": { + "communication": "Communication", + "dataProcessing": "Data Processing", + "dataStorage": "Data Storage", + "deviceControl": "Device Control", + "display": "Display", + "other": "Other", + "sensors": "Sensors", + "signalInputOutput": "Signal Input/Output", + "timing": "Timing", + "uncategorized": "Uncategorized" + }, + "libraryType": { + "installed": "Installed" + }, + "menu": { + "advanced": "Advanced", + "sketch": "Sketch", + "tools": "Tools" + }, + "monitor": { + "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", + "baudRate": "{0} baud", + "connectionFailedError": "Could not connect to {0} {1} port.", + "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", + "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", + "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", + "notConnectedError": "Not connected to {0} {1} port.", + "unableToCloseWebSocket": "Unable to close websocket", + "unableToConnectToWebSocket": "Unable to connect to websocket" + }, + "newCloudSketch": { + "newSketchTitle": "Name of the new Cloud Sketch" + }, + "portProtocol": { + "network": "Network", + "serial": "Serial" + }, + "preferences": { + "additionalManagerURLs": "Additional Boards Manager URLs", + "auth.audience": "The OAuth2 audience.", + "auth.clientID": "The OAuth2 client ID.", + "auth.domain": "The OAuth2 domain.", + "auth.registerUri": "The URI used to register a new user.", + "automatic": "Automatic", + "board.certificates": "List of certificates that can be uploaded to boards", + "browse": "Browse", + "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "choose": "Choose", + "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", + "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", + "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", + "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", + "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", + "compile": "compile", + "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", + "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", + "compile.verbose": "True for verbose compile output. False by default", + "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", + "compilerWarnings": "Compiler warnings", + "editorFontSize": "Editor font size", + "editorQuickSuggestions": "Editor Quick Suggestions", + "enterAdditionalURLs": "Enter additional URLs, one for each row", + "files.inside.sketches": "Show files inside Sketches", + "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", + "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", + "interfaceScale": "Interface scale", + "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", + "invalid.sketchbook.location": "Invalid sketchbook location: {0}", + "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", + "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", + "manualProxy": "Manual proxy configuration", + "monitor": { + "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + }, + "network": "Network", + "newSketchbookLocation": "Select new sketchbook location", + "noCliConfig": "Could not load the CLI configuration", + "noProxy": "No proxy", + "proxySettings": { + "hostname": "Host name", + "password": "Password", + "port": "Port number", + "username": "Username" + }, + "showVerbose": "Show verbose output during", + "sketch": { + "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + }, + "sketchbook.location": "Sketchbook location", + "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", + "survey.notification": "True if users should be notified if a survey is available. True by default.", + "unofficialBoardSupport": "Click for a list of unofficial board support URLs", + "upload": "upload", + "upload.verbose": "True for verbose upload output. False by default.", + "verifyAfterUpload": "Verify code after upload", + "window.autoScale": "True if the user interface automatically scales with the font size.", + "window.zoomLevel": { + "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." + } + }, + "renameCloudSketch": { + "renameSketchTitle": "New name of the Cloud Sketch" + }, + "replaceMsg": "Replace the existing version of {0}?", + "selectZip": "Select a zip file containing the library you'd like to add", + "serial": { + "autoscroll": "Autoscroll", + "carriageReturn": "Carriage Return", + "connecting": "Connecting to '{0}' on '{1}'...", + "message": "Message (Enter to send message to '{0}' on '{1}')", + "newLine": "New Line", + "newLineCarriageReturn": "Both NL & CR", + "noLineEndings": "No Line Ending", + "notConnected": "Not connected. Select a board and a port to connect automatically.", + "openSerialPlotter": "Serial Plotter", + "timestamp": "Timestamp", + "toggleTimestamp": "Toggle Timestamp" + }, + "sketch": { + "archiveSketch": "Archive Sketch", + "cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.", + "compile": "Compiling sketch...", + "configureAndUpload": "Configure and Upload", + "createdArchive": "Created archive '{0}'.", + "doneCompiling": "Done compiling.", + "doneUploading": "Done uploading.", + "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", + "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "exportBinary": "Export Compiled Binary", + "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", + "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", + "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", + "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", + "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", + "moving": "Moving", + "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", + "new": "New Sketch", + "noTrailingPeriod": "A filename cannot end with a dot", + "openFolder": "Open Folder", + "openRecent": "Open Recent", + "openSketchInNewWindow": "Open Sketch in New Window", + "reservedFilename": "'{0}' is a reserved filename.", + "saveFolderAs": "Save sketch folder as...", + "saveSketch": "Save your sketch to open it again later.", + "saveSketchAs": "Save sketch folder as...", + "showFolder": "Show Sketch Folder", + "sketch": "Sketch", + "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", + "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchbook": "Sketchbook", + "titleLocalSketchbook": "Local Sketchbook", + "titleSketchbook": "Sketchbook", + "upload": "Upload", + "uploadUsingProgrammer": "Upload Using Programmer", + "uploading": "Uploading...", + "userFieldsNotFoundError": "Can't find user fields for connected board", + "verify": "Verify", + "verifyOrCompile": "Verify/Compile" + }, + "sketchbook": { + "newCloudSketch": "New Cloud Sketch", + "newSketch": "New Sketch" + }, + "survey": { + "answerSurvey": "Answer survey", + "dismissSurvey": "Don't show again", + "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." + }, + "theme": { + "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", + "dark": "Dark", + "deprecated": "{0} (deprecated)", + "hc": "Dark High Contrast", + "hcLight": "Light High Contrast", + "light": "Light", + "user": "{0} (user)" + }, + "title": { + "cloud": "Cloud" + }, + "updateIndexes": { + "updateIndexes": "Update Indexes", + "updateLibraryIndex": "Update Library Index", + "updatePackageIndex": "Update Package Index" + }, + "upload": { + "error": "{0} error: {1}" + }, + "userFields": { + "cancel": "Cancel", + "enterField": "Enter {0}", + "upload": "Upload" + }, + "validateSketch": { + "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", + "abortFixTitle": "Invalid sketch", + "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", + "renameSketchFileTitle": "Invalid sketch filename", + "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", + "renameSketchFolderTitle": "Invalid sketch name" + }, + "workspace": { + "alreadyExists": "'{0}' already exists." + } + }, + "theia": { + "core": { + "cannotConnectBackend": "Cannot connect to the backend.", + "cannotConnectDaemon": "Cannot connect to the CLI daemon.", + "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", + "daemonOffline": "CLI Daemon Offline", + "offline": "Offline", + "offlineText": "Offline", + "quitTitle": "Are you sure you want to quit?" + }, + "editor": { + "unsavedTitle": "Unsaved – {0}" + }, + "messages": { + "collapse": "Collapse", + "expand": "Expand" + }, + "workspace": { + "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", + "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "fileNewName": "Name for new file", + "invalidExtension": ".{0} is not a valid extension", + "newFileName": "New name for file" + } + } +} diff --git a/i18n/pl.json b/i18n/pl.json index c65a146ce..1b19d20e5 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -7,7 +7,7 @@ "account": { "goToCloudEditor": "Go to Cloud Editor", "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", + "goToProfile": "Przejdź do profilu", "menuTitle": "Arduino Cloud" }, "board": { @@ -18,7 +18,7 @@ "configDialog1": "Wybierz płytkę oraz port, aby wgrać szkic.", "configDialog2": "Jeżeli wybierzesz płytkę, ale nie wybierzesz portu to nie będziesz mógł wgrywać szkicy, ale nadal możesz je kompilować.", "couldNotFindPreviouslySelected": "Nie można znaleźć poprzednio wybranej płytki '{0}' na zainstalowanej platformie '{1}'. Wybierz ręcznie ponownie płytkęę, której chcesz użyć. Czy chcesz ją teraz ponownie wybrać?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "Edytuj płytkę i port...", "getBoardInfo": "Pobierz informacje o płytce", "inSketchbook": "(w Szkicowniku)", "installNow": "Jądro \"{0} {1}\" musi zostać zainstalowane dla wybranej płytki \"{2}\". Czy chcesz zainstalować je teraz?", @@ -41,8 +41,8 @@ "succesfullyInstalledPlatform": "Pomyślnie zainstalowano platformę {0}:{1}", "succesfullyUninstalledPlatform": "Pomyślnie odinstalowano platformę {0}:{1}", "typeOfPorts": "{0} Porty", - "unconfirmedBoard": "Unconfirmed board", - "unknownBoard": "Unknown board" + "unconfirmedBoard": "Niepotwierdzona płytka", + "unknownBoard": "Nieznana płytka" }, "boardsManager": "Menedżer Płytek", "boardsType": { @@ -115,7 +115,7 @@ "remote": "Zdalny", "share": "Udostępnij...", "shareSketch": "Udostępnij Szkic", - "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "showHideSketchbook": "Pokaż/ukryj szkicownik w chmurze", "signIn": "ZALOGUJ SIĘ", "signInToCloud": "Zaloguj się do Arduino Cloud", "signOut": "Wyloguj się", @@ -131,15 +131,15 @@ "pulling": "Synchronizing sketchbook, pulling '{0}'...", "pushing": "Synchronizing sketchbook, pushing '{0}'...", "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", - "synchronizingSketchbook": "Synchronizing sketchbook..." + "synchronizingSketchbook": "Synchronizacja szkicownika ..." }, "common": { - "all": "Wszytko", + "all": "Wszystko", "contributed": "Przyczynił się", "installManually": "Zainstaluj ręcznie", "later": "Później", "noBoardSelected": "Nie wybrano płytki", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Nie otworzono żadnego szkicu", "notConnected": "[nie podłączone]", "offlineIndicator": "Wygląda na to, że jesteś w trybie offline. Bez połączenia z Internetem Arduino CLI może nie być w stanie pobrać wymaganych zasobów i może spowodować awarię. Połącz się z Internetem i uruchom ponownie aplikację.", "oldFormat": "'{0}' nadal używa starego formatu `.pde`. Czy chcesz się przełączyć na nowe rozszerzenie `.ino`?", @@ -147,12 +147,13 @@ "processing": "Przetwarzanie", "recommended": "Zalecane", "retired": "Odosobniony", - "selectManually": "Select Manually", + "selectManually": "Wybór ręczny", "selectedOn": "na {0}", "serialMonitor": "Monitor portu szeregowego", "type": "Typ", "unknown": "Nieznany", - "updateable": "Możliwość aktualizacji" + "updateable": "Możliwość aktualizacji", + "userAbort": "Anulowanie przez użytkownika" }, "compile": { "error": "Błąd kompilacji: {0}" @@ -160,19 +161,19 @@ "component": { "boardsIncluded": "Płytka dołączona w pakiecie:", "by": "przez", - "clickToOpen": "Click to open in browser: {0}", + "clickToOpen": "Kliknij, aby otworzyć w przeglądarce: {0}", "filterSearch": "Filtruj przeszukiwanie....", "install": "Zainstaluj", - "installLatest": "Install Latest", - "installVersion": "Install {0}", - "installed": "{0} installed", + "installLatest": "Zainstaluj najnowszą", + "installVersion": "Zainstaluj{0}", + "installed": "{0}Zainstalowano", "moreInfo": "Więcej informacji", - "otherVersions": "Other Versions", + "otherVersions": "Pozostałe wersje", "remove": "Usuń", - "title": "{0} by {1}", + "title": "{0}do{1}", "uninstall": "Odinstaluj", "uninstallMsg": "Czy chcesz odinstalować {0}?", - "update": "Update" + "update": "Aktualizacja" }, "configuration": { "cli": { @@ -213,13 +214,12 @@ "debuggingNotSupported": "Debugowanie nie jest wspierane przez '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platforma nie jest zainstalowana dla '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optymalizuj pod kątem debugowania", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, "developer": { "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", + "clearBoardsConfig": "Wyczyść wybraną płytę i port", "dumpBoardList": "Dump the Board List" }, "dialog": { @@ -254,7 +254,7 @@ "selectBoard": "Wybierz płytkę", "selectVersion": "Wybierz wersję firmware'u", "successfullyInstalled": "Firmware zainstalowany prawidłowo.", - "updater": "Firmware Updater" + "updater": "Aktualizacja firmware" }, "help": { "environment": "Środowisko", @@ -287,7 +287,7 @@ }, "installable": { "libraryInstallFailed": "Failed to install library: '{0}{1}'.", - "platformInstallFailed": "Failed to install platform: '{0}{1}'." + "platformInstallFailed": "Nie udało się zainstalować platformy:'{0}{1}'." }, "library": { "addZip": "Dodaj bibliotekę .ZIP...", @@ -295,10 +295,10 @@ "contributedLibraries": "Przesłane biblioteki", "include": "Dołącz bibliotekę", "installAll": "Zainstaluj wszystko", - "installLibraryDependencies": "Install library dependencies", + "installLibraryDependencies": "Zainstaluj zależności bibliotek", "installMissingDependencies": "Czy chcesz zainstalować wszystkie brakujące zależności?", "installOneMissingDependency": "Czy chcesz zainstalować brakującą zależność?", - "installWithoutDependencies": "Install without dependencies", + "installWithoutDependencies": "Zainstaluj bez zależności", "installedSuccessfully": "Pomyślnie zainstalowano bibliotekę {0}:{1}", "libraryAlreadyExists": "Biblioteka już istnieje. Czy chcesz ją nadpisać?", "manageLibraries": "Zarządzaj bibliotekami...", @@ -346,7 +346,7 @@ "unableToConnectToWebSocket": "Nie można połączyć się z gniazdem sieciowym" }, "newCloudSketch": { - "newSketchTitle": "Name of the new Cloud Sketch" + "newSketchTitle": "Nazwa nowego szkicu w chmurze" }, "portProtocol": { "network": "Sieć", @@ -368,6 +368,7 @@ "cloud.pull.warn": "Prawdziwy, jeśli użytkownicy powinni zostać ostrzeżeni przed wyciągnięciem szkicu z chmury. Wartość domyślna to prawdziwy.", "cloud.push.warn": "Prawdziwy, jeśli użytkownicy powinni zostać ostrzeżeni przed wysłaniem szkicu do chmury. Wartość domyślna to prawdziwy.", "cloud.pushpublic.warn": "Prawdziwy, jeśli użytkownicy powinni zostać ostrzeżeni przed przesłaniem szkicu publicznego do chmury. Wartość domyślna to prawdziwy.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "Punkt końcowy używany do wypychania i wyciągania szkiców z zaplecza. Domyślnie wskazuje na Arduino Cloud API.", "compile": "kompilacja", "compile.experimental": "Prawdziwy, jeśli IDE powinno obsługiwać wiele błędów kompilatora. Nieprawdziwy domyślnie", @@ -385,7 +386,7 @@ "invalid.editorFontSize": "Nieprawidłowy rozmiar czcionki edytora. Musi to być dodatnia liczba całkowita.", "invalid.sketchbook.location": "Błędna lokalizacja szkicownika: {0}", "invalid.theme": "Nieprawidłowy schemat.", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.asyncWorkers": "Liczba procesów roboczych asynchronicznych używanych przez serwer językowy Arduino (clangd). Indeks tła również wykorzystuje tę liczbę pracowników. Minimalna wartość to 0, a maksymalna to 8. Gdy wynosi 0, serwer językowy wykorzystuje wszystkie dostępne rdzenie. Wartość domyślna to 0.", "language.log": "Prawda, jeśli Arduino Language Server ma generować pliki z logami do folderu ze sketchem. W przeciwnym wypadku fałsz. Fałsz jest wartością domyślną.", "language.realTimeDiagnostics": "Jeśli prawdziwy, serwer języka zapewnia diagnostykę w czasie rzeczywistym podczas pisania w edytorze. Domyślnie jest nieprawdziwy.", "manualProxy": "Konfiguracja ręczna proxy", @@ -394,7 +395,7 @@ }, "network": "Sieć", "newSketchbookLocation": "Wybierz nową lokalizację szkicownika", - "noCliConfig": "Could not load the CLI configuration", + "noCliConfig": "Nie można załadować konfiguracji CLI", "noProxy": "Bez proxy", "proxySettings": { "hostname": "Nazwa Hosta", @@ -404,7 +405,7 @@ }, "showVerbose": "Pokazuj informacje zwrotne podczas:", "sketch": { - "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + "inoBlueprint": "Bezwzględna ścieżka systemu plików do domyślnego pliku planu `.ino`. Jeśli określono, zawartość pliku planu będzie używana dla każdego nowego szkicu utworzonego przez IDE. Jeśli nie określono inaczej, szkice zostaną wygenerowane z domyślną zawartością Arduino. Niedostępne pliki planów są ignorowane. **Wymagane jest ponowne uruchomienie IDE**, aby to ustawienie zaczęło obowiązywać." }, "sketchbook.location": "Lokalizacja szkicownika", "sketchbook.showAllFiles": "Prawda, aby wyświetlać wszystkie pliki ze szkicu. Fałsz jest wartością domyślną.", diff --git a/i18n/pt.json b/i18n/pt.json index d835f28ee..fdc604356 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -18,7 +18,7 @@ "configDialog1": "Selecione uma placa e uma porta se quiser fazer o upload de um sketch.", "configDialog2": "Se você selecionar apenas uma Placa, você será capaz de compilar, mas não de enviar o seu esboço.", "couldNotFindPreviouslySelected": "Não foi possível encontrar a placa selecionada anteriormente '{0}' na plataforma instalada '{1}'. Por favor, selecione manualmente a placa que deseja usar. Você deseja selecioná-la novamente agora?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "Editar Placa e Porta...", "getBoardInfo": "Obter Informações da Placa", "inSketchbook": "(no Sketchbook)", "installNow": "O núcleo \"{0} {1}\" deve ser instalado para a placa \"{2}\" atualmente selecionada. Quer instalar agora?", @@ -32,7 +32,7 @@ "ports": "portas", "programmer": "Programador/Gravador", "reselectLater": "Selecionar novamente mais tarde", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "revertBoardsConfig": "Uso '{0}' descoberto em '{1}'", "searchBoard": "Procurar placa", "selectBoard": "Selecionar Placa", "selectPortForInfo": "Selecione uma porta para obter informações sobre a placa.", @@ -41,7 +41,7 @@ "succesfullyInstalledPlatform": "Plataforma instalada com sucesso {0}: {1}", "succesfullyUninstalledPlatform": "Plataforma desinstalada com sucesso {0}: {1}", "typeOfPorts": "{0} portas", - "unconfirmedBoard": "Unconfirmed board", + "unconfirmedBoard": "Placa não confirmada", "unknownBoard": "Placa desconhecida" }, "boardsManager": "Gerenciador de Placas", @@ -139,7 +139,7 @@ "installManually": "Instalar Manualmente", "later": "Depois", "noBoardSelected": "Nenhuma placa selecionada.", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Nenhum sketch aberto", "notConnected": "[não está conectado]", "offlineIndicator": "Parece que você está offline. Sem conexão com a Internet, o Arduino CLI não será capaz de baixar os recursos exigidos e poderá provovar mau funcionamento. Por favor, conecte-se à Internet e reinicie o aplicativo.", "oldFormat": "O '{0}' ainda utiliza o formato antigo `.pde`. Deseja mudar para a nova extensão `.ino`?", @@ -147,12 +147,13 @@ "processing": "Em processamento", "recommended": "Recomendado", "retired": "Afastado", - "selectManually": "Select Manually", + "selectManually": "Selecionar Manualmente", "selectedOn": "em {0}", "serialMonitor": "Monitor Serial", "type": "Tipo", "unknown": "Desconhecido", - "updateable": "Atualizável" + "updateable": "Atualizável", + "userAbort": "Abortado pelo usuário" }, "compile": { "error": "Erro de compilação: {0}" @@ -211,16 +212,15 @@ "debug": { "debugWithMessage": "Depuração - {0}", "debuggingNotSupported": "A depuração não é suportada por '{0}'", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "Obtendo informações de depuração...", "noPlatformInstalledFor": "A plataforma não está instalada para '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Otimizar para Depuração", "sketchIsNotCompiled": "O Esboço '{0}' deve ser verificado antes de iniciar uma sessão de depuramento. Por favor, verifique o esboço e comece a depurar novamente. Você quer verificar o esboço agora?" }, "developer": { - "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", - "dumpBoardList": "Dump the Board List" + "clearBoardList": "Limpar Histórico de Lista de Placas", + "clearBoardsConfig": "Limpar Seleção de Placa e Porta", + "dumpBoardList": "Despejo da Lista de Placas" }, "dialog": { "dontAskAgain": "Não perguntar novamente" @@ -254,7 +254,7 @@ "selectBoard": "Selecionar Placa", "selectVersion": "Selecione a versão do firmware", "successfullyInstalled": "Firmware instalado com sucesso. ", - "updater": "Firmware Updater" + "updater": "Atualizador de Firmware" }, "help": { "environment": "Ambiente", @@ -368,6 +368,7 @@ "cloud.pull.warn": "Verdadeiro se os usuários devem ser avisados antes de baixar um esboço da nuvem. O padrão é verdadeiro.", "cloud.push.warn": "Verdadeiro se os usuários devem ser avisados antes de enviar um esboço para a nuvem. O padrão é verdadeiro.", "cloud.pushpublic.warn": "Verdadeiro se os usuários devem ser avisados antes de enviar um esboço público para a nuvem. O padrão é verdadeiro.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "O endpoint usado para enviar e baixar os esboços de um backend. Por padrão, ele aponta para a API da Nuvem Arduino.", "compile": "compilar", "compile.experimental": "Verdadeiro se o IDE deve trabalhar com múltiplos erros de compilação. Falso por padrão", @@ -385,7 +386,7 @@ "invalid.editorFontSize": "Tamanho da fonte do editor inválido. Deve ser um número inteiro positivo.", "invalid.sketchbook.location": "Localização inválida para o caderno de esboços: {0}", "invalid.theme": "Tema inválido", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.asyncWorkers": "Número de trabalhadores assíncronos usados ​​pelo Arduino Language Server (clangd). O índice de segundo plano também usa esse número de trabalhadores. O valor mínimo é 0 e o máximo é 8. Quando for 0, o servidor de idioma usa todos os núcleos disponíveis. O valor padrão é 0.", "language.log": "Verdadeiro se o Arduino Language Server deverá gerar arquivos de log na pasta do esboço. Caso contrário, falso. O padrão é falso.", "language.realTimeDiagnostics": "Se marcado, diagnósticos em tempo-real serão exibidos enquanto digita no editor. Fica desmarcado por padrão.", "manualProxy": "Configurações manuais de proxy", @@ -465,12 +466,12 @@ "saveSketchAs": "Salvar o diretório de esboços como...", "showFolder": "Mostrar o diretório de Esboços...", "sketch": "Esboço", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "O sketch já possui um arquivo nomeado '{0}'", + "sketchAlreadyContainsThisFileMessage": "Falha ao salvar sketch \"{0}\" como \"{1}\". {2}", "sketchbook": "Caderno de Esboços", "titleLocalSketchbook": "Caderno de Esboços local", "titleSketchbook": "Caderno de Esboços", - "upload": "Carregar", + "upload": "Enviar usando Programador", "uploadUsingProgrammer": "Enviar Usando Programador", "uploading": "Enviando...", "userFieldsNotFoundError": "Não é possível encontrar dados de usuário para placa conectada", diff --git a/i18n/ro.json b/i18n/ro.json index 6c98e2e4b..a5a37a99a 100644 --- a/i18n/ro.json +++ b/i18n/ro.json @@ -152,7 +152,8 @@ "serialMonitor": "Monitor Serial", "type": "Type", "unknown": "Necunoscut", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Compilation error: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Depanarea nu este suportată de '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platforma nu este instalată pentru '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimizare pentru depanare", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "compila", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/ru.json b/i18n/ru.json index 1afe35611..046070f98 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -1,52 +1,52 @@ { "arduino": { "about": { - "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "detail": "Версия: {0}\nДата: {1}{2}\nВерсия CLI: {3}{4} [{5}]\n\n{6}", "label": "О программе {0}" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", - "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", + "goToCloudEditor": "Перейдите в редактор облаков", + "goToIoTCloud": "Перейти к облаку IoT", + "goToProfile": "Перейти в профиль", "menuTitle": "Arduino Cloud" }, "board": { "board": "Плата{0}", - "boardConfigDialogTitle": "Select Other Board and Port", + "boardConfigDialogTitle": "Выберите другую плату и порт", "boardInfo": "Информация о плате", - "boards": "boards", + "boards": "платы", "configDialog1": "Выберите плату и порт, если Вы хотите загрузить скетч в плату.", "configDialog2": "Если вы выбираете только плату, вы сможете компилировать, но не загружать свой скетч.", "couldNotFindPreviouslySelected": "Не удалось найти ранее выбранную плату '{0}' в установленной платформе '{1}'.Пожалуйста, выберите плату которую хотите использовать вручную повторно. Вы хотите повторно выбрать её сейчас?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "Редактирование платы и порта...", "getBoardInfo": "Получить информацию о подключенной плате", "inSketchbook": " (в альбоме).", "installNow": "Необходимо установить ядро «{0} {1}» для выбранной в данный момент «{2}» платы. Вы хотите установить его сейчас?", - "noBoardsFound": "No boards found for \"{0}\"", - "noNativeSerialPort": "Native serial port, can't obtain info.", - "noPortsDiscovered": "No ports discovered", - "nonSerialPort": "Non-serial port, can't obtain info.", + "noBoardsFound": "Для \"{0}\" не найдено ни одной платы.", + "noNativeSerialPort": "Родной последовательный порт, не удается получить информацию.", + "noPortsDiscovered": "Порты не обнаружены", + "nonSerialPort": "Порт не последовательный, не удается получить информацию.", "openBoardsConfig": "Выберите другую плату и порт...", "pleasePickBoard": "Пожалуйста, выберите плату, подключенную к выбранному вами порту.", "port": "Порт{0}", - "ports": "ports", + "ports": "порты", "programmer": "Программатор", "reselectLater": "Перевыбрать позже", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", - "searchBoard": "Search board", + "revertBoardsConfig": "Используйте '{0}', обнаруженный на '{1}'", + "searchBoard": "Поиск платы", "selectBoard": "Выбор платы", "selectPortForInfo": "Пожалуйста, выберите порт в меню инструментов для получения информации с платы.", "showAllAvailablePorts": "Показать все доступные порты при включении", - "showAllPorts": "Show all ports", + "showAllPorts": "Показать все порты", "succesfullyInstalledPlatform": "Платформа установлена успешно {0}:{1}", "succesfullyUninstalledPlatform": "Платформа успешно удалена {0}:{1}", - "typeOfPorts": "{0} ports", - "unconfirmedBoard": "Unconfirmed board", - "unknownBoard": "Unknown board" + "typeOfPorts": "{0}порты", + "unconfirmedBoard": "Неподтвержденная плата", + "unknownBoard": "Неизвестная плата" }, "boardsManager": "Менеджер плат", "boardsType": { - "arduinoCertified": "Arduino Certified" + "arduinoCertified": "Сертифицированный Arduino" }, "bootloader": { "burnBootloader": "Записать Загрузчик", @@ -74,13 +74,13 @@ "uploadingCertificates": "Загрузка сертификатов." }, "checkForUpdates": { - "checkForUpdates": "Check for Arduino Updates", - "installAll": "Install All", - "noUpdates": "There are no recent updates available.", - "promptUpdateBoards": "Updates are available for some of your boards.", - "promptUpdateLibraries": "Updates are available for some of your libraries.", - "updatingBoards": "Updating boards...", - "updatingLibraries": "Updating libraries..." + "checkForUpdates": "Проверьте наличие обновлений Arduino", + "installAll": "Установить все", + "noUpdates": "Последние обновления отсутствуют.", + "promptUpdateBoards": "Для некоторых плат доступны обновления.", + "promptUpdateLibraries": "Для некоторых библиотек доступны обновления.", + "updatingBoards": "Обновление плат...", + "updatingLibraries": "Обновление библиотек..." }, "cli-error-parser": { "keyboardError": "'Keyboard' не найдено. В вашем скетче есть строка '#include '?", @@ -91,11 +91,11 @@ "cloudSketchbook": "Альбом в облаке", "connected": "Подключено", "continue": "Продолжить", - "donePulling": "Done pulling '{0}'.", - "donePushing": "Done pushing '{0}'.", + "donePulling": "Выполнено вытягивание '{0}'.", + "donePushing": "Выполнено нажатие '{0}'.", "embed": "Встроить:", "emptySketchbook": "Ваш альбом пуст", - "goToCloud": "Go to Cloud", + "goToCloud": "Перейти в облако", "learnMore": "Узнать больше", "link": "Ссылка:", "notYetPulled": "Не удается отправить в облако. Он еще не вытащен.", @@ -115,7 +115,7 @@ "remote": "Удаленный", "share": "Поделиться...", "shareSketch": "Поделиться скетчем", - "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "showHideSketchbook": "Показать/скрыть облачный скетчбук", "signIn": "Войти", "signInToCloud": "Войдите в Arduino Cloud", "signOut": "Выйти", @@ -124,85 +124,86 @@ "visitArduinoCloud": "Посетите Arduino Cloud, чтобы создать скетчи в облаке." }, "cloudSketch": { - "alreadyExists": "Cloud sketch '{0}' already exists.", - "creating": "Creating cloud sketch '{0}'...", - "new": "New Cloud Sketch", - "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", - "pulling": "Synchronizing sketchbook, pulling '{0}'...", - "pushing": "Synchronizing sketchbook, pushing '{0}'...", - "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", - "synchronizingSketchbook": "Synchronizing sketchbook..." + "alreadyExists": "Облачный скетч '{0}' уже существует.", + "creating": "Создание облачного скетча '{0}'...", + "new": "Новый облачный скетч", + "notFound": "Не удалось извлечь облачный скетч '{0}'. Он не существует.", + "pulling": "Синхронизация скетчбука, вытягивание '{0}'...", + "pushing": "Синхронизация скетчбука, нажатие кнопки '{0}'...", + "renaming": "Переименование облачного скетча из '{0}' в '{1}'...", + "synchronizingSketchbook": "Синхронизация скетчбука..." }, "common": { - "all": "All", - "contributed": "Contributed", + "all": "Все", + "contributed": "Вклад", "installManually": "Установить вручную", "later": "Позже", "noBoardSelected": "Плата не выбрана", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Скетч не открыт", "notConnected": "[не подключено].", "offlineIndicator": "Похоже, у Вас нет подключения к Интернету. Без подключения к Интернету Arduino CLI не сможет загрузить необходимые ресурсы и упадет. Подключитесь к Интернету и перезапустите приложение.", "oldFormat": "'{0}' использует старый формат `.pde`. Хотите сконвертировать в новый формат `.ino`?", - "partner": "Partner", + "partner": "Партнер", "processing": "Обработка", - "recommended": "Recommended", - "retired": "Retired", - "selectManually": "Select Manually", + "recommended": "Рекомендовано", + "retired": "В отставке", + "selectManually": "Выберите вручную", "selectedOn": "вкл. {0}", "serialMonitor": "Монитор порта", - "type": "Type", + "type": "Тип", "unknown": "Неизвестно", - "updateable": "Updatable" + "updateable": "Обновляемый", + "userAbort": "Прерывание пользователем" }, "compile": { "error": "Ошибка компиляции: {0}" }, "component": { - "boardsIncluded": "Boards included in this package:", + "boardsIncluded": "Платы, входящие в этот комплект:", "by": "от", - "clickToOpen": "Click to open in browser: {0}", + "clickToOpen": "Нажмите, чтобы открыть в браузере: {0}", "filterSearch": "Отфильтровать результаты поиска...", "install": "Установка", - "installLatest": "Install Latest", - "installVersion": "Install {0}", - "installed": "{0} installed", + "installLatest": "Установите последнюю версию", + "installVersion": "Установить {0}", + "installed": "{0} установлен", "moreInfo": "Дополнительная информация", - "otherVersions": "Other Versions", + "otherVersions": "Другие версии", "remove": "Удалить", - "title": "{0} by {1}", + "title": "{0} на {1}", "uninstall": "Удалить", "uninstallMsg": "Вы хотите удалить {0}?", - "update": "Update" + "update": "Обновление" }, "configuration": { "cli": { - "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + "inaccessibleDirectory": "Не удалось получить доступ к местоположению скетчбука по адресу '{0}': {1}" } }, "connectionStatus": { - "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + "connectionLost": "Соединение потеряно. Действия и обновления облачных скетчей будут недоступны." }, "contributions": { "addFile": "Добавить файл...", "fileAdded": "Один файл добавлен в скетч.", "plotter": { - "couldNotOpen": "Couldn't open serial plotter" + "couldNotOpen": "Не удается открыть последовательный плоттер" }, "replaceTitle": "Заменить" }, "core": { "compilerWarnings": { - "all": "All", - "default": "Default", - "more": "More", - "none": "None" + "all": "Все", + "default": "По умолчанию", + "more": "Подробнее", + "none": "Нет" } }, "coreContribution": { "copyError": "Скопировать сообщения ошибок", - "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + "noBoardSelected": "Не выбрана плата. Пожалуйста, выберите вашу плату Arduino в меню Инструменты > Плата." }, - "createCloudCopy": "Push Sketch to Cloud", + "createCloudCopy": "Передача скетчей в облако", "daemon": { "restart": "Перезапустить Daemon", "start": "Запустить Daemon", @@ -211,16 +212,15 @@ "debug": { "debugWithMessage": "Отладка - {0}", "debuggingNotSupported": "Отладка не поддерживается '{0}'", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "Получение отладочной информации...", "noPlatformInstalledFor": "Платформа не установлена для '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Оптимизировать для отладки", - "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + "sketchIsNotCompiled": "Скетч '{0}' должен быть проверен перед началом сеанса отладки. Пожалуйста, проверьте скетч и начните отладку снова. Хотите ли вы проверить скетч сейчас?" }, "developer": { - "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", - "dumpBoardList": "Dump the Board List" + "clearBoardList": "Очистите историю списка форумов", + "clearBoardsConfig": "Очистить выбор платы и порта", + "dumpBoardList": "Выбросить список плат управления" }, "dialog": { "dontAskAgain": "Больше не спрашивать" @@ -235,7 +235,7 @@ "increaseIndent": "Увеличить отступ", "nextError": "Следущая ошибка", "previousError": "Предыдущая ошибка", - "revealError": "Reveal Error" + "revealError": "Ошибка раскрытия" }, "examples": { "builtInExamples": "Встроенные Примеры", @@ -254,7 +254,7 @@ "selectBoard": "Выбор платы", "selectVersion": "Выберите версию прошивки", "successfullyInstalled": "Прошивка успешно установлена.", - "updater": "Firmware Updater" + "updater": "Программа обновления прошивки" }, "help": { "environment": "Окружение", @@ -269,7 +269,7 @@ "visit": "Перейти на сайт Arduino.cc" }, "ide-updater": { - "checkForUpdates": "Check for Arduino IDE Updates", + "checkForUpdates": "Проверка обновлений среды Arduino IDE", "closeAndInstallButton": "Закрыть и установить", "closeToInstallNotice": "Закройте программное обеспечение и установите обновление на вашем компьютере.", "downloadButton": "Скачать", @@ -286,19 +286,19 @@ "versionDownloaded": "Arduino IDE {0} был загружен." }, "installable": { - "libraryInstallFailed": "Failed to install library: '{0}{1}'.", - "platformInstallFailed": "Failed to install platform: '{0}{1}'." + "libraryInstallFailed": "Не удалось установить библиотеку: '{0}{1}'.", + "platformInstallFailed": "Не удалось установить платформу: '{0}{1}'." }, "library": { "addZip": "Добавить .ZIP библиотеку...", "arduinoLibraries": "Библиотеки Arduino", "contributedLibraries": "Сторонние библиотеки", "include": "Подключить библиотеку", - "installAll": "Install All", - "installLibraryDependencies": "Install library dependencies", + "installAll": "Установить все", + "installLibraryDependencies": "Установите зависимости библиотек", "installMissingDependencies": "Установить все недостающие зависимости?", "installOneMissingDependency": "Установить недостающую зависимость?", - "installWithoutDependencies": "Install without dependencies", + "installWithoutDependencies": "Установка без зависимостей", "installedSuccessfully": "Успешно установлена библиотека {0}:{1}", "libraryAlreadyExists": "Библиотека уже существует. Вы хотите ее заменить?", "manageLibraries": "Управление библиотеками...", @@ -312,22 +312,22 @@ "zipLibrary": "Библиотека" }, "librarySearchProperty": { - "topic": "Topic" + "topic": "Тема" }, "libraryTopic": { - "communication": "Communication", - "dataProcessing": "Data Processing", - "dataStorage": "Data Storage", - "deviceControl": "Device Control", - "display": "Display", - "other": "Other", - "sensors": "Sensors", - "signalInputOutput": "Signal Input/Output", - "timing": "Timing", - "uncategorized": "Uncategorized" + "communication": "Общение", + "dataProcessing": "Обработка данных", + "dataStorage": "Хранение данных", + "deviceControl": "Управление устройством", + "display": "Дисплей", + "other": "Другое", + "sensors": "Датчики", + "signalInputOutput": "Вход/выход сигнала", + "timing": "Время", + "uncategorized": "Без категории" }, "libraryType": { - "installed": "Installed" + "installed": "Установлено" }, "menu": { "advanced": "Расширенные", @@ -335,22 +335,22 @@ "tools": "Инструменты" }, "monitor": { - "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", - "baudRate": "{0} baud", - "connectionFailedError": "Could not connect to {0} {1} port.", - "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", - "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", - "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", - "notConnectedError": "Not connected to {0} {1} port.", + "alreadyConnectedError": "Не удалось подключиться к {0} {1} порту. Уже подключились.", + "baudRate": "{0} бод", + "connectionFailedError": "Не удалось подключиться к {0} {1} порту.", + "connectionFailedErrorWithDetails": "{0} Не удалось подключиться к {1} {2} порту. ", + "connectionTimeout": "Таймаут. IDE не получила сообщение \"успех\" от монитора после успешного подключения к нему", + "missingConfigurationError": "Не удалось подключиться к {0} {1} порту. Отсутствует конфигурация монитора.", + "notConnectedError": "Не подключен к {0} {1} порту.", "unableToCloseWebSocket": "Не удалось закрыть веб-сокет.", "unableToConnectToWebSocket": "Не удается подключиться к веб-сокету." }, "newCloudSketch": { - "newSketchTitle": "Name of the new Cloud Sketch" + "newSketchTitle": "Имя нового облачного скетча" }, "portProtocol": { "network": "Сеть", - "serial": "Serial" + "serial": "Серийный" }, "preferences": { "additionalManagerURLs": "Дополнительные ссылки для Менеджера плат", @@ -361,13 +361,14 @@ "automatic": "Автоматика", "board.certificates": "Список сертификатов, которые могут быть загружены в платы", "browse": "Обзор", - "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "checkForUpdate": "Получение уведомлений о доступных обновлениях для IDE, плат и библиотек. Требуется перезапуск IDE после внесения изменений. По умолчанию установлено значение true.", "choose": "Выбрать", "cli.daemonDebug": "Включить отладочное логирование вызовов gRPC в Arduino CLI. Чтобы эта настройка вступила в силу, необходим перезапуск IDE. По умолчанию оно выключено.", "cloud.enabled": "True, если функции синхронизации скетчей включены. По умолчанию - true.", "cloud.pull.warn": "True, если пользователи должны быть предупреждены перед созданием облачного скетча. По умолчанию установлено значение true.", "cloud.push.warn": "True, если пользователи должны быть предупреждены перед запуском облачного эскиза. По умолчанию установлено значение true.", - "cloud.pushpublic.warn": "True, если пользователи должны быть предупреждены перед отправкой общедоступного эскиза в облако. По умолчанию установлено значение true.", + "cloud.pushpublic.warn": "True, если пользователи должны быть предупреждены перед отправкой общедоступного скетча в облако. По умолчанию установлено значение true.", + "cloud.sharedSpaceId": "Идентификатор общего пространства Arduino Cloud для загрузки скетчбука. Если он пуст, будет выбрано ваше личное пространство.", "cloud.sketchSyncEndpoint": "Конечная точка, используемая для отправки и извлечения скетчей из серверной части. По умолчанию он указывает на Arduino Cloud API.", "compile": "компиляции", "compile.experimental": "Включите, если IDE должна обрабатывать множественные ошибки компилятора. По умолчанию выключено", @@ -385,26 +386,26 @@ "invalid.editorFontSize": "Неверный размер шрифта редактора. Это должно быть положительное целое число.", "invalid.sketchbook.location": "Неправильный путь к альбому со скетчами: {0}", "invalid.theme": "Неверная тема.", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.asyncWorkers": "Количество асинхронных рабочих, используемых Arduino языковым сервером (clangd). Фоновый индекс также использует это количество рабочих. Минимальное значение - 0, максимальное - 8. Когда значение равно 0, языковой сервер использует все доступные ядра. По умолчанию значение равно 0.", "language.log": "True - сервер Arduino Language будет создавать файлы журнала в папке скетча. В противном случае - false. По умолчанию - false.", "language.realTimeDiagnostics": "Если включено, то языковой сервер проводит диагностику набранного текста в реальном времени. По умолчанию отключено.", "manualProxy": "Ручная настройка параметров прокси-сервера", "monitor": { - "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + "dockPanel": "Область оболочки приложения, в которой будет располагаться виджет _{0}_. Это либо \"внизу\", либо \"справа\". По умолчанию принимает значение \"{1}\"." }, "network": "Сеть", "newSketchbookLocation": "Выбрать новое расположение для альбома со скетчами", - "noCliConfig": "Could not load the CLI configuration", + "noCliConfig": "Не удалось загрузить конфигурацию CLI", "noProxy": "Не использовать прокси-сервер", "proxySettings": { - "hostname": "Host name", - "password": "Password", - "port": "Port number", - "username": "Username" + "hostname": "Имя хоста", + "password": "Пароль", + "port": "Номер порта", + "username": "Имя пользователя" }, "showVerbose": "Показывать детализированный вывод при", "sketch": { - "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + "inoBlueprint": "Абсолютный путь к файловой системе к стандартному файлу чертежей `.ino`. Если указан, содержимое файла blueprint будет использоваться для каждого нового скетча, создаваемого IDE. Если не указано, то скетчи будут создаваться с содержимым по умолчанию для Arduino. Недоступные файлы чертежей будут игнорироваться. **Для того чтобы эта настройка вступила в силу, необходимо перезапустить IDE**." }, "sketchbook.location": "Путь к альбому со скетчами", "sketchbook.showAllFiles": "True - показывать все файлы внутри скетча. По умолчанию - false.", @@ -415,19 +416,19 @@ "verifyAfterUpload": "Проверять содержимое памяти платы после загрузки", "window.autoScale": "True, если пользовательский интерфейс автоматически масштабируется в зависимости от размера шрифта.", "window.zoomLevel": { - "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." + "deprecationMessage": "Утратил актуальность. Вместо этого используйте 'window.zoomLevel'." } }, "renameCloudSketch": { - "renameSketchTitle": "New name of the Cloud Sketch" + "renameSketchTitle": "Новое название облачного скетча" }, "replaceMsg": "Заменить имеющуюся версию {0}?", "selectZip": "Выберите zip-файл, содержащий библиотеку, которую вы хотите установить", "serial": { "autoscroll": "Автопрокрутка", "carriageReturn": "CR Возврат каретки", - "connecting": "Connecting to '{0}' on '{1}'...", - "message": "Message (Enter to send message to '{0}' on '{1}')", + "connecting": "Подключение к '{0}' на '{1}'...", + "message": "Сообщение (введите, чтобы отправить сообщение на '{0}' на '{1}')", "newLine": "Новая строка", "newLineCarriageReturn": "NL & CR", "noLineEndings": "Нет конца строки", @@ -440,22 +441,22 @@ "archiveSketch": "Архивировать скетч", "cantOpen": "Папка \"{0}\" уже существует. Невозможно открыть скетч.", "compile": "Компиляция скетча...", - "configureAndUpload": "Configure and Upload", + "configureAndUpload": "Настройка и загрузка", "createdArchive": "Создать архив '{0}'.", "doneCompiling": "Компиляция завершена.", "doneUploading": "Загрузка завершена.", - "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", - "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "editInvalidSketchFolderLocationQuestion": "Не хотите ли вы попробовать сохранить скетч в другом месте?", + "editInvalidSketchFolderQuestion": "Хотите попробовать сохранить скетч под другим именем?", "exportBinary": "Экспортировать скомпилированный бинарный файл", - "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", - "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", - "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", - "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", - "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", + "invalidCloudSketchName": "Имя должно начинаться с буквы, цифры или символа подчеркивания, за которыми следуют буквы, цифры, тире, точки и символы подчеркивания. Максимальная длина - 36 символов.", + "invalidSketchFolderLocationDetails": "Вы не можете сохранить скетч в папке внутри самого себя.", + "invalidSketchFolderLocationMessage": "Недопустимое расположение папки со скетчами: '{0}'", + "invalidSketchFolderNameMessage": "Недопустимое имя папки со скетчами: '{0}'", + "invalidSketchName": "Имя должно начинаться с буквы, цифры или символа подчеркивания, за которыми следуют буквы, цифры, тире, точки и символы подчеркивания. Максимальная длина - 63 символа.", "moving": "Переместить", "movingMsg": "Файл «{0}» должен быть в папке с именем скетча «{1}». \nСоздать эту папку, переместить файл и продолжить?", - "new": "New Sketch", - "noTrailingPeriod": "A filename cannot end with a dot", + "new": "Новый эскиз", + "noTrailingPeriod": "Имя файла не может заканчиваться точкой", "openFolder": "Открыть папку", "openRecent": "Открыть предыдущий", "openSketchInNewWindow": "Открыть скетч в новом окне", @@ -465,8 +466,8 @@ "saveSketchAs": "Сохранить папку скетча как...", "showFolder": "Показать папку скетча", "sketch": "Скетч", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "В скетче уже есть файл с именем '{0}'", + "sketchAlreadyContainsThisFileMessage": "Не удалось сохранить скетч \"{0}\" как \"{1}\". {2}", "sketchbook": "Альбом", "titleLocalSketchbook": "Локальный альбом", "titleSketchbook": "Альбом", @@ -478,8 +479,8 @@ "verifyOrCompile": "Проверить/Скомпилировать" }, "sketchbook": { - "newCloudSketch": "New Cloud Sketch", - "newSketch": "New Sketch" + "newCloudSketch": "Новый облачный скетч", + "newSketch": "Новый скетч" }, "survey": { "answerSurvey": "Ответить на опрос", @@ -487,36 +488,36 @@ "surveyMessage": "Пожалуйста, помоги нам стать лучше, пройдя этот супер-короткий опрос. Мы ценим наше сообщество и хотели бы узнать наших сторонников немного лучше!" }, "theme": { - "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", - "dark": "Dark", - "deprecated": "{0} (deprecated)", - "hc": "Dark High Contrast", - "hcLight": "Light High Contrast", - "light": "Light", - "user": "{0} (user)" + "currentThemeNotFound": "Не удалось найти текущую выбранную тему: {0}. Arduino IDE выбрала встроенную тему, совместимую с отсутствующей.", + "dark": "Темный", + "deprecated": "{0} (устаревшее)", + "hc": "Темная высокая контрастность", + "hcLight": "Светлый Высокая контрастность", + "light": "Свет", + "user": "{0} (пользователь) " }, "title": { - "cloud": "Cloud" + "cloud": "Облако" }, "updateIndexes": { - "updateIndexes": "Update Indexes", - "updateLibraryIndex": "Update Library Index", - "updatePackageIndex": "Update Package Index" + "updateIndexes": "Обновление индексов", + "updateLibraryIndex": "Обновить библиотечный индекс", + "updatePackageIndex": "Обновление индекса пакетов" }, "upload": { "error": "{0} ошибка: {1}" }, "userFields": { "cancel": "Отмена", - "enterField": "Enter {0}", + "enterField": "Ввод {0}", "upload": "Загрузка" }, "validateSketch": { - "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", - "abortFixTitle": "Invalid sketch", - "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", - "renameSketchFileTitle": "Invalid sketch filename", - "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", + "abortFixMessage": "Эскиз все еще недействителен. Хотите устранить оставшиеся проблемы? Если нажать кнопку '{0}', откроется новый эскиз.", + "abortFixTitle": "Неверный скетч", + "renameSketchFileMessage": "Файл скетча '{0}' не может быть использован.{1} Вы хотите переименовать файл скетча сейчас?", + "renameSketchFileTitle": "Недопустимое имя файла скетча", + "renameSketchFolderMessage": "Скетч '{0}' не может быть использован. {1} Чтобы избавиться от этого сообщения, переименуйте скетч. Хотите ли вы переименовать скетч сейчас?", "renameSketchFolderTitle": "Неверное название скетча" }, "workspace": { @@ -541,8 +542,8 @@ "expand": "Развернуть" }, "workspace": { - "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", - "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "deleteCloudSketch": "Облачный скетч '{0}' будет навсегда удален с серверов Arduino и из локальных кэшей. Это действие необратимо. Вы хотите удалить текущий скетч?", + "deleteCurrentSketch": "Скетч '{0}' будет удален навсегда. Это действие необратимо. Вы хотите удалить текущий эскиз?", "fileNewName": "Имя нового файла", "invalidExtension": "Файлы с расширением \".{0}\" не поддерживаются.", "newFileName": "Новое имя файла" diff --git a/i18n/si.json b/i18n/si.json new file mode 100644 index 000000000..1c6490617 --- /dev/null +++ b/i18n/si.json @@ -0,0 +1,552 @@ +{ + "arduino": { + "about": { + "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "label": "About {0}" + }, + "account": { + "goToCloudEditor": "Go to Cloud Editor", + "goToIoTCloud": "Go to IoT Cloud", + "goToProfile": "පැතිකඩට යන්න", + "menuTitle": "Arduino Cloud" + }, + "board": { + "board": "Board{0}", + "boardConfigDialogTitle": "Select Other Board and Port", + "boardInfo": "Board Info", + "boards": "පුවරු", + "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", + "configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.", + "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", + "editBoardsConfig": "Edit Board and Port...", + "getBoardInfo": "පුවරුවේ තොරතුරු ලබාගන්න", + "inSketchbook": " (in Sketchbook)", + "installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?", + "noBoardsFound": "No boards found for \"{0}\"", + "noNativeSerialPort": "Native serial port, can't obtain info.", + "noPortsDiscovered": "No ports discovered", + "nonSerialPort": "Non-serial port, can't obtain info.", + "openBoardsConfig": "Select other board and port…", + "pleasePickBoard": "Please pick a board connected to the port you have selected.", + "port": "Port{0}", + "ports": "ports", + "programmer": "ක්‍රමලේඛක", + "reselectLater": "පසුව තෝරන්න", + "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "searchBoard": "පුවරුව සොයන්න", + "selectBoard": "පුවරුව තෝරන්න", + "selectPortForInfo": "Please select a port to obtain board info.", + "showAllAvailablePorts": "Shows all available ports when enabled", + "showAllPorts": "Show all ports", + "succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}", + "succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}", + "typeOfPorts": "{0} ports", + "unconfirmedBoard": "Unconfirmed board", + "unknownBoard": "Unknown board" + }, + "boardsManager": "Boards Manager", + "boardsType": { + "arduinoCertified": "Arduino Certified" + }, + "bootloader": { + "burnBootloader": "Burn Bootloader", + "burningBootloader": "Burning bootloader...", + "doneBurningBootloader": "Done burning bootloader." + }, + "burnBootloader": { + "error": "Error while burning the bootloader: {0}" + }, + "certificate": { + "addNew": "Add New", + "addURL": "Add URL to fetch SSL certificate", + "boardAtPort": "{0} at {1}", + "certificatesUploaded": "Certificates uploaded.", + "enterURL": "ඒ.ස.නි. ලියන්න", + "noSupportedBoardConnected": "No supported board connected", + "openContext": "Open context", + "remove": "ඉවත් කරන්න", + "selectBoard": "Select a board...", + "selectCertificateToUpload": "1. Select certificate to upload", + "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", + "upload": "Upload", + "uploadFailed": "Upload failed. Please try again.", + "uploadRootCertificates": "Upload SSL Root Certificates", + "uploadingCertificates": "සහතික උඩුගත වෙමින්." + }, + "checkForUpdates": { + "checkForUpdates": "Check for Arduino Updates", + "installAll": "සියල්ල ස්ථාපනය", + "noUpdates": "There are no recent updates available.", + "promptUpdateBoards": "Updates are available for some of your boards.", + "promptUpdateLibraries": "Updates are available for some of your libraries.", + "updatingBoards": "Updating boards...", + "updatingLibraries": "Updating libraries..." + }, + "cli-error-parser": { + "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", + "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + }, + "cloud": { + "chooseSketchVisibility": "Choose visibility of your Sketch:", + "cloudSketchbook": "Cloud Sketchbook", + "connected": "සම්බන්ධයි", + "continue": "ඉදිරියට", + "donePulling": "Done pulling '{0}'.", + "donePushing": "Done pushing '{0}'.", + "embed": "කාවැද්දූ:", + "emptySketchbook": "Your Sketchbook is empty", + "goToCloud": "මේඝයට යන්න", + "learnMore": "තව දැනගන්න", + "link": "සබැඳිය:", + "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", + "offline": "Offline", + "openInCloudEditor": "Open in Cloud Editor", + "options": "විකල්ප...", + "privateVisibility": "Private. Only you can view the Sketch.", + "profilePicture": "පැතිකඩ රූපය", + "publicVisibility": "Public. Anyone with the link can view the Sketch.", + "pull": "Pull", + "pullFirst": "You have to pull first to be able to push to the Cloud.", + "pullSketch": "Pull Sketch", + "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", + "push": "Push", + "pushSketch": "Push Sketch", + "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", + "remote": "දුරස්ථ", + "share": "බෙදාගන්න...", + "shareSketch": "Share Sketch", + "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "signIn": "පිවිසෙන්න", + "signInToCloud": "Sign in to Arduino Cloud", + "signOut": "නික්මෙන්න", + "sync": "සමමුහූර්තය", + "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", + "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." + }, + "cloudSketch": { + "alreadyExists": "Cloud sketch '{0}' already exists.", + "creating": "Creating cloud sketch '{0}'...", + "new": "New Cloud Sketch", + "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", + "pulling": "Synchronizing sketchbook, pulling '{0}'...", + "pushing": "Synchronizing sketchbook, pushing '{0}'...", + "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", + "synchronizingSketchbook": "Synchronizing sketchbook..." + }, + "common": { + "all": "සියල්ල", + "contributed": "Contributed", + "installManually": "අතින් ස්ථාපනය", + "later": "පසුව", + "noBoardSelected": "පුවරුවක් තෝරා නැත", + "noSketchOpened": "No sketch opened", + "notConnected": "[සම්බන්ධ වී නැත]", + "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", + "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", + "partner": "Partner", + "processing": "සැකසෙමින්", + "recommended": "නිර්දේශිත", + "retired": "Retired", + "selectManually": "අතින් තෝරන්න", + "selectedOn": "on {0}", + "serialMonitor": "Serial Monitor", + "type": "වර්ගය", + "unknown": "නොදන්නා", + "updateable": "Updatable", + "userAbort": "User abort" + }, + "compile": { + "error": "Compilation error: {0}" + }, + "component": { + "boardsIncluded": "Boards included in this package:", + "by": "by", + "clickToOpen": "Click to open in browser: {0}", + "filterSearch": "Filter your search...", + "install": "ස්ථාපනය", + "installLatest": "Install Latest", + "installVersion": "Install {0}", + "installed": "{0} installed", + "moreInfo": "More info", + "otherVersions": "Other Versions", + "remove": "ඉවත් කරන්න", + "title": "{0} by {1}", + "uninstall": "අස්ථාපනය", + "uninstallMsg": "Do you want to uninstall {0}?", + "update": "Update" + }, + "configuration": { + "cli": { + "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + } + }, + "connectionStatus": { + "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + }, + "contributions": { + "addFile": "Add File", + "fileAdded": "One file added to the sketch.", + "plotter": { + "couldNotOpen": "Couldn't open serial plotter" + }, + "replaceTitle": "Replace" + }, + "core": { + "compilerWarnings": { + "all": "සියල්ල", + "default": "Default", + "more": "More", + "none": "None" + } + }, + "coreContribution": { + "copyError": "Copy error messages", + "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + }, + "createCloudCopy": "Push Sketch to Cloud", + "daemon": { + "restart": "Restart Daemon", + "start": "Start Daemon", + "stop": "Stop Daemon" + }, + "debug": { + "debugWithMessage": "Debug - {0}", + "debuggingNotSupported": "Debugging is not supported by '{0}'", + "getDebugInfo": "Getting debug info...", + "noPlatformInstalledFor": "Platform is not installed for '{0}'", + "optimizeForDebugging": "Optimize for Debugging", + "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + }, + "developer": { + "clearBoardList": "Clear the Board List History", + "clearBoardsConfig": "Clear the Board and Port Selection", + "dumpBoardList": "Dump the Board List" + }, + "dialog": { + "dontAskAgain": "Don't ask again" + }, + "editor": { + "autoFormat": "Auto Format", + "commentUncomment": "Comment/Uncomment", + "copyForForum": "Copy for Forum (Markdown)", + "decreaseFontSize": "Decrease Font Size", + "decreaseIndent": "Decrease Indent", + "increaseFontSize": "Increase Font Size", + "increaseIndent": "Increase Indent", + "nextError": "Next Error", + "previousError": "Previous Error", + "revealError": "Reveal Error" + }, + "examples": { + "builtInExamples": "Built-in examples", + "couldNotInitializeExamples": "Could not initialize built-in examples.", + "customLibrary": "Examples from Custom Libraries", + "for": "Examples for {0}", + "forAny": "Examples for any board", + "menu": "Examples" + }, + "firmware": { + "checkUpdates": "Check Updates", + "failedInstall": "Installation failed. Please try again.", + "install": "ස්ථාපනය", + "installingFirmware": "Installing firmware.", + "overwriteSketch": "Installation will overwrite the Sketch on the board.", + "selectBoard": "පුවරුව තෝරන්න", + "selectVersion": "Select firmware version", + "successfullyInstalled": "Firmware successfully installed.", + "updater": "Firmware Updater" + }, + "help": { + "environment": "Environment", + "faq": "Frequently Asked Questions", + "findInReference": "Find in Reference", + "gettingStarted": "Getting Started", + "keyword": "Type a keyword", + "privacyPolicy": "Privacy Policy", + "reference": "Reference", + "search": "Search on Arduino.cc", + "troubleshooting": "Troubleshooting", + "visit": "Visit Arduino.cc" + }, + "ide-updater": { + "checkForUpdates": "Check for Arduino IDE Updates", + "closeAndInstallButton": "Close and Install", + "closeToInstallNotice": "Close the software and install the update on your machine.", + "downloadButton": "Download", + "downloadingNotice": "Downloading the latest version of the Arduino IDE.", + "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", + "goToDownloadButton": "Go To Download", + "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", + "ideUpdaterDialog": "Software Update", + "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", + "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", + "notNowButton": "Not now", + "skipVersionButton": "Skip Version", + "updateAvailable": "Update Available", + "versionDownloaded": "Arduino IDE {0} has been downloaded." + }, + "installable": { + "libraryInstallFailed": "Failed to install library: '{0}{1}'.", + "platformInstallFailed": "Failed to install platform: '{0}{1}'." + }, + "library": { + "addZip": "Add .ZIP Library...", + "arduinoLibraries": "Arduino libraries", + "contributedLibraries": "Contributed libraries", + "include": "Include Library", + "installAll": "සියල්ල ස්ථාපනය", + "installLibraryDependencies": "Install library dependencies", + "installMissingDependencies": "Would you like to install all the missing dependencies?", + "installOneMissingDependency": "Would you like to install the missing dependency?", + "installWithoutDependencies": "Install without dependencies", + "installedSuccessfully": "Successfully installed library {0}:{1}", + "libraryAlreadyExists": "A library already exists. Do you want to overwrite it?", + "manageLibraries": "Manage Libraries...", + "namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?", + "needsMultipleDependencies": "The library {0}:{1} needs some other dependencies currently not installed:", + "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", + "overwriteExistingLibrary": "Do you want to overwrite the existing library?", + "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", + "title": "Library Manager", + "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", + "zipLibrary": "Library" + }, + "librarySearchProperty": { + "topic": "Topic" + }, + "libraryTopic": { + "communication": "Communication", + "dataProcessing": "Data Processing", + "dataStorage": "Data Storage", + "deviceControl": "Device Control", + "display": "Display", + "other": "Other", + "sensors": "Sensors", + "signalInputOutput": "Signal Input/Output", + "timing": "Timing", + "uncategorized": "Uncategorized" + }, + "libraryType": { + "installed": "Installed" + }, + "menu": { + "advanced": "Advanced", + "sketch": "Sketch", + "tools": "Tools" + }, + "monitor": { + "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", + "baudRate": "{0} baud", + "connectionFailedError": "Could not connect to {0} {1} port.", + "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", + "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", + "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", + "notConnectedError": "Not connected to {0} {1} port.", + "unableToCloseWebSocket": "Unable to close websocket", + "unableToConnectToWebSocket": "Unable to connect to websocket" + }, + "newCloudSketch": { + "newSketchTitle": "Name of the new Cloud Sketch" + }, + "portProtocol": { + "network": "Network", + "serial": "Serial" + }, + "preferences": { + "additionalManagerURLs": "Additional Boards Manager URLs", + "auth.audience": "The OAuth2 audience.", + "auth.clientID": "The OAuth2 client ID.", + "auth.domain": "The OAuth2 domain.", + "auth.registerUri": "The URI used to register a new user.", + "automatic": "Automatic", + "board.certificates": "List of certificates that can be uploaded to boards", + "browse": "Browse", + "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "choose": "Choose", + "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", + "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", + "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", + "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", + "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", + "compile": "compile", + "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", + "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", + "compile.verbose": "True for verbose compile output. False by default", + "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", + "compilerWarnings": "Compiler warnings", + "editorFontSize": "Editor font size", + "editorQuickSuggestions": "Editor Quick Suggestions", + "enterAdditionalURLs": "Enter additional URLs, one for each row", + "files.inside.sketches": "Show files inside Sketches", + "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", + "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", + "interfaceScale": "Interface scale", + "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", + "invalid.sketchbook.location": "Invalid sketchbook location: {0}", + "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", + "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", + "manualProxy": "Manual proxy configuration", + "monitor": { + "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + }, + "network": "Network", + "newSketchbookLocation": "Select new sketchbook location", + "noCliConfig": "Could not load the CLI configuration", + "noProxy": "No proxy", + "proxySettings": { + "hostname": "Host name", + "password": "Password", + "port": "Port number", + "username": "Username" + }, + "showVerbose": "Show verbose output during", + "sketch": { + "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + }, + "sketchbook.location": "Sketchbook location", + "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", + "survey.notification": "True if users should be notified if a survey is available. True by default.", + "unofficialBoardSupport": "Click for a list of unofficial board support URLs", + "upload": "upload", + "upload.verbose": "True for verbose upload output. False by default.", + "verifyAfterUpload": "Verify code after upload", + "window.autoScale": "True if the user interface automatically scales with the font size.", + "window.zoomLevel": { + "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." + } + }, + "renameCloudSketch": { + "renameSketchTitle": "New name of the Cloud Sketch" + }, + "replaceMsg": "Replace the existing version of {0}?", + "selectZip": "Select a zip file containing the library you'd like to add", + "serial": { + "autoscroll": "Autoscroll", + "carriageReturn": "Carriage Return", + "connecting": "Connecting to '{0}' on '{1}'...", + "message": "Message (Enter to send message to '{0}' on '{1}')", + "newLine": "New Line", + "newLineCarriageReturn": "Both NL & CR", + "noLineEndings": "No Line Ending", + "notConnected": "Not connected. Select a board and a port to connect automatically.", + "openSerialPlotter": "Serial Plotter", + "timestamp": "Timestamp", + "toggleTimestamp": "Toggle Timestamp" + }, + "sketch": { + "archiveSketch": "Archive Sketch", + "cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.", + "compile": "Compiling sketch...", + "configureAndUpload": "Configure and Upload", + "createdArchive": "Created archive '{0}'.", + "doneCompiling": "Done compiling.", + "doneUploading": "Done uploading.", + "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", + "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "exportBinary": "Export Compiled Binary", + "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", + "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", + "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", + "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", + "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", + "moving": "Moving", + "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", + "new": "New Sketch", + "noTrailingPeriod": "A filename cannot end with a dot", + "openFolder": "Open Folder", + "openRecent": "Open Recent", + "openSketchInNewWindow": "Open Sketch in New Window", + "reservedFilename": "'{0}' is a reserved filename.", + "saveFolderAs": "Save sketch folder as...", + "saveSketch": "Save your sketch to open it again later.", + "saveSketchAs": "Save sketch folder as...", + "showFolder": "Show Sketch Folder", + "sketch": "Sketch", + "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", + "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchbook": "Sketchbook", + "titleLocalSketchbook": "Local Sketchbook", + "titleSketchbook": "Sketchbook", + "upload": "Upload", + "uploadUsingProgrammer": "Upload Using Programmer", + "uploading": "Uploading...", + "userFieldsNotFoundError": "Can't find user fields for connected board", + "verify": "Verify", + "verifyOrCompile": "Verify/Compile" + }, + "sketchbook": { + "newCloudSketch": "New Cloud Sketch", + "newSketch": "New Sketch" + }, + "survey": { + "answerSurvey": "Answer survey", + "dismissSurvey": "Don't show again", + "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." + }, + "theme": { + "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", + "dark": "Dark", + "deprecated": "{0} (deprecated)", + "hc": "Dark High Contrast", + "hcLight": "Light High Contrast", + "light": "Light", + "user": "{0} (user)" + }, + "title": { + "cloud": "Cloud" + }, + "updateIndexes": { + "updateIndexes": "Update Indexes", + "updateLibraryIndex": "Update Library Index", + "updatePackageIndex": "Update Package Index" + }, + "upload": { + "error": "{0} error: {1}" + }, + "userFields": { + "cancel": "Cancel", + "enterField": "Enter {0}", + "upload": "Upload" + }, + "validateSketch": { + "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", + "abortFixTitle": "Invalid sketch", + "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", + "renameSketchFileTitle": "Invalid sketch filename", + "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", + "renameSketchFolderTitle": "Invalid sketch name" + }, + "workspace": { + "alreadyExists": "'{0}' already exists." + } + }, + "theia": { + "core": { + "cannotConnectBackend": "Cannot connect to the backend.", + "cannotConnectDaemon": "Cannot connect to the CLI daemon.", + "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", + "daemonOffline": "CLI Daemon Offline", + "offline": "Offline", + "offlineText": "Offline", + "quitTitle": "Are you sure you want to quit?" + }, + "editor": { + "unsavedTitle": "Unsaved – {0}" + }, + "messages": { + "collapse": "Collapse", + "expand": "Expand" + }, + "workspace": { + "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", + "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "fileNewName": "Name for new file", + "invalidExtension": ".{0} is not a valid extension", + "newFileName": "New name for file" + } + } +} diff --git a/i18n/sr.json b/i18n/sr.json index 566978788..fa4bc38bb 100644 --- a/i18n/sr.json +++ b/i18n/sr.json @@ -152,7 +152,8 @@ "serialMonitor": "Монитор серијског порта", "type": "Type", "unknown": "Непознато", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Грешка приликом превођења: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "'{0}' не подржава отклањање грешака", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Платформа није инсталирана за '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Оптимизовано за отклањање грешака", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "преведи", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/th.json b/i18n/th.json index 9d3297d79..8d3247c8c 100644 --- a/i18n/th.json +++ b/i18n/th.json @@ -152,7 +152,8 @@ "serialMonitor": "Serial Monitor", "type": "Type", "unknown": "Unknown", - "updateable": "Updatable" + "updateable": "Updatable", + "userAbort": "User abort" }, "compile": { "error": "Compilation error: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Debugging is not supported by '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimize for Debugging", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", "compile": "compile", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", diff --git a/i18n/tr.json b/i18n/tr.json index 389e85989..52fce53da 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -152,7 +152,8 @@ "serialMonitor": "Seri Port Ekranı", "type": "Tür", "unknown": "Bilinmeyen", - "updateable": "Güncellenebilir" + "updateable": "Güncellenebilir", + "userAbort": "Kullanıcı iptali" }, "compile": { "error": "Derleme hatası: {0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "Debug '{0}' tarafından desteklenmiyor", "getDebugInfo": "Hata ayıklama bilgisi alınıyor...", "noPlatformInstalledFor": "'{0}' için platform kurulmadı", - "noProgrammerSelectedFor": "'{0}' için programlayıcı seçilmedi", "optimizeForDebugging": "Debug için Optimize et", "sketchIsNotCompiled": "Hata ayıklama -debug- oturumuna başlamadan önce '{0}' eskizi doğrulanmalıdır. Lütfen eskizi doğrulayın ve hata ayıklamayı yeniden başlatın. Eskizi şimdi doğrulamak ister misiniz?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "Kullanıcılar bir bulut eskizini çekmeden önce uyarılacaksa açın. Varsayılan: Açık.", "cloud.push.warn": "Kullanıcılar bir bulut eskizini göndermeden önce uyarılacaksa açın. Varsayılan: Açık.", "cloud.pushpublic.warn": "Kullanıcılar buluta herkese açık bir eskiz yüklemeden önce uyarılacaksa açın. Varsayılan: Açık.", + "cloud.sharedSpaceId": "Eskiz defterinin yükleneceği paylaşılan Arduino Cloud alanı ID'si. Boş bırakılırsa özel alanınız seçilir.", "cloud.sketchSyncEndpoint": "Ana yapıdan eskizler çekmek veya göndermek için son nokta kullanılır. Varsayılan: Arduino Cloud API.", "compile": "derle", "compile.experimental": "IDE'nin birden fazla derleme hatasını kontrol etmesini istiyorsanız açın. Varsayılan olarak kapalı.", diff --git a/i18n/uk.json b/i18n/uk.json index a3f9e0a00..8aec50d7e 100644 --- a/i18n/uk.json +++ b/i18n/uk.json @@ -139,7 +139,7 @@ "installManually": "Встановити вручну", "later": "Пізніше", "noBoardSelected": "Не обрана плата", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Нема відкритих скетчів", "notConnected": "[не підключено]", "offlineIndicator": "Здається, ви відключені від мережі. Без підключення до Інтернету Arduino CLI не може завантажити необхідні ресурси. Підключіться до Інтернету та перезапустіть програму.", "oldFormat": "'{0}' досі використовує старий формат `.pde`. Бажаєте перейти на нове розширення `.ino` ?", @@ -147,12 +147,13 @@ "processing": "Обробляється", "recommended": "Рекомендовано", "retired": "Застаріло", - "selectManually": "Select Manually", + "selectManually": "Оберіть вручну", "selectedOn": "на {0}", "serialMonitor": "Монітор порту", "type": "Тіп", "unknown": "Невідомо", - "updateable": "Можливість оновлення" + "updateable": "Можливість оновлення", + "userAbort": "Переривання користувача" }, "compile": { "error": "Помилка компілятора: {0}" @@ -211,9 +212,8 @@ "debug": { "debugWithMessage": "Налагодження - {0}", "debuggingNotSupported": "Налагодження не підтримується з '{0}'", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "Отримання інформації про налагодження...", "noPlatformInstalledFor": "Не встановлення платформа для '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Оптимізація для налагодження", "sketchIsNotCompiled": "Скетч'{0}' повинен бути перевірений до початку налагодження. Будь ласка, перевірте скетч та запустіть налагодження знову. Бажаєте перевірити скетч зараз?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "\"Так\", якщо треба попередження перед отриманням хмарного скетчу. \"Так\" за замовчуванням. ", "cloud.push.warn": "\"Так\", якщо треба попередження перед надсиланням хмарного скетчу. \"Так\" за замовчуванням.", "cloud.pushpublic.warn": "\"Так\", якщо треба попередження перед надсиланням публічного скетча в хмару. \"Так\" за замовчуванням.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "Призначення для надсилання та отримання скетчів з серверної частини. За замовчуванням вказує на API хмари Arduino.", "compile": "компіляція", "compile.experimental": "\"Так\", якщо IDE може отримати декілька помилок компілятора. \"Ні\" за замовчуванням", @@ -385,7 +386,7 @@ "invalid.editorFontSize": "Хибний розмір шрифта редактора. Значення повинно бути цілим числом.", "invalid.sketchbook.location": "Хибний шлях до книги скетчів: {0}", "invalid.theme": "Недійсна тема.", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.asyncWorkers": "Кількість асинхронних процесів, які використовуються мовним сервером Arduino (clangd). Фоновий індекс також використовує цю кількість процесів. Мінімальне значення дорівнює 0, а максимальне – 8. Коли воно дорівнює 0, мовний сервер використовує всі доступні ядра. Значення за замовчуванням — 0.", "language.log": "\"Так\", якщо треба генерувати log-файли журналу в папці скетча. В іншому випадку \"Ні\". За замовчуванням це \"Ні\". ", "language.realTimeDiagnostics": "Якщо \"Так\", перевірка синтаксису відбувається в режимі реального часу. Під час введення тексту в редакторі. Знчення замовчуванням - \"Ні\".", "manualProxy": "Налаштування проксі вручну", @@ -442,7 +443,7 @@ "compile": "Компіляція скетча...", "configureAndUpload": "Налаштувати та завантажити", "createdArchive": "Створення архіву '{0}'.", - "doneCompiling": "Компіляцію завершено", + "doneCompiling": "Компіляцію завершено.", "doneUploading": "Завантаження завершено.", "editInvalidSketchFolderLocationQuestion": "Бажаєте спробувати зберегти скетч в іншому місці?", "editInvalidSketchFolderQuestion": "Бажаєте спробувати зберегти скетч під іншою назвою?", @@ -465,8 +466,8 @@ "saveSketchAs": "Зберігти папку скетча як...", "showFolder": "Показати папку скетча", "sketch": "Скетч", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "Скетч вже містить файл з назвою '{0}'", + "sketchAlreadyContainsThisFileMessage": "Помилка при збереженні скетча \"{0}\" як \"{1}\". {2}", "sketchbook": "Книга скетчів", "titleLocalSketchbook": "Локальна книга скетчів", "titleSketchbook": "Книга скетчів", diff --git a/i18n/vi.json b/i18n/vi.json index 97c7bb16f..e650cc5bb 100644 --- a/i18n/vi.json +++ b/i18n/vi.json @@ -18,7 +18,7 @@ "configDialog1": "Chọn đồng thời một bo mạch và một cổng nếu bạn muốn nạp một sketch.", "configDialog2": "Nếu bạn chỉ chọn một bo mạch thì bạn sẽ có khả năng biên dịch, nhưng không thể nạp sketch của bạn lên.", "couldNotFindPreviouslySelected": "Không thể tìm thấy bo mạch '{0}' được chọn trước đó trong nền tảng '{1}' đã được cài đặt. Hãy chọn lại thủ công bo mạch mà bạn muốn dùng. Bạn có muốn chọn lại ngay?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "Thiết lập Bảng và Cổng...", "getBoardInfo": "Lấy thông tin bo mạch", "inSketchbook": "(trong Sketchbook)", "installNow": "Nhân \"{0} {1}\" phải được cài đặt cho bo mạch \"{2}\" đang được chọn. Bạn có muốn cài đặt ngay?", @@ -40,7 +40,7 @@ "showAllPorts": "Hiển thị tất cả các cổng", "succesfullyInstalledPlatform": "Hoàn tất cài đặt nền tảng {0}:{1}", "succesfullyUninstalledPlatform": "Hoàn tất gỡ cài đặt nền tảng {0}:{1}", - "typeOfPorts": "{0} ports", + "typeOfPorts": "{0}Cổng", "unconfirmedBoard": "Unconfirmed board", "unknownBoard": "Bảng không xác định" }, @@ -74,7 +74,7 @@ "uploadingCertificates": "Đang nạp các chứng chỉ." }, "checkForUpdates": { - "checkForUpdates": "Check for Arduino Updates", + "checkForUpdates": "Kiểm tra bản cập nhật", "installAll": "Cài đặt tất cả", "noUpdates": "There are no recent updates available.", "promptUpdateBoards": "Updates are available for some of your boards.", @@ -83,16 +83,16 @@ "updatingLibraries": "Đang cập nhật thư viện..." }, "cli-error-parser": { - "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", - "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + "keyboardError": "Không tìm thấy 'Keyboard'. Dự án của bạn có khai báo '' chưa?", + "mouseError": "Không tìm thấy 'Mouse'. Dự án của bạn có khai báo ' chưa?" }, "cloud": { "chooseSketchVisibility": "Chọn khả năng hiển thị của Sketch của bạn:", "cloudSketchbook": "Cloud Sketchbook", "connected": "Đã kết nối", "continue": "Tiếp tục", - "donePulling": "Done pulling '{0}'.", - "donePushing": "Done pushing '{0}'.", + "donePulling": "Pulling thành công{0}", + "donePushing": "Pushing thành công{0}", "embed": "Nhúng: ", "emptySketchbook": "Sketchbook của bạn đang trống", "goToCloud": "Chuyển đến đám mây", @@ -139,7 +139,7 @@ "installManually": "Cài thủ công", "later": "Để sau", "noBoardSelected": "Không có bo mạch được chọn", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Không có dự án nào được mở", "notConnected": "[Chưa được kết nối]", "offlineIndicator": "Bạn dường như đang ngoại tuyến. Không có kết nối mạng, Arduino CLI có thể sẽ không thể tải về những tài nguyên cần thiết và có thể sẽ gây ra sự cố. Hãy kết nối Internet và khởi động lại ứng dụng.", "oldFormat": "'{0}' vẫn đang sử dụng đuôi '.pde' cũ. Bạn có muốn chuyển sang đuôi '.ino' mới hơn không?", @@ -152,7 +152,8 @@ "serialMonitor": "Serial Monitor", "type": "Kiểu", "unknown": "Không xác định", - "updateable": "Có thể cập nhật" + "updateable": "Có thể cập nhật", + "userAbort": "User abort" }, "compile": { "error": "Lỗi biên dịch: {0}" @@ -160,12 +161,12 @@ "component": { "boardsIncluded": "Boards included in this package:", "by": "bởi", - "clickToOpen": "Click to open in browser: {0}", + "clickToOpen": "Nhấn để mở trên trình duyệt:{0}", "filterSearch": "Lọc kết quả tìm kiếm của bạn...", "install": "Cài đặt", "installLatest": "Cài đặt mới nhất", - "installVersion": "Install {0}", - "installed": "{0} installed", + "installVersion": "Cài đặt{0}", + "installed": "{0}Đã cài đặt", "moreInfo": "Thêm thông tin", "otherVersions": "Các phiên bản khác", "remove": "Loại bỏ", @@ -193,16 +194,16 @@ "core": { "compilerWarnings": { "all": "Tất cả", - "default": "Default", + "default": "Mặc định", "more": "More", "none": "None" } }, "coreContribution": { - "copyError": "Copy error messages", - "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + "copyError": "Sao chép lỗi", + "noBoardSelected": "Không có board được chọn. Hãy vào Tools > Board để chọn board Arduino." }, - "createCloudCopy": "Push Sketch to Cloud", + "createCloudCopy": "Đẩy dự án lên Cloud", "daemon": { "restart": "Restart Daemon", "start": "Start Daemon", @@ -213,7 +214,6 @@ "debuggingNotSupported": "Sửa lỗi không hỗ trợ bởi '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Nền tảng chưa được cài đặt cho '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Tối ưu hóa cho sửa lỗi", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, @@ -254,7 +254,7 @@ "selectBoard": "Lựa chọn bo mạch", "selectVersion": "Chọn phiên bản firmware ", "successfullyInstalled": "Hoàn tất cài đặt firmware.", - "updater": "Firmware Updater" + "updater": "Cập nhật Frmware" }, "help": { "environment": "Môi trường", @@ -269,7 +269,7 @@ "visit": "Truy cập Arduino.cc" }, "ide-updater": { - "checkForUpdates": "Check for Arduino IDE Updates", + "checkForUpdates": "Kiểm tra bản cập nhật phần mềm", "closeAndInstallButton": "Đóng và cài đặt", "closeToInstallNotice": "Đóng ứng dụng và cài đặt bản cập nhật mới nhất lên máy bạn.", "downloadButton": "Tải về", @@ -286,7 +286,7 @@ "versionDownloaded": "Arduino IDE {0} đã được tải về." }, "installable": { - "libraryInstallFailed": "Failed to install library: '{0}{1}'.", + "libraryInstallFailed": "Cài thư viện {0}{1} không thành công", "platformInstallFailed": "Failed to install platform: '{0}{1}'." }, "library": { @@ -315,29 +315,29 @@ "topic": "Topic" }, "libraryTopic": { - "communication": "Communication", + "communication": "Giao tiếp", "dataProcessing": "Data Processing", - "dataStorage": "Data Storage", - "deviceControl": "Device Control", - "display": "Display", - "other": "Other", - "sensors": "Sensors", - "signalInputOutput": "Signal Input/Output", + "dataStorage": "Lưu trữ dữ liệu", + "deviceControl": "Điều khiển thiết bị", + "display": "Hiển thị", + "other": "Khác", + "sensors": "Cảm biến", + "signalInputOutput": "Tín hiệu vào/ra", "timing": "Timing", - "uncategorized": "Uncategorized" + "uncategorized": "Chưa được phân loại." }, "libraryType": { - "installed": "Installed" + "installed": "Đã cài đặt" }, "menu": { - "advanced": "Advanced", + "advanced": "Nâng cao", "sketch": "Sketch", "tools": "Công cụ" }, "monitor": { "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", "baudRate": "{0} baud", - "connectionFailedError": "Could not connect to {0} {1} port.", + "connectionFailedError": "Không thể kết nối tới cổng {0}{1}.", "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", @@ -368,6 +368,7 @@ "cloud.pull.warn": "'True' nếu người dùng muốn được cảnh báo trước khi tải xuống một cloud sketch. Mặc định là 'true'.", "cloud.push.warn": "'True' nếu người dùng muốn được cảnh báo trước khi đẩy lên lên một cloud sketch. Mặc định là 'true'.", "cloud.pushpublic.warn": "'True' nếu người dùng muốn được cảnh báo trước khi đẩy lên lên một sketch công khai lên đám mây. Mặc định là 'true'.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "Đầu cuối đùng dể đẩy lên và tải xuống sketch từ backend. Mặc định chỉ đến Arduino Cloud API.", "compile": "biên dịch", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", @@ -398,9 +399,9 @@ "noProxy": "Không có proxy", "proxySettings": { "hostname": "Host name", - "password": "Password", - "port": "Port number", - "username": "Username" + "password": "Mật khẩu", + "port": "Số cổng", + "username": "Tài khoản" }, "showVerbose": "Hiển thị đầu ra chi tiết trong khi", "sketch": { @@ -419,7 +420,7 @@ } }, "renameCloudSketch": { - "renameSketchTitle": "New name of the Cloud Sketch" + "renameSketchTitle": "Tên mới cho dự án Cloud" }, "replaceMsg": "Thay thế phiên bản hiện tại của {0}?", "selectZip": "Chọn một tệp zip chứa thư viện mà bạn muốn cài", @@ -449,24 +450,24 @@ "exportBinary": "Xuất tệp nhị phân đã biên dịch", "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", - "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", - "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", + "invalidSketchFolderLocationMessage": "Vị trí thư mục dự án {0} không hợp lệ", + "invalidSketchFolderNameMessage": "Tên thư mục dự án {0} không hợp lệ", "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", "moving": "Chuyển", "movingMsg": "Tệp \"{0}\" cần phải được chứa trong thư mục sketch tên \"{1}\".\nTạo thư mục này, chuyển tệp tin vào đó, và tiếp tục?", "new": "Bản phác thảo mới", - "noTrailingPeriod": "A filename cannot end with a dot", + "noTrailingPeriod": "Tên file không thể kết túc bằng dấu chấm", "openFolder": "Mở thư mục", "openRecent": "Mở gần đây", "openSketchInNewWindow": "Mở sketch trong cửa sổ mới", "reservedFilename": "'{0}' is a reserved filename.", "saveFolderAs": "Lưu thư mục sketch như là...", - "saveSketch": "Save your sketch to open it again later.", + "saveSketch": "Lưu dự án của bạn để mở vào lần sau.", "saveSketchAs": "Lưu thư mục sketch như là...", "showFolder": "Hiện thư mục sketch", "sketch": "Sketch", "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileMessage": "Lưu dự án \"{0}\" thành \"{1}\" không thành công.{2}", "sketchbook": "Sketchbook", "titleLocalSketchbook": "Sketchbook cục bộ", "titleSketchbook": "Sketchbook", @@ -489,11 +490,11 @@ "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Tối", - "deprecated": "{0} (deprecated)", + "deprecated": "{0}(Không được dùng nữa)", "hc": "Độ tương phản tối cao", "hcLight": "Độ tương phản cao nhẹ", "light": "Sáng", - "user": "{0} (user)" + "user": "{0}(người dùng)" }, "title": { "cloud": "Đám mây" @@ -520,7 +521,7 @@ "renameSketchFolderTitle": "Tên bản phác thảo không hợp lệ" }, "workspace": { - "alreadyExists": "'{0}' already exists." + "alreadyExists": "'{0}'đã tồn tại." } }, "theia": { diff --git a/i18n/zh-Hant.json b/i18n/zh-Hant.json index 65836a9e6..a6d3ce1c7 100644 --- a/i18n/zh-Hant.json +++ b/i18n/zh-Hant.json @@ -152,7 +152,8 @@ "serialMonitor": "序列埠監控窗", "type": "類型", "unknown": "未知", - "updateable": "可更新" + "updateable": "可更新", + "userAbort": "User abort" }, "compile": { "error": "編譯錯誤:{0} " @@ -213,7 +214,6 @@ "debuggingNotSupported": "'{0}' 不支援除錯功能。", "getDebugInfo": "取得除錯資訊...", "noPlatformInstalledFor": "平台未安裝給'{0}'", - "noProgrammerSelectedFor": "未選取給 '{0}' 用的燒錄器", "optimizeForDebugging": "除錯最佳化", "sketchIsNotCompiled": "Sketch '{0}' 在除錯前必須已驗證過。請先驗證 sketch 後再除錯。要現在驗證 sketch 嗎?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "讀取雲端 sketch 前會警告使用者。預設: 開啟。", "cloud.push.warn": "推送雲端 sketch 前會警告使用者。預設: 開啟。", "cloud.pushpublic.warn": "推送公開的 sketch 到雲端前會警告使用者。預設: 開啟。", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "用來從後台讀取或推送 sketch 的端點。預設: Arduino 雲 API。", "compile": "編譯", "compile.experimental": "IDE 處理多個編譯器錯誤。 預設: 關閉", diff --git a/i18n/zh.json b/i18n/zh.json index 48c60dad5..d06007f7b 100644 --- a/i18n/zh.json +++ b/i18n/zh.json @@ -152,7 +152,8 @@ "serialMonitor": "串口监视器", "type": "类型", "unknown": "未知", - "updateable": "可更新" + "updateable": "可更新", + "userAbort": "用户终止" }, "compile": { "error": "编译错误:{0}" @@ -213,7 +214,6 @@ "debuggingNotSupported": "‘{0}’ 不支持调试", "getDebugInfo": "正在获取调试信息。。。", "noPlatformInstalledFor": "‘{0}’ 平台未安装", - "noProgrammerSelectedFor": "未为 '{0}' 项目选择任何编程器。", "optimizeForDebugging": "调试优化", "sketchIsNotCompiled": "项目 '{0}' 在开始调试会话之前必须经过验证。请验证草图并重新开始调试。你现在要验证草图吗?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "True 则在拉取 cloud 项目之前警告用户。默认为 True。", "cloud.push.warn": "True 则在推送 cloud 项目之前警告用户。默认为 True。", "cloud.pushpublic.warn": "True 则将公开项目推送到 cloud 中之前警告用户。默认为 True。", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "用于从后台推送项目的端点。默认情况下,它指向 Arduino Cloud API。", "compile": "编译", "compile.experimental": "True 则 IDE 处理多个编译器错误。默认为 False。", diff --git a/i18n/zh_TW.json b/i18n/zh_TW.json index 3b304e2a2..268b010cb 100644 --- a/i18n/zh_TW.json +++ b/i18n/zh_TW.json @@ -152,7 +152,8 @@ "serialMonitor": "序列埠監控窗", "type": "類型", "unknown": "未知", - "updateable": "可更新" + "updateable": "可更新", + "userAbort": "用戶中止" }, "compile": { "error": "編譯錯誤:{0} " @@ -186,7 +187,7 @@ "addFile": "加入檔案", "fileAdded": "一個檔案加入 Sketch", "plotter": { - "couldNotOpen": "無法開啟繪圖儀。" + "couldNotOpen": "無法開啟序列埠繪圖" }, "replaceTitle": "取代" }, @@ -213,7 +214,6 @@ "debuggingNotSupported": "'{0}'不支援除錯。", "getDebugInfo": "取得除錯資訊...", "noPlatformInstalledFor": "平台未安裝給'{0}'", - "noProgrammerSelectedFor": "未選取給 '{0}' 用的燒錄器", "optimizeForDebugging": "除錯最佳化", "sketchIsNotCompiled": "Sketch '{0}' 在除錯前必須已驗證過。請先驗證 sketch 後再除錯。要現在驗證 sketch 嗎?" }, @@ -368,6 +368,7 @@ "cloud.pull.warn": "讀取雲端 sketch 前會警告使用者。預設: 開啟。", "cloud.push.warn": "推送雲端 sketch 前會警告使用者。預設: 開啟。", "cloud.pushpublic.warn": "推送公開的 sketch 到雲端前會警告使用者。預設: 開啟。", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "用來從後台讀取或推送 sketch 的端點。預設: Arduino 雲 API。", "compile": "編譯", "compile.experimental": "IDE 處理多個編譯器錯誤。 預設: 關閉", @@ -432,7 +433,7 @@ "newLineCarriageReturn": "NL和CR字元", "noLineEndings": "沒有斷行字元", "notConnected": "未連上。請選擇開發板及連接埠後自動連接", - "openSerialPlotter": "開啟序列繪圖家", + "openSerialPlotter": "序列埠繪圖", "timestamp": "時間戳記", "toggleTimestamp": "切換時戳" }, From 77136687d374dce1660191059427f1941f4cef16 Mon Sep 17 00:00:00 2001 From: Dave Simpson <45690499+davegarthsimpson@users.noreply.github.com> Date: Tue, 24 Sep 2024 18:30:58 +0200 Subject: [PATCH 26/87] Use `macos-latest` runner for macOS ARM build (#2513) --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cb94fbe05..865c0562e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -113,10 +113,9 @@ env: name: macOS_X86-64_dmg - path: '*macOS_64bit.zip' name: macOS_X86-64_zip - PAID_RUNNER_BUILD_DATA: | - config: name: macOS ARM - runs-on: macos-latest-xlarge + runs-on: macos-latest container: | null certificate-secret: APPLE_SIGNING_CERTIFICATE_P12 From 91bb75ca9771634cae653ffd3406dce748e5d6d1 Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 22 Oct 2024 07:30:52 -0700 Subject: [PATCH 27/87] Bump version metadata post release On every startup, Arduino IDE checks for new versions of the IDE. If a newer version is available, a notification/dialog is shown offering an update. "Newer" is determined by comparing the version of the user's IDE to the latest available version on the update channel. This comparison is done according to the Semantic Versioning Specification ("SemVer"). In order to facilitate beta testing, builds are generated of the Arduino IDE at the current stage in development. These builds are given an identifying version of the following form: - -snapshot- - builds generated for every push and pull request that modifies relevant files - -nightly- - daily builds of the tip of the default branch In order to cause these builds to be correctly considered "newer" than the release version, the version metadata must be bumped immediately following each release. This will also serve as the metadata bump for the next release in the event that release is a minor release. In case it is instead a minor or major release, the version metadata will need to be updated once more before the release tag is created. --- arduino-ide-extension/package.json | 2 +- electron-app/package.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index bef1f07b7..b97808e5f 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.3", + "version": "2.3.4", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { diff --git a/electron-app/package.json b/electron-app/package.json index 0451107f1..c959f3548 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.3", + "version": "2.3.4", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.41.0", "@theia/terminal": "1.41.0", "@theia/workspace": "1.41.0", - "arduino-ide-extension": "2.3.3" + "arduino-ide-extension": "2.3.4" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/package.json b/package.json index 2e4dd1a64..88ebc27c1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.3", + "version": "2.3.4", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA", From 4a3abf542c770fbc20d9a08401a38446261350bd Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Thu, 26 Sep 2024 17:01:45 +0200 Subject: [PATCH 28/87] fix: prevent parsing CLI errors without metadata When parsing a CLI error, check if any metadata from grpc is present before trying to parse it. Closes #2516 --- .../src/node/service-error.ts | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/arduino-ide-extension/src/node/service-error.ts b/arduino-ide-extension/src/node/service-error.ts index a42c05d8a..0b6021ff0 100644 --- a/arduino-ide-extension/src/node/service-error.ts +++ b/arduino-ide-extension/src/node/service-error.ts @@ -6,7 +6,7 @@ import { ProgrammerIsRequiredForUploadError } from './cli-protocol/cc/arduino/cl type ProtoError = typeof ProgrammerIsRequiredForUploadError; const protoErrorsMap = new Map([ [ - 'type.googleapis.com/cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError', + 'cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError', ProgrammerIsRequiredForUploadError, ], // handle other cli defined errors here @@ -22,30 +22,33 @@ export namespace ServiceError { return arg instanceof Error && isStatusObject(arg); } - export function isInstanceOf(arg: unknown, type: unknown): boolean { + export function isInstanceOf( + arg: unknown, + type: new (...args: unknown[]) => ProtoError + ): arg is ProtoError { if (!isStatusObject(arg)) { return false; } - const bin = arg.metadata.get('grpc-status-details-bin')[0]; + try { + const bin = arg.metadata.get('grpc-status-details-bin')[0]; + const uint8Array = + typeof bin === 'string' + ? stringToUint8Array(bin) + : new Uint8Array(bin.buffer, bin.byteOffset, bin.byteLength); - const uint8Array = - typeof bin === 'string' - ? stringToUint8Array(bin) - : new Uint8Array(bin.buffer, bin.byteOffset, bin.byteLength); + const errors = Status.deserializeBinary(uint8Array) + .getDetailsList() + .map((details) => { + const typeName = details.getTypeName(); + const ErrorType = protoErrorsMap.get(typeName); + return ErrorType?.deserializeBinary(details.getValue_asU8()); + }); - const errors = Status.deserializeBinary(uint8Array) - .getDetailsList() - .map((details) => { - const typeUrl = details.getTypeUrl(); - const ErrorType = protoErrorsMap.get(typeUrl); - return ErrorType?.deserializeBinary(details.getValue_asU8()); - }); - - return !!errors.find((error) => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return error && error instanceof type; - }); + return !!errors.find((error) => error && error instanceof type); + } catch { + return false; + } } function isStatusObject(arg: unknown): arg is StatusObject { From 44f15238d6ddeb27054ac9bc45f1f3ebc5c92a74 Mon Sep 17 00:00:00 2001 From: Dave Simpson <45690499+davegarthsimpson@users.noreply.github.com> Date: Thu, 24 Oct 2024 09:26:49 +0200 Subject: [PATCH 29/87] chore: switch to version `2.3.4` after the release (#2514) From 3ccc864453866c9273428779680e4fe2b91b1ce6 Mon Sep 17 00:00:00 2001 From: dankeboy36 <111981763+dankeboy36@users.noreply.github.com> Date: Sun, 27 Oct 2024 02:15:23 +0200 Subject: [PATCH 30/87] fix(doc): add missing prerequisites to dev docs (#2531) Document prerequisites of the Arduino CLI, LS, etc. tools when built from a Git commitish. --------- Signed-off-by: dankeboy36 Co-authored-by: per1234 --- docs/development.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/development.md b/docs/development.md index 367d2139b..84cd32c66 100644 --- a/docs/development.md +++ b/docs/development.md @@ -50,6 +50,7 @@ This repository contains the main code, but two more repositories are included d - To build the application, follow the Theia IDE [prerequisites](https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisites). - This project recommends using [Visual Studio Code (VS Code)](https://code.visualstudio.com/) for the development. +- The build system might also need to build the [Arduino CLI](https://github.com/arduino/arduino-cli), the [Arduino Language Server](https://github.com/arduino/arduino-language-server), and other tools from the sources. In this case it is also necessary to have the build prerequisites for those projects installed. For more details, refer to the Arduino CLI's [prerequisites section](https://arduino.github.io/arduino-cli/latest/CONTRIBUTING/#prerequisites). ## Build from source From 63e9dfd7f5949c77ffbfb6175e2e9c2991317bca Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:50:05 +0200 Subject: [PATCH 31/87] fix: disable local windows signing for forks PR Resolves https://github.com/arduino/arduino-ide/issues/2545 --- .github/workflows/build.yml | 2 ++ electron-app/scripts/windowsCustomSign.js | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 865c0562e..f35d97f16 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -286,6 +286,8 @@ jobs: SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" WIN_CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} WIN_CERT_CONTAINER_NAME: ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }} + WIN_SIGNING_ENABLED: ${{ !github.event.pull_request.head.repo.fork }} + strategy: matrix: config: ${{ fromJson(needs.select-targets.outputs.build-matrix) }} diff --git a/electron-app/scripts/windowsCustomSign.js b/electron-app/scripts/windowsCustomSign.js index 29fbc5fad..41fc6d3b2 100644 --- a/electron-app/scripts/windowsCustomSign.js +++ b/electron-app/scripts/windowsCustomSign.js @@ -1,7 +1,10 @@ const childProcess = require('child_process'); exports.default = async function (configuration) { - if (!process.env.GITHUB_ACTIONS) { + if ( + !process.env.GITHUB_ACTIONS || + process.env.WIN_SIGNING_ENABLED !== 'true' + ) { return; } From 9cbee0eacf50c613422131cfe9b414759c6fb5f6 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 11 Nov 2024 23:18:44 -0800 Subject: [PATCH 32/87] Trim trailing whitespace in build workflow --- .github/workflows/build.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f35d97f16..6486e207a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,7 +40,7 @@ on: - Push Container Images branches: - main - types: + types: - completed env: @@ -397,7 +397,7 @@ jobs: yarn --cwd electron-app rebuild yarn --cwd electron-app build yarn --cwd electron-app package - + # Both macOS jobs generate a "channel update info file" with same path and name. The second job to complete would # overwrite the file generated by the first in the workflow artifact. - name: Stage channel file for merge @@ -425,14 +425,13 @@ jobs: if-no-files-found: error name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.STAGED_CHANNEL_FILES_PATH) || env.STAGED_CHANNEL_FILES_PATH }} - - name: Upload [GitHub Actions] uses: actions/upload-artifact@v3 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.BUILD_ARTIFACTS_PATH) || env.BUILD_ARTIFACTS_PATH }} - + - name: Manual Clean up for self-hosted runners if: runner.os == 'Windows' && matrix.config.working-directory shell: cmd From 3d82cb3525b281bb39b3625e068fcb6902d85f5b Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 12 Nov 2024 00:01:07 -0800 Subject: [PATCH 33/87] Add `PAID_RUNNER_BUILD_DATA` environment variable back to build workflow The build workflow produces builds for a range of target host architectures, including macOS Apple Silicon. This is done by running a native build in a machine of the target architecture. At the time the support for producing Apple Silicon builds was added to the workflow, use of GitHub-hosted Apple Silicon runner machines was charged by the minute (while use of the other runners is free). In order to avoid excessive expenses, the workflow was configured so that the Apple Silicon builds were only produced when absolutely necessary. This was done by defining two sets of job matrix arrays, one for jobs using free runners, and the other for jobs using paid runners. Due to the limitations of the GitHub Actions framework, it was necessary to use workflow environment variables for this purpose. Since that time, GitHub made free GitHub-hosted Apple Silicon runners available. When the workflow was adjusted to use that runner, the configuration for the Apple Silicon build job was moved to the free runner job matrix array. The system for supporting selective use of paid GitHub-hosted runners to produce builds was not removed at that time. This is reasonable since it is possible the need will arise for using paid runners at some point in the future (e.g., only legacy older versions of free macOS "Intel" runners are now provided and it is likely that even these will eventually be phased out forcing us to use the paid runner to produce builds for that target). However, the environment variable for the paid runner job matrix array data was removed. The absence of that variable made it very difficult to understand the workflow code for the system. For this reason, the environment variable is replaced, but empty of data. A comment is added to explain the reason for this. --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6486e207a..4c87567ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -127,6 +127,10 @@ env: name: macOS_arm64_dmg - path: '*macOS_arm64.zip' name: macOS_arm64_zip + PAID_RUNNER_BUILD_DATA: | + # This system was implemented to allow selective use of paid GitHub-hosted runners, due to the Apple Silicon runner + # incurring a charge at that time. Free Apple Silicon runners are now available so the configuration was moved to + # `BASE_BUILD_DATA`, but the system was left in place for future use. jobs: run-determination: From c0b0b84d799906062d8d4d4add683257c8ee7ab0 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 16 Nov 2024 04:56:38 -0800 Subject: [PATCH 34/87] Simplify and generalize configurable working directory code in build workflow The Windows builds of the application are cryptographically signed. The signing requires an "eToken" hardware authentication device be connected to the machine performing the signing. This means that it is necessary to use a self-hosted GitHub Actions runner for the Windows job of the build workflow rather than the runners hosted by GitHub. There are some unique characteristics of the self-hosted runner which the workflow code must accommodate. The default working directory of the self-hosted runner is not suitable to perform the build under because the the resulting folder structure produced paths that exceeded the ridiculously small maximum path length of Windows. So the workflow must be configured to use a custom working directory with a short path (`C:\a`). This custom working directory must be used only for the job running on the self-hosted Windows runner so the working directory of the relevant workflow steps are configured using a ternary expression. Previously, this expression had multiple conditions: * the value of the `runner.os` context item * the definition of a custom working directory value in the job matrix The second condition is entirely sufficient. The use of the first condition only added unnecessary complexity to the workflow code, and imposed a pointless limitation of only allowing the use of the custom working directory system on Windows runners. Removing the unnecessary condition makes the workflow easier to understand and maintain, and makes it possible to configure any job to use a custom working directory if necessary. --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c87567ff..1cc2a86bd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -378,7 +378,7 @@ jobs: CREATE_USERNAME: ${{ secrets.CREATE_USERNAME }} CREATE_PASSWORD: ${{ secrets.CREATE_PASSWORD }} CREATE_CLIENT_SECRET: ${{ secrets.CREATE_CLIENT_SECRET }} - working-directory: ${{ runner.os == 'Windows' && matrix.config.working-directory || './' }} + working-directory: ${{ matrix.config.working-directory || './' }} run: | # See: https://www.electron.build/code-signing if [ $CAN_SIGN = false ] || [ $IS_WINDOWS_CONFIG = true ]; then @@ -408,7 +408,7 @@ jobs: if: > needs.select-targets.outputs.merge-channel-files == 'true' && matrix.config.mergeable-channel-file == 'true' - working-directory: ${{ runner.os == 'Windows' && matrix.config.working-directory || './' }} + working-directory: ${{ matrix.config.working-directory || './' }} run: | staged_channel_files_path="${{ runner.temp }}/staged-channel-files" mkdir "$staged_channel_files_path" @@ -428,13 +428,13 @@ jobs: with: if-no-files-found: error name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} - path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.STAGED_CHANNEL_FILES_PATH) || env.STAGED_CHANNEL_FILES_PATH }} + path: ${{ matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.STAGED_CHANNEL_FILES_PATH) || env.STAGED_CHANNEL_FILES_PATH }} - name: Upload [GitHub Actions] uses: actions/upload-artifact@v3 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} - path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.BUILD_ARTIFACTS_PATH) || env.BUILD_ARTIFACTS_PATH }} + path: ${{ matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.BUILD_ARTIFACTS_PATH) || env.BUILD_ARTIFACTS_PATH }} - name: Manual Clean up for self-hosted runners if: runner.os == 'Windows' && matrix.config.working-directory From 43f0ccb250005b84a4f630e36771d13f1d5b3974 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 16 Nov 2024 05:12:25 -0800 Subject: [PATCH 35/87] Use appropriate indicator for dependency installation conditionals in build workflow The Windows builds of the application are cryptographically signed. The signing requires an "eToken" hardware authentication device be connected to the machine performing the signing. This means that it is necessary to use a self-hosted GitHub Actions runner for the Windows job of the build workflow rather than the runners hosted by GitHub. There are some unique characteristics of the self-hosted runner which the workflow code must accommodate. One of these is that, rather than installing dependencies of the build process during the workflow run as is done for the GitHub-hosted runners, the dependencies are preinstalled in the self-hosted runner machine. So the dependency installation steps must be configured so that they will be skipped when the job is running on the self-hosted runner. This is done by adding a conditional to the steps. Previously the conditional was based on the value of the `runner.os` context item. This is not an appropriate indicator of the job running on the self-hosted runner because `runner.os` will have the same value if the job was running on a GitHub-hosted Windows runner. That might seem like only a hypothetical problem since the workflow does not use a GitHub-hosted Windows runner. However, it is important to support the use of the workflow in forks of the repository. In addition to the possible value to hard forked projects, this is essential to allow conscientious contributors to test contributions to the build and release system in their own fork prior to submitting a pull request. The conditionals are changed to use the more appropriate indicator of the specific name of the self-hosted Windows runner (via the `runner.name` context item). --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1cc2a86bd..6b817e416 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -321,7 +321,7 @@ jobs: uses: actions/checkout@v3 - name: Install Node.js - if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' + if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} @@ -329,26 +329,26 @@ jobs: cache: 'yarn' - name: Install Python 3.x - if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' + if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' uses: actions/setup-python@v5 with: python-version: '3.11.x' - name: Install Go - if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' + if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} - name: Install Go # actions/setup-go@v5 has dependency on a higher version of glibc than available in the Linux container. - if: fromJSON(matrix.config.container) != null && runner.os != 'Windows' + if: fromJSON(matrix.config.container) != null && runner.name != 'WINDOWS-SIGN-PC' uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }} - name: Install Taskfile - if: fromJSON(matrix.config.container) == null && runner.os != 'Windows' + if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} @@ -356,7 +356,7 @@ jobs: - name: Install Taskfile # actions/setup-task@v2 has dependency on a higher version of glibc than available in the Linux container. - if: fromJSON(matrix.config.container) != null && runner.os != 'Windows' + if: fromJSON(matrix.config.container) != null && runner.name != 'WINDOWS-SIGN-PC' uses: arduino/setup-task@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} From 0fe0feace4b31b4fc8505cd01095a7d62b2a9777 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 16 Nov 2024 05:50:27 -0800 Subject: [PATCH 36/87] Get job-specific configuration from matrix in build workflow The "build" workflow builds the application for a range of target hosts. This is done by using a job matrix. A separate parallel job runs for each target. The target-specific configuration data is defined in the job matrix array. This configuration data includes the information related to the code signing certificates. Inexplicably, during the work to add support for signing the Windows builds with an "eToken" hardware authentication device, this data was not used for the Windows code signing configuration. Instead the certificate data was redundantly hardcoded into the workflow code. The Windows code signing certificate configuration is hereby changed to use the established flexible job configuration data system. This makes the workflow easier to understand and maintain. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b817e416..02de77393 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -288,8 +288,8 @@ jobs: # We are hardcoding the path for signtool because is not present on the windows PATH env var by default. # Keep in mind that this path could change when upgrading to a new runner version SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" - WIN_CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} - WIN_CERT_CONTAINER_NAME: ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }} + WIN_CERT_PASSWORD: ${{ secrets[matrix.config.certificate-password-secret] }} + WIN_CERT_CONTAINER_NAME: ${{ secrets[matrix.config.certificate-container] }} WIN_SIGNING_ENABLED: ${{ !github.event.pull_request.head.repo.fork }} strategy: From f72d1f0ac853681968d311d57ecf34e0d32f3d08 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 16 Nov 2024 05:54:59 -0800 Subject: [PATCH 37/87] Use appropriate indicator for Windows signing determination in build workflow The "build" workflow signs the Windows builds of the application. The signing process relies on access to GitHub Actions secrets. For this reason, the workflow is configured to only sign the builds when it has access to GitHub Actions secrets to avoid spurious failures of the workflow that would otherwise be caused by signing failure. Previously the signing was determined based on the value of the `github.event.pull_request.head.repo.fork` context item. That was effective for the use case of the workflow being triggered by a pull request from a fork (for security reasons, GitHub Actions does not give access to secrets under these conditions). However, there is another context under which the workflow might run without access to the signing secrets, for which the use of context item is not appropriate. It is important to support the use of the workflow in forks of the repository. In addition to the possible value to hard forked projects, this is essential to allow conscientious contributors to test contributions to the build and release system in their own fork prior to submitting a pull request. The previous configuration would cause a workflow run performed by a contributor in a fork to attempt to sign the Windows build. Unless the contributor had set up the ridiculously complex infrastructure required to perform the signing for the Windows build, which is utterly infeasible, this would cause the workflow to fail spuriously. The appropriate approach, which has been the established convention in the rest of the workflow code, is to use the secret itself when determining whether to attempt the signing process. If the secret is not defined (resulting in it having an empty string value), then the signing should be skipped. If it is defined, then the signing should be performed. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 02de77393..294284d48 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,7 @@ jobs: SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" WIN_CERT_PASSWORD: ${{ secrets[matrix.config.certificate-password-secret] }} WIN_CERT_CONTAINER_NAME: ${{ secrets[matrix.config.certificate-container] }} - WIN_SIGNING_ENABLED: ${{ !github.event.pull_request.head.repo.fork }} + WIN_SIGNING_ENABLED: ${{ secrets[matrix.config.certificate-password-secret] != '' }} strategy: matrix: From 4f8b9800a01d8599f334c1e6175e25f5b97a1d3d Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 16 Nov 2024 05:55:48 -0800 Subject: [PATCH 38/87] Remove redundant signing determination code from build system The "build" workflow signs the macOS and Windows builds of the application. The signing process relies on access to GitHub Actions secrets. For this reason, the workflow is configured to only sign the builds when it has access to GitHub Actions secrets to avoid spurious failures of the workflow that would otherwise be caused by signing failure. A flexible general purpose system for determining whether to attempt signing of a build was established years ago. However, a redundant system was added specific to the Windows build instead of using the existing system. The redundant system is hereby removed. This makes the workflow easier to understand and maintain. --- .github/workflows/build.yml | 1 - electron-app/scripts/windowsCustomSign.js | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 294284d48..b729931ce 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,6 @@ jobs: SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" WIN_CERT_PASSWORD: ${{ secrets[matrix.config.certificate-password-secret] }} WIN_CERT_CONTAINER_NAME: ${{ secrets[matrix.config.certificate-container] }} - WIN_SIGNING_ENABLED: ${{ secrets[matrix.config.certificate-password-secret] != '' }} strategy: matrix: diff --git a/electron-app/scripts/windowsCustomSign.js b/electron-app/scripts/windowsCustomSign.js index 41fc6d3b2..5e9585bc2 100644 --- a/electron-app/scripts/windowsCustomSign.js +++ b/electron-app/scripts/windowsCustomSign.js @@ -1,10 +1,7 @@ const childProcess = require('child_process'); exports.default = async function (configuration) { - if ( - !process.env.GITHUB_ACTIONS || - process.env.WIN_SIGNING_ENABLED !== 'true' - ) { + if (!process.env.GITHUB_ACTIONS || process.env.CAN_SIGN !== 'true') { return; } From 6e695429ccbc5b8e1f7d1e19d12885519060e28c Mon Sep 17 00:00:00 2001 From: per1234 Date: Sun, 17 Nov 2024 22:37:42 -0800 Subject: [PATCH 39/87] Use a dedicated GitHub Actions workflow for linting TypeScript/JavaScript code The "build" workflow builds the application for all supported targets, generates workflow artifacts from which the builds can be downloaded by users and beta testers, and publishes nightly and production releases. As if that wasn't enough, the workflow was also configured to perform the unrelated operation of linting the project's TypeScript and JavaScript code. This monolithic approach is harmful for multiple reasons: * Makes it difficult to interpret a failed workflow run * Unnecessarily adds a significant amount of extra content to the already extensive logs produced by the build process * Makes the build workflow more difficult to maintain * Increases the length of a build workflow run * Increases the impact of a spurious failure * Increases the turnaround time for contributors and maintainers to get feedback from the CI system The linting operation is hereby moved to a dedicated workflow, consistent with standard practices for Arduino Tooling projects. --- .github/workflows/build.yml | 1 - .github/workflows/check-javascript.yml | 88 ++++++++++++++++++++++++++ README.md | 1 + 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/check-javascript.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b729931ce..7c45d875d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -395,7 +395,6 @@ jobs: yarn --cwd arduino-ide-extension build yarn test yarn --cwd arduino-ide-extension test:slow - yarn --cwd arduino-ide-extension lint yarn --cwd electron-app rebuild yarn --cwd electron-app build diff --git a/.github/workflows/check-javascript.yml b/.github/workflows/check-javascript.yml new file mode 100644 index 000000000..23162a19e --- /dev/null +++ b/.github/workflows/check-javascript.yml @@ -0,0 +1,88 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-javascript-task.md +name: Check JavaScript + +env: + # See: https://github.com/actions/setup-node/#readme + NODE_VERSION: 18.17 + +# See: https://docs.github.com/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows +on: + create: + push: + paths: + - '.github/workflows/check-javascript.ya?ml' + - '**/.eslintignore' + - '**/.eslintrc*' + - '**/.npmrc' + - '**/package.json' + - '**/package-lock.json' + - '**/yarn.lock' + - '**.jsx?' + pull_request: + paths: + - '.github/workflows/check-javascript.ya?ml' + - '**/.eslintignore' + - '**/.eslintrc*' + - '**/.npmrc' + - '**/package.json' + - '**/package-lock.json' + - '**/yarn.lock' + - '**.jsx?' + workflow_dispatch: + repository_dispatch: + +jobs: + run-determination: + runs-on: ubuntu-latest + permissions: {} + outputs: + result: ${{ steps.determination.outputs.result }} + steps: + - name: Determine if the rest of the workflow should run + id: determination + run: | + RELEASE_BRANCH_REGEX="refs/heads/[0-9]+.[0-9]+.x" + # The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead. + if [[ + "${{ github.event_name }}" != "create" || + "${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX + ]]; then + # Run the other jobs. + RESULT="true" + else + # There is no need to run the other jobs. + RESULT="false" + fi + + echo "result=$RESULT" >> $GITHUB_OUTPUT + + check: + needs: run-determination + if: needs.run-determination.outputs.result == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + cache: yarn + node-version: ${{ env.NODE_VERSION }} + + - name: Install npm package dependencies + env: + # Avoid failure of @vscode/ripgrep installation due to GitHub API rate limiting: + # https://github.com/microsoft/vscode-ripgrep#github-api-limit-note + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + yarn install + + - name: Lint + run: | + yarn \ + --cwd arduino-ide-extension \ + lint diff --git a/README.md b/README.md index 68d635a94..666434d00 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ # Arduino IDE 2.x [![Arduino IDE](https://github.com/arduino/arduino-ide/workflows/Arduino%20IDE/badge.svg)](https://github.com/arduino/arduino-ide/actions?query=workflow%3A%22Arduino+IDE%22) +[![Check JavaScript status](https://github.com/arduino/arduino-ide/actions/workflows/check-javascript.yml/badge.svg)](https://github.com/arduino/arduino-ide/actions/workflows/check-javascript.yml) This repository contains the source code of the Arduino IDE 2.x. If you're looking for the old IDE, go to the [repository of the 1.x version](https://github.com/arduino/Arduino). From 9331d2ec0d625026b7b73edbe6f3ba8c75012f62 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sun, 17 Nov 2024 23:15:45 -0800 Subject: [PATCH 40/87] Use a dedicated GitHub Actions workflow for testing TypeScript/JavaScript code The "build" workflow builds the application for all supported targets, generates workflow artifacts from which the builds can be downloaded by users and beta testers, and publishes nightly and production releases. As if that wasn't enough, the workflow was also configured to perform the unrelated operation of running the project's test suites. This monolithic approach is harmful for multiple reasons: * Makes it difficult to interpret a failed workflow run * Unnecessarily adds a significant amount of extra content to the already extensive logs produced by the build process * Makes the build workflow more difficult to maintain * Increases the length of a build workflow run * Increases the impact of a spurious failure * Increases the turnaround time for contributors and maintainers to get feedback from the CI system The test run operation is hereby moved to a dedicated workflow, consistent with standard practices for Arduino Tooling projects. --- .github/workflows/build.yml | 8 -- .github/workflows/test-javascript.yml | 134 ++++++++++++++++++++++++++ README.md | 3 +- 3 files changed, 136 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/test-javascript.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7c45d875d..30194a433 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -372,11 +372,6 @@ jobs: IS_NIGHTLY: ${{ needs.build-type-determination.outputs.is-nightly }} IS_RELEASE: ${{ needs.build-type-determination.outputs.is-release }} CAN_SIGN: ${{ secrets[matrix.config.certificate-secret] != '' }} - # The CREATE_* environment vars are only used to run tests. These secrets are optional. Dependent tests will - # be skipped if not available. - CREATE_USERNAME: ${{ secrets.CREATE_USERNAME }} - CREATE_PASSWORD: ${{ secrets.CREATE_PASSWORD }} - CREATE_CLIENT_SECRET: ${{ secrets.CREATE_CLIENT_SECRET }} working-directory: ${{ matrix.config.working-directory || './' }} run: | # See: https://www.electron.build/code-signing @@ -393,9 +388,6 @@ jobs: yarn install --immutable yarn --cwd arduino-ide-extension build - yarn test - yarn --cwd arduino-ide-extension test:slow - yarn --cwd electron-app rebuild yarn --cwd electron-app build yarn --cwd electron-app package diff --git a/.github/workflows/test-javascript.yml b/.github/workflows/test-javascript.yml new file mode 100644 index 000000000..2ae001c7d --- /dev/null +++ b/.github/workflows/test-javascript.yml @@ -0,0 +1,134 @@ +name: Test JavaScript + +env: + # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml + GO_VERSION: '1.21' + # See: https://github.com/actions/setup-node/#readme + NODE_VERSION: 18.17 + +on: + push: + paths: + - ".github/workflows/test-javascript.ya?ml" + - "**/.mocharc.js" + - "**/.mocharc.jsonc?" + - "**/.mocharc.ya?ml" + - "**/package.json" + - "**/package-lock.json" + - "**/yarn.lock" + - "tests/testdata/**" + - "**/tsconfig.json" + - "**.[jt]sx?" + pull_request: + paths: + - ".github/workflows/test-javascript.ya?ml" + - "**/.mocharc.js" + - "**/.mocharc.jsonc?" + - "**/.mocharc.ya?ml" + - "**/package.json" + - "**/package-lock.json" + - "**/yarn.lock" + - "tests/testdata/**" + - "**/tsconfig.json" + - "**.[jt]sx?" + workflow_dispatch: + repository_dispatch: + +jobs: + run-determination: + runs-on: ubuntu-latest + permissions: {} + outputs: + result: ${{ steps.determination.outputs.result }} + steps: + - name: Determine if the rest of the workflow should run + id: determination + run: | + RELEASE_BRANCH_REGEX="refs/heads/[0-9]+.[0-9]+.x" + # The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead. + if [[ + "${{ github.event_name }}" != "create" || + "${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX + ]]; then + # Run the other jobs. + RESULT="true" + else + # There is no need to run the other jobs. + RESULT="false" + fi + + echo "result=$RESULT" >> $GITHUB_OUTPUT + + test: + name: test (${{ matrix.project.path }}, ${{ matrix.operating-system }}) + needs: run-determination + if: needs.run-determination.outputs.result == 'true' + runs-on: ${{ matrix.operating-system }} + defaults: + run: + shell: bash + permissions: + contents: read + + strategy: + fail-fast: false + matrix: + project: + - path: . + operating-system: + - macos-latest + - ubuntu-latest + - windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + cache: yarn + node-version: ${{ env.NODE_VERSION }} + + # See: https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisites + - name: Install Python + uses: actions/setup-python@v5 + with: + python-version: '3.11.x' + + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Install Taskfile + uses: arduino/setup-task@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + version: 3.x + + - name: Install npm package dependencies + env: + # Avoid failure of @vscode/ripgrep installation due to GitHub API rate limiting: + # https://github.com/microsoft/vscode-ripgrep#github-api-limit-note + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + yarn install + + - name: Compile TypeScript + run: | + yarn \ + --cwd arduino-ide-extension \ + build + + - name: Run tests + env: + # These secrets are optional. Dependent tests will be skipped if not available. + CREATE_USERNAME: ${{ secrets.CREATE_USERNAME }} + CREATE_PASSWORD: ${{ secrets.CREATE_PASSWORD }} + CREATE_CLIENT_SECRET: ${{ secrets.CREATE_CLIENT_SECRET }} + run: | + yarn test + yarn \ + --cwd arduino-ide-extension \ + test:slow diff --git a/README.md b/README.md index 666434d00..a7a88f491 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,9 @@ # Arduino IDE 2.x -[![Arduino IDE](https://github.com/arduino/arduino-ide/workflows/Arduino%20IDE/badge.svg)](https://github.com/arduino/arduino-ide/actions?query=workflow%3A%22Arduino+IDE%22) +[![Build status](https://github.com/arduino/arduino-ide/actions/workflows/build.yml/badge.svg)](https://github.com/arduino/arduino-ide/actions/workflows/build.yml) [![Check JavaScript status](https://github.com/arduino/arduino-ide/actions/workflows/check-javascript.yml/badge.svg)](https://github.com/arduino/arduino-ide/actions/workflows/check-javascript.yml) +[![Test JavaScript status](https://github.com/arduino/arduino-ide/actions/workflows/test-javascript.yml/badge.svg)](https://github.com/arduino/arduino-ide/actions/workflows/test-javascript.yml) This repository contains the source code of the Arduino IDE 2.x. If you're looking for the old IDE, go to the [repository of the 1.x version](https://github.com/arduino/Arduino). From 788017bb994b9d8fda04df33d7ad3b5feb4879fd Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 18 Nov 2024 01:09:27 -0800 Subject: [PATCH 41/87] Use a dedicated GitHub workflow to check for problems with Yarn configuration The "build" workflow builds the application for all supported targets, generates workflow artifacts from which the builds can be downloaded by users and beta testers, and publishes nightly and production releases. As if that wasn't enough, the workflow was also configured to check the sync of the Yarn lockfile. This monolithic approach is harmful for multiple reasons: * Makes it difficult to interpret a failed workflow run * Makes the build workflow more difficult to maintain * Increases the turnaround time for contributors and maintainers to get feedback from the CI system The sync check operation is hereby moved to a dedicated workflow, consistent with standard practices for Arduino Tooling projects. --- .github/workflows/build.yml | 2 +- .github/workflows/check-yarn.yml | 91 ++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/check-yarn.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 30194a433..cd93b347f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -385,7 +385,7 @@ jobs: fi npx node-gyp install - yarn install --immutable + yarn install yarn --cwd arduino-ide-extension build yarn --cwd electron-app rebuild diff --git a/.github/workflows/check-yarn.yml b/.github/workflows/check-yarn.yml new file mode 100644 index 000000000..3b2efe92c --- /dev/null +++ b/.github/workflows/check-yarn.yml @@ -0,0 +1,91 @@ +name: Check Yarn + +# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows +on: + create: + push: + paths: + - ".github/workflows/check-yarn.ya?ml" + - "**/.yarnrc" + - "**/package.json" + - "**/package-lock.json" + - "**/yarn.lock" + pull_request: + paths: + - ".github/workflows/check-yarn.ya?ml" + - "**/.yarnrc" + - "**/package.json" + - "**/package-lock.json" + - "**/yarn.lock" + schedule: + # Run every Tuesday at 8 AM UTC to catch breakage resulting from changes to the JSON schema. + - cron: "0 8 * * TUE" + workflow_dispatch: + repository_dispatch: + +jobs: + run-determination: + runs-on: ubuntu-latest + permissions: {} + outputs: + result: ${{ steps.determination.outputs.result }} + steps: + - name: Determine if the rest of the workflow should run + id: determination + run: | + RELEASE_BRANCH_REGEX="refs/heads/[0-9]+.[0-9]+.x" + # The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead. + if [[ + "${{ github.event_name }}" != "create" || + "${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX + ]]; then + # Run the other jobs. + RESULT="true" + else + # There is no need to run the other jobs. + RESULT="false" + fi + + echo "result=$RESULT" >> $GITHUB_OUTPUT + + check-sync: + name: check-sync (${{ matrix.project.path }}) + needs: run-determination + if: needs.run-determination.outputs.result == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + + strategy: + fail-fast: false + matrix: + project: + - path: . + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + cache: yarn + node-version: ${{ env.NODE_VERSION }} + + - name: Install npm package dependencies + env: + # Avoid failure of @vscode/ripgrep installation due to GitHub API rate limiting: + # https://github.com/microsoft/vscode-ripgrep#github-api-limit-note + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + yarn \ + install \ + --ignore-scripts + + - name: Check yarn.lock + run: | + git \ + diff \ + --color \ + --exit-code \ + "${{ matrix.project.path }}/yarn.lock" From f232010bec647763b7a1080d12f41befe5d7f972 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 18 Nov 2024 20:24:20 -0800 Subject: [PATCH 42/87] Correct eslint command in `lint` script The `lint` script of the "arduino-ide-extension" package is intended to use the ESLint linter tool to check for problems in all the package's JavaScript and TypeScript code files. It is used by the continuous integration system to validate contributions. Previously, the command invoked `eslint` without any arguments. With the 8.x version of ESLint used by the project, it is necessary to provide a path argument in order to cause it to lint the contents of files. Because that argument was not provided, the script didn't do anything at all and so would return a 0 exit status even if the code had linting rule violations. This is fixed by adding a `.` path argument to the command invoked by the script. This will cause ESLint to recurse through the `arduino-ide-extension` folder and lint the code in all relevant files. --- arduino-ide-extension/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index b97808e5f..5ef831049 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -13,7 +13,7 @@ "download-ls": "node ./scripts/download-ls.js", "download-examples": "node ./scripts/download-examples.js", "generate-protocol": "node ./scripts/generate-protocol.js", - "lint": "eslint", + "lint": "eslint .", "prebuild": "rimraf lib", "build": "tsc", "build:dev": "yarn build", From d377d000426c926d342d1b85567294761a7de78f Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 18 Nov 2024 20:47:10 -0800 Subject: [PATCH 43/87] Use appropriate equality operator in changelog script It is considered good practice to use JavaScript's type-safe strict equality operator === instead of the equality operator ==. Compliance with this practice is enforced by the project's ESLint configuration, via the "eqeqeq" rule. The script used to generate the changelog for Arduino IDE's auto-update dialog contained an inappropriate usage of the equality operator. This caused linting runs to fail: arduino-ide-extension/scripts/compose-changelog.js 37:19 error Expected '===' and instead saw '==' eqeqeq --- arduino-ide-extension/scripts/compose-changelog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arduino-ide-extension/scripts/compose-changelog.js b/arduino-ide-extension/scripts/compose-changelog.js index aba9dae46..f8a4c42ba 100755 --- a/arduino-ide-extension/scripts/compose-changelog.js +++ b/arduino-ide-extension/scripts/compose-changelog.js @@ -34,7 +34,7 @@ }, ''); const args = process.argv.slice(2); - if (args.length == 0) { + if (args.length === 0) { console.error('Missing argument to destination file'); process.exit(1); } From d6235f0a0ca2c7e4a02af8f67ce24c77ad8ecb09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Nov 2024 10:39:15 +0000 Subject: [PATCH 44/87] build(deps): Bump svenstaro/upload-release-action from 2.7.0 to 2.9.0 Bumps [svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action) from 2.7.0 to 2.9.0. - [Release notes](https://github.com/svenstaro/upload-release-action/releases) - [Changelog](https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/svenstaro/upload-release-action/compare/2.7.0...2.9.0) --- updated-dependencies: - dependency-name: svenstaro/upload-release-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cd93b347f..535298d8e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -629,7 +629,7 @@ jobs: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT - name: Publish Release [GitHub] - uses: svenstaro/upload-release-action@2.7.0 + uses: svenstaro/upload-release-action@2.9.0 with: repo_token: ${{ secrets.GITHUB_TOKEN }} release_name: ${{ steps.tag_name.outputs.TAG_NAME }} From 7c231fff76f45ffc3b7cd5e7175d458acbd6d3cc Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Thu, 21 Nov 2024 08:40:52 +0100 Subject: [PATCH 45/87] fix: memory leak when scanning sketchbooks with large files (#2555) Resolves https://github.com/arduino/arduino-ide/issues/2537 Fix memory leak issue caused by inflight dependency, see https://github.com/isaacs/node-glob/issues/435 --- arduino-ide-extension/package.json | 6 +- .../scripts/generate-protocol.js | 20 +- .../src/node/sketches-service-impl.ts | 30 +- electron-app/scripts/post-package.js | 2 +- yarn.lock | 280 ++++++++++++++---- 5 files changed, 244 insertions(+), 94 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 5ef831049..528dafcf2 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -73,7 +73,7 @@ "fast-safe-stringify": "^2.1.1", "filename-reserved-regex": "^2.0.0", "fqbn": "^1.0.5", - "glob": "^7.1.6", + "glob": "10.4.4", "google-protobuf": "^3.20.1", "hash.js": "^1.1.7", "is-online": "^10.0.0", @@ -127,8 +127,8 @@ "rimraf": "^2.6.1" }, "optionalDependencies": { - "grpc-tools": "^1.12.4", - "@pingghost/protoc": "^1.0.2" + "@pingghost/protoc": "^1.0.2", + "grpc-tools": "^1.12.4" }, "mocha": { "require": [ diff --git a/arduino-ide-extension/scripts/generate-protocol.js b/arduino-ide-extension/scripts/generate-protocol.js index f2b1ce8e8..9857e597f 100644 --- a/arduino-ide-extension/scripts/generate-protocol.js +++ b/arduino-ide-extension/scripts/generate-protocol.js @@ -5,7 +5,7 @@ const path = require('node:path'); const { mkdirSync, promises: fs, rmSync } = require('node:fs'); const { exec } = require('./utils'); - const glob = require('glob'); + const { glob } = require('glob'); const { SemVer, gte, valid: validSemVer } = require('semver'); // Use a node-protoc fork until apple arm32 is supported // https://github.com/YePpHa/node-protoc/pull/10 @@ -147,16 +147,14 @@ rmSync(out, { recursive: true, maxRetries: 5, force: true }); mkdirSync(out, { recursive: true }); - const protos = await new Promise((resolve) => - glob('**/*.proto', { cwd: rpc }, (error, matches) => { - if (error) { - console.log(error.stack ?? error.message); - resolve([]); - return; - } - resolve(matches.map((filename) => path.join(rpc, filename))); - }) - ); + let protos = []; + try { + const matches = await glob('**/*.proto', { cwd: rpc }); + protos = matches.map((filename) => path.join(rpc, filename)); + } catch (error) { + console.log(error.stack ?? error.message); + } + if (!protos || protos.length === 0) { console.log(`Could not find any .proto files under ${rpc}.`); process.exit(1); diff --git a/arduino-ide-extension/src/node/sketches-service-impl.ts b/arduino-ide-extension/src/node/sketches-service-impl.ts index 3a72c31d7..e219d80e9 100644 --- a/arduino-ide-extension/src/node/sketches-service-impl.ts +++ b/arduino-ide-extension/src/node/sketches-service-impl.ts @@ -8,7 +8,7 @@ import type { Mutable } from '@theia/core/lib/common/types'; import URI from '@theia/core/lib/common/uri'; import { FileUri } from '@theia/core/lib/node/file-uri'; import { inject, injectable, named } from '@theia/core/shared/inversify'; -import glob from 'glob'; +import { glob } from 'glob'; import crypto from 'node:crypto'; import { CopyOptions, @@ -853,13 +853,13 @@ export async function discoverSketches( container: Mutable, logger?: ILogger ): Promise { - const pathToAllSketchFiles = await globSketches( + const pathToAllSketchFiles = await glob( '/!(libraries|hardware)/**/*.{ino,pde}', - root + { root } ); // if no match try to glob the sketchbook as a sketch folder if (!pathToAllSketchFiles.length) { - pathToAllSketchFiles.push(...(await globSketches('/*.{ino,pde}', root))); + pathToAllSketchFiles.push(...(await glob('/*.{ino,pde}', { root }))); } // Sort by path length to filter out nested sketches, such as the `Nested_folder` inside the `Folder` sketch. @@ -873,7 +873,14 @@ export async function discoverSketches( // +--Nested_folder // | // +--Nested_folder.ino - pathToAllSketchFiles.sort((left, right) => left.length - right.length); + pathToAllSketchFiles.sort((left, right) => { + if (left.length === right.length) { + // Sort alphabetically for tests consistency + return left.localeCompare(right); + } + return left.length - right.length; + }); + const getOrCreateChildContainer = ( container: SketchContainer, segments: string[] @@ -974,17 +981,6 @@ export async function discoverSketches( uri: FileUri.create(path.dirname(pathToSketchFile)).toString(), }); } - return prune(container); -} -async function globSketches(pattern: string, root: string): Promise { - return new Promise((resolve, reject) => { - glob(pattern, { root }, (error, results) => { - if (error) { - reject(error); - } else { - resolve(results); - } - }); - }); + return prune(container); } diff --git a/electron-app/scripts/post-package.js b/electron-app/scripts/post-package.js index 23e837e4d..b346f558f 100644 --- a/electron-app/scripts/post-package.js +++ b/electron-app/scripts/post-package.js @@ -4,7 +4,7 @@ const isCI = require('is-ci'); const fs = require('fs'); const path = require('path'); -const glob = require('glob'); +const { glob } = require('glob'); const { isRelease } = require('./utils'); const { isZip, adjustArchiveStructure } = require('./archive'); diff --git a/yarn.lock b/yarn.lock index d0912ee7d..ae52d6e5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -938,7 +938,7 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.23.0", "@babel/traverse@^7.23.2": +"@babel/traverse@^7.23.0": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== @@ -1399,35 +1399,35 @@ semver "^7.3.5" tar "^6.1.11" -"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz#44d752c1a2dc113f15f781b7cc4f53a307e3fa38" - integrity sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ== +"@msgpackr-extract/msgpackr-extract-darwin-arm64@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.2.0.tgz#901c5937e1441572ea23e631fe6deca68482fe76" + integrity sha512-Z9LFPzfoJi4mflGWV+rv7o7ZbMU5oAU9VmzCgL240KnqDW65Y2HFCT3MW06/ITJSnbVLacmcEJA8phywK7JinQ== -"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz#f954f34355712212a8e06c465bc06c40852c6bb3" - integrity sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw== +"@msgpackr-extract/msgpackr-extract-darwin-x64@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.2.0.tgz#fb877fe6bae3c4d3cea29786737840e2ae689066" + integrity sha512-vq0tT8sjZsy4JdSqmadWVw6f66UXqUCabLmUVHZwUFzMgtgoIIQjT4VVRHKvlof3P/dMCkbMJ5hB1oJ9OWHaaw== -"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz#45c63037f045c2b15c44f80f0393fa24f9655367" - integrity sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg== +"@msgpackr-extract/msgpackr-extract-linux-arm64@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.2.0.tgz#986179c38b10ac41fbdaf7d036c825cbc72855d9" + integrity sha512-hlxxLdRmPyq16QCutUtP8Tm6RDWcyaLsRssaHROatgnkOxdleMTgetf9JsdncL8vLh7FVy/RN9i3XR5dnb9cRA== -"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz#35707efeafe6d22b3f373caf9e8775e8920d1399" - integrity sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA== +"@msgpackr-extract/msgpackr-extract-linux-arm@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.2.0.tgz#15f2c6fe9e0adc06c21af7e95f484ff4880d79ce" + integrity sha512-SaJ3Qq4lX9Syd2xEo9u3qPxi/OB+5JO/ngJKK97XDpa1C587H9EWYO6KD8995DAjSinWvdHKRrCOXVUC5fvGOg== -"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz#091b1218b66c341f532611477ef89e83f25fae4f" - integrity sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA== +"@msgpackr-extract/msgpackr-extract-linux-x64@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.2.0.tgz#30cae5c9a202f3e1fa1deb3191b18ffcb2f239a2" + integrity sha512-94y5PJrSOqUNcFKmOl7z319FelCLAE0rz/jPCWS+UtdMZvpa4jrQd+cJPQCLp2Fes1yAW/YUQj/Di6YVT3c3Iw== -"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz#0f164b726869f71da3c594171df5ebc1c4b0a407" - integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== +"@msgpackr-extract/msgpackr-extract-win32-x64@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.2.0.tgz#016d855b6bc459fd908095811f6826e45dd4ba64" + integrity sha512-XrC0JzsqQSvOyM3t04FMLO6z5gCuhPE6k4FXuLK5xf52ZbdvcFe1yBmo7meCew9B8G2f0T9iu9t3kfTYRYROgA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3195,6 +3195,11 @@ resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== +"@types/tough-cookie@^4.0.0": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + "@types/trusted-types@*": version "2.0.4" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.4.tgz#2b38784cd16957d3782e8e2b31c03bc1d13b4d65" @@ -4152,7 +4157,22 @@ available-typed-arrays@^1.0.6: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== -axios@^1.0.0, axios@^1.6.2, axios@^1.6.7: +axios-cookiejar-support@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/axios-cookiejar-support/-/axios-cookiejar-support-1.0.1.tgz#7b32af7d932508546c68b1fc5ba8f562884162e1" + integrity sha512-IZJxnAJ99XxiLqNeMOqrPbfR7fRyIfaoSLdPUf4AMQEGkH8URs0ghJK/xtqBsD+KsSr3pKl4DEQjCn834pHMig== + dependencies: + is-redirect "^1.0.0" + pify "^5.0.0" + +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +axios@^1.0.0: version "1.6.7" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== @@ -4593,6 +4613,17 @@ call-bind@^1.0.5: get-intrinsic "^1.2.3" set-function-length "^1.2.0" +call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -5624,6 +5655,15 @@ define-data-property@^1.1.2: gopd "^1.0.1" has-property-descriptors "^1.0.1" +define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" @@ -6172,6 +6212,13 @@ es-abstract@^1.22.1: unbox-primitive "^1.0.2" which-typed-array "^1.1.11" +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" @@ -6910,6 +6957,11 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== +follow-redirects@^1.14.0: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + follow-redirects@^1.15.4: version "1.15.5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" @@ -7173,7 +7225,7 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ has-proto "^1.0.1" has-symbols "^1.0.3" -get-intrinsic@^1.2.2, get-intrinsic@^1.2.3: +get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -7308,6 +7360,18 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +glob@10.4.4: + version "10.4.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.4.tgz#d60943feb6f8140522117e6576a923b715718380" + integrity sha512-XsOKvHsu38Xe19ZQupE6N/HENeHQBA05o3hV8labZZT2zYDg1+emxWHnc/Bm9AcCMPXfD6jt+QC7zC5JSFyumw== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + glob@7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -7565,6 +7629,13 @@ has-property-descriptors@^1.0.1: dependencies: get-intrinsic "^1.2.2" +has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + has-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" @@ -7983,7 +8054,7 @@ ip-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -ip@^2.0.0, ip@^2.0.1: +ip@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== @@ -8231,6 +8302,11 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw== + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -8398,6 +8474,15 @@ jackspeak@^2.3.5: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jake@^10.8.5: version "10.8.7" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" @@ -9042,6 +9127,11 @@ lowercase-keys@^3.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -9601,6 +9691,13 @@ minimatch@^9.0.0, minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -9684,6 +9781,11 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -9792,26 +9894,26 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msgpackr-extract@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d" - integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== +msgpackr-extract@^2.0.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-2.2.0.tgz#4bb749b58d9764cfdc0d91c7977a007b08e8f262" + integrity sha512-0YcvWSv7ZOGl9Od6Y5iJ3XnPww8O7WLcpYMDwX+PAA/uXLDtyw94PJv9GLQV/nnp3cWlDhMoyKZIQLrx33sWog== dependencies: - node-gyp-build-optional-packages "5.0.7" + node-gyp-build-optional-packages "5.0.3" optionalDependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" - -msgpackr@1.6.1, msgpackr@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.10.1.tgz#51953bb4ce4f3494f0c4af3f484f01cfbb306555" - integrity sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ== + "@msgpackr-extract/msgpackr-extract-darwin-arm64" "2.2.0" + "@msgpackr-extract/msgpackr-extract-darwin-x64" "2.2.0" + "@msgpackr-extract/msgpackr-extract-linux-arm" "2.2.0" + "@msgpackr-extract/msgpackr-extract-linux-arm64" "2.2.0" + "@msgpackr-extract/msgpackr-extract-linux-x64" "2.2.0" + "@msgpackr-extract/msgpackr-extract-win32-x64" "2.2.0" + +msgpackr@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.6.1.tgz#4f3c94d6a5b819b838ffc736eddaf60eba436d20" + integrity sha512-Je+xBEfdjtvA4bKaOv8iRhjC8qX2oJwpYH4f7JrG4uMVJVmnmkAT4pjKdbztKprGj3iwjcxPzb5umVZ02Qq3tA== optionalDependencies: - msgpackr-extract "^3.0.2" + msgpackr-extract "^2.0.2" multer@1.4.4-lts.1: version "1.4.4-lts.1" @@ -9852,14 +9954,16 @@ nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== -nano@^10.1.3, nano@^9.0.5: - version "10.1.3" - resolved "https://registry.yarnpkg.com/nano/-/nano-10.1.3.tgz#5cb1ad14add4c9c82d53a79159848dafa84e7a13" - integrity sha512-q/hKQJJH3FhkkuJ3ojbgDph2StlSXFBPNkpZBZlsvZDbuYfxKJ4VtunEeilthcZtuIplIk1zVX5o2RgKTUTO+Q== +nano@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/nano/-/nano-9.0.5.tgz#2b767819f612907a3ac09b21f2929d4097407262" + integrity sha512-fEAhwAdXh4hDDnC8cYJtW6D8ivOmpvFAqT90+zEuQREpRkzA/mJPcI4EKv15JUdajaqiLTXNoKK6PaRF+/06DQ== dependencies: - axios "^1.6.2" - node-abort-controller "^3.0.1" - qs "^6.11.0" + "@types/tough-cookie" "^4.0.0" + axios "^0.21.1" + axios-cookiejar-support "^1.0.1" + qs "^6.9.4" + tough-cookie "^4.0.0" nanoid@3.3.3: version "3.3.3" @@ -9940,11 +10044,6 @@ node-abi@^2.21.0, node-abi@^2.7.0: dependencies: semver "^5.4.1" -node-abort-controller@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - node-addon-api@^1.6.3: version "1.7.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" @@ -9995,10 +10094,10 @@ node-fetch@^3.2.10: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -node-gyp-build-optional-packages@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" - integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== +node-gyp-build-optional-packages@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" + integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== node-gyp-build@^4.2.1: version "4.6.1" @@ -10352,6 +10451,11 @@ object-inspect@^1.12.3, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + object-is@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" @@ -10645,6 +10749,11 @@ p-waterfall@2.1.1: dependencies: p-reduce "^2.0.0" +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + pacote@^15.2.0: version "15.2.0" resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.2.0.tgz#0f0dfcc3e60c7b39121b2ac612bf8596e95344d3" @@ -10804,6 +10913,14 @@ path-scurry@^1.10.1, path-scurry@^1.6.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -10858,7 +10975,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@5.0.0: +pify@5.0.0, pify@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== @@ -11235,6 +11352,13 @@ qs@^6.10.1, qs@^6.10.3, qs@^6.11.0: dependencies: side-channel "^1.0.4" +qs@^6.9.4: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + query-string@^7.0.1: version "7.1.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" @@ -12066,6 +12190,18 @@ set-function-length@^1.2.0: gopd "^1.0.1" has-property-descriptors "^1.0.1" +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + set-function-name@^2.0.0, set-function-name@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" @@ -12129,6 +12265,16 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + signal-exit@3.0.7, signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" @@ -12984,6 +13130,16 @@ token-types@^5.0.1: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" +tough-cookie@^4.0.0: + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + tough-cookie@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" From 41844c94702ace8217b45f6f58170c1dcde38fda Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Thu, 21 Nov 2024 08:41:26 +0100 Subject: [PATCH 46/87] feat: implement menu action to reload current board data (#2553) --- .../src/browser/boards/boards-data-store.ts | 24 +++++++++- .../browser/contributions/board-selection.ts | 44 +++++++++++++++++++ .../src/common/protocol/boards-service.ts | 5 ++- .../src/node/boards-service-impl.ts | 4 ++ i18n/en.json | 3 ++ 5 files changed, 77 insertions(+), 3 deletions(-) diff --git a/arduino-ide-extension/src/browser/boards/boards-data-store.ts b/arduino-ide-extension/src/browser/boards/boards-data-store.ts index 1c23fb38f..d4204c703 100644 --- a/arduino-ide-extension/src/browser/boards/boards-data-store.ts +++ b/arduino-ide-extension/src/browser/boards/boards-data-store.ts @@ -222,6 +222,20 @@ export class BoardsDataStore return data; } + async reloadBoardData(fqbn: string | undefined): Promise { + if (!fqbn) { + return; + } + const key = this.getStorageKey(fqbn); + const details = await this.loadBoardDetails(fqbn, true); + if (!details) { + return; + } + const data = createDataStoreEntry(details); + await this.storageService.setData(key, data); + this.fireChanged({ fqbn, data }); + } + async selectProgrammer({ fqbn, selectedProgrammer, @@ -299,9 +313,15 @@ export class BoardsDataStore return `.arduinoIDE-configOptions-${fqbn}`; } - async loadBoardDetails(fqbn: string): Promise { + async loadBoardDetails( + fqbn: string, + forceRefresh = false + ): Promise { try { - const details = await this.boardsService.getBoardDetails({ fqbn }); + const details = await this.boardsService.getBoardDetails({ + fqbn, + forceRefresh, + }); return details; } catch (err) { if ( diff --git a/arduino-ide-extension/src/browser/contributions/board-selection.ts b/arduino-ide-extension/src/browser/contributions/board-selection.ts index ddeda87bc..f9c2d2b36 100644 --- a/arduino-ide-extension/src/browser/contributions/board-selection.ts +++ b/arduino-ide-extension/src/browser/contributions/board-selection.ts @@ -20,6 +20,7 @@ import { } from '../../common/protocol'; import type { BoardList } from '../../common/protocol/board-list'; import { BoardsListWidget } from '../boards/boards-list-widget'; +import { BoardsDataStore } from '../boards/boards-data-store'; import { BoardsServiceProvider } from '../boards/boards-service-provider'; import { ArduinoMenus, @@ -39,6 +40,8 @@ export class BoardSelection extends SketchContribution { private readonly menuModelRegistry: MenuModelRegistry; @inject(NotificationCenter) private readonly notificationCenter: NotificationCenter; + @inject(BoardsDataStore) + private readonly boardsDataStore: BoardsDataStore; @inject(BoardsService) private readonly boardsService: BoardsService; @inject(BoardsServiceProvider) @@ -74,6 +77,29 @@ SN: ${SN} }); }, }); + + registry.registerCommand(BoardSelection.Commands.RELOAD_BOARD_DATA, { + execute: async () => { + const selectedFqbn = + this.boardsServiceProvider.boardList.boardsConfig.selectedBoard?.fqbn; + let message: string; + + if (selectedFqbn) { + await this.boardsDataStore.reloadBoardData(selectedFqbn); + message = nls.localize( + 'arduino/board/boardDataReloaded', + 'Board data reloaded.' + ); + } else { + message = nls.localize( + 'arduino/board/selectBoardToReload', + 'Please select a board first.' + ); + } + + this.messageService.info(message, { timeout: 2000 }); + }, + }); } override onStart(): void { @@ -151,6 +177,21 @@ SN: ${SN} ) ); + const reloadBoardData = { + commandId: BoardSelection.Commands.RELOAD_BOARD_DATA.id, + label: nls.localize('arduino/board/reloadBoardData', 'Reload Board Data'), + order: '102', + }; + this.menuModelRegistry.registerMenuAction( + ArduinoMenus.TOOLS__BOARD_SELECTION_GROUP, + reloadBoardData + ); + this.toDisposeBeforeMenuRebuild.push( + Disposable.create(() => + this.menuModelRegistry.unregisterMenuAction(reloadBoardData) + ) + ); + const getBoardInfo = { commandId: BoardSelection.Commands.GET_BOARD_INFO.id, label: nls.localize('arduino/board/getBoardInfo', 'Get Board Info'), @@ -361,5 +402,8 @@ SN: ${SN} export namespace BoardSelection { export namespace Commands { export const GET_BOARD_INFO: Command = { id: 'arduino-get-board-info' }; + export const RELOAD_BOARD_DATA: Command = { + id: 'arduino-reload-board-data', + }; } } diff --git a/arduino-ide-extension/src/common/protocol/boards-service.ts b/arduino-ide-extension/src/common/protocol/boards-service.ts index d76406216..a97dc9057 100644 --- a/arduino-ide-extension/src/common/protocol/boards-service.ts +++ b/arduino-ide-extension/src/common/protocol/boards-service.ts @@ -67,7 +67,10 @@ export interface BoardsService skipPostInstall?: boolean; }): Promise; getDetectedPorts(): Promise; - getBoardDetails(options: { fqbn: string }): Promise; + getBoardDetails(options: { + fqbn: string; + forceRefresh?: boolean; + }): Promise; getBoardPackage(options: { id: string /* TODO: change to PlatformIdentifier type? */; }): Promise; diff --git a/arduino-ide-extension/src/node/boards-service-impl.ts b/arduino-ide-extension/src/node/boards-service-impl.ts index ea77f8a5f..a5572a1f6 100644 --- a/arduino-ide-extension/src/node/boards-service-impl.ts +++ b/arduino-ide-extension/src/node/boards-service-impl.ts @@ -73,7 +73,11 @@ export class BoardsServiceImpl async getBoardDetails(options: { fqbn: string; + forceRefresh?: boolean; }): Promise { + if (options.forceRefresh) { + await this.refresh(); + } const coreClient = await this.coreClient; const { client, instance } = coreClient; const { fqbn } = options; diff --git a/i18n/en.json b/i18n/en.json index 22babc740..37c90e2e6 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "boards", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "Reselect later", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Select Board", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", From 4cf9909a0763c06284ad3e21a718871000e15f1e Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Thu, 21 Nov 2024 08:42:14 +0100 Subject: [PATCH 47/87] fix: retry compilation if grpc client needs to be reinitialized (#2548) * fix: use `Status` enum for status code in `ServiceError` type guards This change resolves the issue where the intersection of `ServiceError` error codes of type `number` resulted in the `never` type due to conflict between number and `State` enum if `StatusObject` * feat: add `isInvalidArgument` type guard to `ServiceError` * fix: retry compilation if grpc client needs to be reinitialized See https://github.com/arduino/arduino-ide/issues/2547 --- .../src/node/core-service-impl.ts | 115 ++++++++++++------ .../src/node/service-error.ts | 16 ++- 2 files changed, 91 insertions(+), 40 deletions(-) diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index b8eba0335..285c05f72 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -36,6 +36,7 @@ import { Instance } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb'; import { CompileRequest, CompileResponse, + InstanceNeedsReinitializationError, } from './cli-protocol/cc/arduino/cli/commands/v1/compile_pb'; import { Port as RpcPort } from './cli-protocol/cc/arduino/cli/commands/v1/port_pb'; import { @@ -89,48 +90,84 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { compileSummaryHandler ); const toDisposeOnFinally = new DisposableCollection(handler); + return new Promise((resolve, reject) => { - const call = client.compile(request); - if (cancellationToken) { - toDisposeOnFinally.push( - cancellationToken.onCancellationRequested(() => call.cancel()) + let hasRetried = false; + + const handleUnexpectedError = (error: Error) => { + console.error( + 'Unexpected error occurred while compiling the sketch.', + error ); - } - call - .on('data', handler.onData) - .on('error', (error) => { - if (!ServiceError.is(error)) { - console.error( - 'Unexpected error occurred while compiling the sketch.', - error - ); - reject(error); - return; - } - if (ServiceError.isCancel(error)) { - console.log(userAbort); - reject(UserAbortApplicationError()); - return; - } - const compilerErrors = tryParseError({ - content: handler.content, - sketch: options.sketch, - }); - const message = nls.localize( - 'arduino/compile/error', - 'Compilation error: {0}', - compilerErrors - .map(({ message }) => message) - .filter(notEmpty) - .shift() ?? error.details - ); - this.sendResponse( - error.details + '\n\n' + message, - OutputMessage.Severity.Error + reject(error); + }; + + const handleCancellationError = () => { + console.log(userAbort); + reject(UserAbortApplicationError()); + }; + + const handleInstanceNeedsReinitializationError = async ( + error: ServiceError & InstanceNeedsReinitializationError + ) => { + if (hasRetried) { + // If error persists, send the error message to the output + return parseAndSendErrorResponse(error); + } + + hasRetried = true; + await this.refresh(); + return startCompileStream(); + }; + + const parseAndSendErrorResponse = (error: ServiceError) => { + const compilerErrors = tryParseError({ + content: handler.content, + sketch: options.sketch, + }); + const message = nls.localize( + 'arduino/compile/error', + 'Compilation error: {0}', + compilerErrors + .map(({ message }) => message) + .filter(notEmpty) + .shift() ?? error.details + ); + this.sendResponse( + error.details + '\n\n' + message, + OutputMessage.Severity.Error + ); + reject(CoreError.VerifyFailed(message, compilerErrors)); + }; + + const handleError = async (error: Error) => { + if (!ServiceError.is(error)) return handleUnexpectedError(error); + if (ServiceError.isCancel(error)) return handleCancellationError(); + + if ( + ServiceError.isInstanceOf(error, InstanceNeedsReinitializationError) + ) { + return await handleInstanceNeedsReinitializationError(error); + } + + parseAndSendErrorResponse(error); + }; + + const startCompileStream = () => { + const call = client.compile(request); + if (cancellationToken) { + toDisposeOnFinally.push( + cancellationToken.onCancellationRequested(() => call.cancel()) ); - reject(CoreError.VerifyFailed(message, compilerErrors)); - }) - .on('end', resolve); + } + + call + .on('data', handler.onData) + .on('error', handleError) + .on('end', resolve); + }; + + startCompileStream(); }).finally(() => { toDisposeOnFinally.dispose(); if (!isCompileSummary(compileSummary)) { diff --git a/arduino-ide-extension/src/node/service-error.ts b/arduino-ide-extension/src/node/service-error.ts index 0b6021ff0..681896a03 100644 --- a/arduino-ide-extension/src/node/service-error.ts +++ b/arduino-ide-extension/src/node/service-error.ts @@ -1,7 +1,9 @@ import { Metadata, StatusObject } from '@grpc/grpc-js'; import { Status } from './cli-protocol/google/rpc/status_pb'; import { stringToUint8Array } from '../common/utils'; +import { Status as StatusCode } from '@grpc/grpc-js/build/src/constants'; import { ProgrammerIsRequiredForUploadError } from './cli-protocol/cc/arduino/cli/commands/v1/upload_pb'; +import { InstanceNeedsReinitializationError } from './cli-protocol/cc/arduino/cli/commands/v1/compile_pb'; type ProtoError = typeof ProgrammerIsRequiredForUploadError; const protoErrorsMap = new Map([ @@ -9,15 +11,27 @@ const protoErrorsMap = new Map([ 'cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError', ProgrammerIsRequiredForUploadError, ], + [ + 'cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError', + InstanceNeedsReinitializationError, + ], // handle other cli defined errors here ]); export type ServiceError = StatusObject & Error; export namespace ServiceError { - export function isCancel(arg: unknown): arg is ServiceError & { code: 1 } { + export function isCancel( + arg: unknown + ): arg is ServiceError & { code: StatusCode.CANCELLED } { return is(arg) && arg.code === 1; // https://grpc.github.io/grpc/core/md_doc_statuscodes.html } + export function isInvalidArgument( + arg: unknown + ): arg is ServiceError & { code: StatusCode.INVALID_ARGUMENT } { + return is(arg) && arg.code === 3; // https://grpc.github.io/grpc/core/md_doc_statuscodes.html + } + export function is(arg: unknown): arg is ServiceError { return arg instanceof Error && isStatusObject(arg); } From 3fc8474d71f134264ded9cf1cb06610e961a3178 Mon Sep 17 00:00:00 2001 From: dankeboy36 <111981763+dankeboy36@users.noreply.github.com> Date: Thu, 21 Nov 2024 08:43:04 +0100 Subject: [PATCH 48/87] fix: align `viewsWelcome` behavior to VS Code (#2543) * fix: align `viewsWelcome` behavior to VS Code Ref: eclipse-theia/theia#14309 Signed-off-by: dankeboy36 * fix: update change proposal from Theia as is Ref: arduino/arduino-ide#2543 Signed-off-by: dankeboy36 --------- Signed-off-by: dankeboy36 --- arduino-ide-extension/package.json | 1 + .../browser/arduino-ide-frontend-module.ts | 56 +++- .../theia/plugin-ext/tree-view-widget.tsx | 241 ++++++++++++++++++ .../src/node/arduino-ide-backend-module.ts | 11 +- .../theia/plugin-ext-vscode/scanner-vscode.ts | 44 ++++ 5 files changed, 351 insertions(+), 2 deletions(-) create mode 100644 arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx create mode 100644 arduino-ide-extension/src/node/theia/plugin-ext-vscode/scanner-vscode.ts diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 528dafcf2..de9c192ef 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -39,6 +39,7 @@ "@theia/outline-view": "1.41.0", "@theia/output": "1.41.0", "@theia/plugin-ext": "1.41.0", + "@theia/plugin-ext-vscode": "1.41.0", "@theia/preferences": "1.41.0", "@theia/scm": "1.41.0", "@theia/search-in-workspace": "1.41.0", diff --git a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts index 89b2b218d..2b170dd7b 100644 --- a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts +++ b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts @@ -1,5 +1,9 @@ import '../../src/browser/style/index.css'; -import { Container, ContainerModule } from '@theia/core/shared/inversify'; +import { + Container, + ContainerModule, + interfaces, +} from '@theia/core/shared/inversify'; import { WidgetFactory } from '@theia/core/lib/browser/widget-manager'; import { CommandContribution } from '@theia/core/lib/common/command'; import { bindViewContribution } from '@theia/core/lib/browser/shell/view-contribution'; @@ -53,6 +57,8 @@ import { DockPanelRenderer as TheiaDockPanelRenderer, TabBarRendererFactory, ContextMenuRenderer, + createTreeContainer, + TreeWidget, } from '@theia/core/lib/browser'; import { MenuContribution } from '@theia/core/lib/common/menu'; import { @@ -372,6 +378,15 @@ import { DebugSessionWidget } from '@theia/debug/lib/browser/view/debug-session- import { DebugConfigurationWidget } from './theia/debug/debug-configuration-widget'; import { DebugConfigurationWidget as TheiaDebugConfigurationWidget } from '@theia/debug/lib/browser/view/debug-configuration-widget'; import { DebugToolBar } from '@theia/debug/lib/browser/view/debug-toolbar-widget'; +import { + PluginTree, + PluginTreeModel, + TreeViewWidgetOptions, + VIEW_ITEM_CONTEXT_MENU, +} from '@theia/plugin-ext/lib/main/browser/view/tree-view-widget'; +import { TreeViewDecoratorService } from '@theia/plugin-ext/lib/main/browser/view/tree-view-decorator-service'; +import { PLUGIN_VIEW_DATA_FACTORY_ID } from '@theia/plugin-ext/lib/main/browser/view/plugin-view-registry'; +import { TreeViewWidget } from './theia/plugin-ext/tree-view-widget'; // Hack to fix copy/cut/paste issue after electron version update in Theia. // https://github.com/eclipse-theia/theia/issues/12487 @@ -1082,4 +1097,43 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { rebind(TheiaTerminalFrontendContribution).toService( TerminalFrontendContribution ); + + bindViewsWelcome_TheiaGH14309({ bind, widget: TreeViewWidget }); }); + +// Align the viewsWelcome rendering with VS Code (https://github.com/eclipse-theia/theia/issues/14309) +// Copied from Theia code but with customized TreeViewWidget with the customized viewsWelcome rendering +// https://github.com/eclipse-theia/theia/blob/0c5f69455d9ee355b1a7ca510ffa63d2b20f0c77/packages/plugin-ext/src/main/browser/plugin-ext-frontend-module.ts#L159-L181 +function bindViewsWelcome_TheiaGH14309({ + bind, + widget, +}: { + bind: interfaces.Bind; + widget: interfaces.Newable; +}) { + bind(WidgetFactory) + .toDynamicValue(({ container }) => ({ + id: PLUGIN_VIEW_DATA_FACTORY_ID, + createWidget: (options: TreeViewWidgetOptions) => { + const props = { + contextMenuPath: VIEW_ITEM_CONTEXT_MENU, + expandOnlyOnExpansionToggleClick: true, + expansionTogglePadding: 22, + globalSelection: true, + leftPadding: 8, + search: true, + multiSelect: options.multiSelect, + }; + const child = createTreeContainer(container, { + props, + tree: PluginTree, + model: PluginTreeModel, + widget, + decoratorService: TreeViewDecoratorService, + }); + child.bind(TreeViewWidgetOptions).toConstantValue(options); + return child.get(TreeWidget); + }, + })) + .inSingletonScope(); +} diff --git a/arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx b/arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx new file mode 100644 index 000000000..dc83272c2 --- /dev/null +++ b/arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx @@ -0,0 +1,241 @@ +import { LabelIcon } from '@theia/core/lib/browser/label-parser'; +import { OpenerService, open } from '@theia/core/lib/browser/opener-service'; +import { codicon } from '@theia/core/lib/browser/widgets/widget'; +import { DisposableCollection } from '@theia/core/lib/common/disposable'; +import { URI } from '@theia/core/lib/common/uri'; +import { inject, injectable } from '@theia/core/shared/inversify'; +import React from '@theia/core/shared/react'; +import { URI as CodeUri } from '@theia/core/shared/vscode-uri'; +import { TreeViewWidget as TheiaTreeViewWidget } from '@theia/plugin-ext/lib/main/browser/view/tree-view-widget'; + +// Copied back from https://github.com/eclipse-theia/theia/pull/14391 +// Remove the patching when Arduino uses Eclipse Theia >1.55.0 +// https://github.com/eclipse-theia/theia/blob/8d3c5a11af65448b6700bedd096f8d68f0675541/packages/core/src/browser/tree/tree-view-welcome-widget.tsx#L37-L54 +// https://github.com/eclipse-theia/theia/blob/8d3c5a11af65448b6700bedd096f8d68f0675541/packages/core/src/browser/tree/tree-view-welcome-widget.tsx#L146-L298 + +interface ViewWelcome { + readonly view: string; + readonly content: string; + readonly when?: string; + readonly enablement?: string; + readonly order: number; +} + +export interface IItem { + readonly welcomeInfo: ViewWelcome; + visible: boolean; +} + +export interface ILink { + readonly label: string; + readonly href: string; + readonly title?: string; +} + +type LinkedTextItem = string | ILink; + +@injectable() +export class TreeViewWidget extends TheiaTreeViewWidget { + @inject(OpenerService) + private readonly openerService: OpenerService; + + private readonly toDisposeBeforeUpdateViewWelcomeNodes = + new DisposableCollection(); + + protected override updateViewWelcomeNodes(): void { + this.viewWelcomeNodes = []; + this.toDisposeBeforeUpdateViewWelcomeNodes.dispose(); + const items = this.visibleItems.sort((a, b) => a.order - b.order); + + const enablementKeys: Set[] = []; + // the plugin-view-registry will push the changes when there is a change in the `when` prop which controls the visibility + // this listener is to update the enablement of the components in the view welcome + this.toDisposeBeforeUpdateViewWelcomeNodes.push( + this.contextService.onDidChange((event) => { + if (enablementKeys.some((keys) => event.affects(keys))) { + this.updateViewWelcomeNodes(); + this.update(); + } + }) + ); + // Note: VS Code does not support the `renderSecondaryButtons` prop in welcome content either. + for (const item of items) { + const { content } = item; + const enablement = isEnablementAware(item) ? item.enablement : undefined; + const itemEnablementKeys = enablement + ? this.contextService.parseKeys(enablement) + : undefined; + if (itemEnablementKeys) { + enablementKeys.push(itemEnablementKeys); + } + const lines = content.split('\n'); + + for (let line of lines) { + line = line.trim(); + + if (!line) { + continue; + } + + const linkedTextItems = this.parseLinkedText_patch14309(line); + + if ( + linkedTextItems.length === 1 && + typeof linkedTextItems[0] !== 'string' + ) { + const node = linkedTextItems[0]; + this.viewWelcomeNodes.push( + this.renderButtonNode_patch14309( + node, + this.viewWelcomeNodes.length, + enablement + ) + ); + } else { + const renderNode = (item: LinkedTextItem, index: number) => + typeof item == 'string' + ? this.renderTextNode_patch14309(item, index) + : this.renderLinkNode_patch14309(item, index, enablement); + + this.viewWelcomeNodes.push( +

+ {...linkedTextItems.flatMap(renderNode)} +

+ ); + } + } + } + } + + private renderButtonNode_patch14309( + node: ILink, + lineKey: string | number, + enablement: string | undefined + ): React.ReactNode { + return ( +
+ +
+ ); + } + + private renderTextNode_patch14309( + node: string, + textKey: string | number + ): React.ReactNode { + return ( + + {this.labelParser + .parse(node) + .map((segment, index) => + LabelIcon.is(segment) ? ( + + ) : ( + {segment} + ) + )} + + ); + } + + private renderLinkNode_patch14309( + node: ILink, + linkKey: string | number, + enablement: string | undefined + ): React.ReactNode { + return ( + this.openLinkOrCommand_patch14309(e, node.href)} + > + {node.label} + + ); + } + + private getLinkClassName_patch14309( + href: string, + enablement: string | undefined + ): string { + const classNames = ['theia-WelcomeViewCommandLink']; + // Only command-backed links can be disabled. All other, https:, file: remain enabled + if ( + href.startsWith('command:') && + !this.isEnabledClick_patch14309(enablement) + ) { + classNames.push('disabled'); + } + return classNames.join(' '); + } + + private isEnabledClick_patch14309(enablement: string | undefined): boolean { + return typeof enablement === 'string' + ? this.contextService.match(enablement) + : true; + } + + private openLinkOrCommand_patch14309 = ( + event: React.MouseEvent, + value: string + ): void => { + event.stopPropagation(); + + if (value.startsWith('command:')) { + const command = value.replace('command:', ''); + this.commands.executeCommand(command); + } else if (value.startsWith('file:')) { + const uri = value.replace('file:', ''); + open(this.openerService, new URI(CodeUri.file(uri).toString())); + } else { + this.windowService.openNewWindow(value, { external: true }); + } + }; + + private parseLinkedText_patch14309(text: string): LinkedTextItem[] { + const result: LinkedTextItem[] = []; + + const linkRegex = + /\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi; + let index = 0; + let match: RegExpExecArray | null; + + while ((match = linkRegex.exec(text))) { + if (match.index - index > 0) { + result.push(text.substring(index, match.index)); + } + + const [, label, href, , title] = match; + + if (title) { + result.push({ label, href, title }); + } else { + result.push({ label, href }); + } + + index = match.index + match[0].length; + } + + if (index < text.length) { + result.push(text.substring(index)); + } + + return result; + } +} + +interface EnablementAware { + readonly enablement: string | undefined; +} + +function isEnablementAware(arg: unknown): arg is EnablementAware { + return !!arg && typeof arg === 'object' && 'enablement' in arg; +} diff --git a/arduino-ide-extension/src/node/arduino-ide-backend-module.ts b/arduino-ide-extension/src/node/arduino-ide-backend-module.ts index 02d534044..4eb572b3b 100644 --- a/arduino-ide-extension/src/node/arduino-ide-backend-module.ts +++ b/arduino-ide-extension/src/node/arduino-ide-backend-module.ts @@ -116,12 +116,16 @@ import { MessagingContribution } from './theia/core/messaging-contribution'; import { MessagingService } from '@theia/core/lib/node/messaging/messaging-service'; import { HostedPluginReader } from './theia/plugin-ext/plugin-reader'; import { HostedPluginReader as TheiaHostedPluginReader } from '@theia/plugin-ext/lib/hosted/node/plugin-reader'; -import { PluginDeployer } from '@theia/plugin-ext/lib/common/plugin-protocol'; +import { + PluginDeployer, + PluginScanner, +} from '@theia/plugin-ext/lib/common/plugin-protocol'; import { LocalDirectoryPluginDeployerResolverWithFallback, PluginDeployer_GH_12064, } from './theia/plugin-ext/plugin-deployer'; import { SettingsReader } from './settings-reader'; +import { VsCodePluginScanner } from './theia/plugin-ext-vscode/scanner-vscode'; export default new ContainerModule((bind, unbind, isBound, rebind) => { bind(BackendApplication).toSelf().inSingletonScope(); @@ -410,6 +414,11 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { rebind(PluginDeployer).to(PluginDeployer_GH_12064).inSingletonScope(); bind(SettingsReader).toSelf().inSingletonScope(); + + // To read the enablement property of the viewsWelcome + // https://github.com/eclipse-theia/theia/issues/14309 + bind(VsCodePluginScanner).toSelf().inSingletonScope(); + rebind(PluginScanner).toService(VsCodePluginScanner); }); function bindChildLogger(bind: interfaces.Bind, name: string): void { diff --git a/arduino-ide-extension/src/node/theia/plugin-ext-vscode/scanner-vscode.ts b/arduino-ide-extension/src/node/theia/plugin-ext-vscode/scanner-vscode.ts new file mode 100644 index 000000000..0fd68c9b4 --- /dev/null +++ b/arduino-ide-extension/src/node/theia/plugin-ext-vscode/scanner-vscode.ts @@ -0,0 +1,44 @@ +import { injectable, postConstruct } from '@theia/core/shared/inversify'; +import { VsCodePluginScanner as TheiaVsCodePluginScanner } from '@theia/plugin-ext-vscode/lib/node/scanner-vscode'; +import { + PluginPackageViewWelcome, + ViewWelcome, +} from '@theia/plugin-ext/lib/common/plugin-protocol'; + +@injectable() +export class VsCodePluginScanner extends TheiaVsCodePluginScanner { + @postConstruct() + protected init(): void { + this['readViewWelcome'] = ( + rawViewWelcome: PluginPackageViewWelcome, + pluginViewsIds: string[] + ) => { + const result = { + view: rawViewWelcome.view, + content: rawViewWelcome.contents, + when: rawViewWelcome.when, + // if the plugin contributes Welcome view to its own view - it will be ordered first + order: + pluginViewsIds.findIndex((v) => v === rawViewWelcome.view) > -1 + ? 0 + : 1, + }; + return maybeSetEnablement(rawViewWelcome, result); + }; + } +} + +// This is not yet supported by Theia but available in Code (https://github.com/microsoft/vscode/issues/114304) +function maybeSetEnablement( + rawViewWelcome: PluginPackageViewWelcome, + result: ViewWelcome +) { + const enablement = + 'enablement' in rawViewWelcome && + typeof rawViewWelcome['enablement'] === 'string' && + rawViewWelcome['enablement']; + if (enablement) { + Object.assign(result, { enablement }); + } + return result; +} From 4189b086de8f0dcbe46b60b06de7c2060c00503a Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:13:28 +0100 Subject: [PATCH 49/87] fix: update `yarn.lock` --- yarn.lock | 273 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 173 insertions(+), 100 deletions(-) diff --git a/yarn.lock b/yarn.lock index ae52d6e5b..f70c3a914 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,6 +35,15 @@ "@babel/highlight" "^7.22.13" chalk "^2.4.2" +"@babel/code-frame@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" @@ -71,6 +80,17 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" + integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== + dependencies: + "@babel/parser" "^7.26.2" + "@babel/types" "^7.26.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -232,11 +252,21 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + "@babel/helper-validator-option@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" @@ -274,6 +304,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.25.9", "@babel/parser@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== + dependencies: + "@babel/types" "^7.26.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" @@ -938,6 +975,15 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" +"@babel/template@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/traverse@^7.23.0": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" @@ -954,6 +1000,19 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.23.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" + integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.4.4": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" @@ -963,6 +1022,14 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.25.9", "@babel/types@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" + integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@develar/schema-utils@~2.6.5": version "2.6.5" resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" @@ -1244,6 +1311,15 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" @@ -1254,6 +1330,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + "@jridgewell/source-map@^0.3.3": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" @@ -1275,6 +1356,14 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" @@ -1399,35 +1488,35 @@ semver "^7.3.5" tar "^6.1.11" -"@msgpackr-extract/msgpackr-extract-darwin-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.2.0.tgz#901c5937e1441572ea23e631fe6deca68482fe76" - integrity sha512-Z9LFPzfoJi4mflGWV+rv7o7ZbMU5oAU9VmzCgL240KnqDW65Y2HFCT3MW06/ITJSnbVLacmcEJA8phywK7JinQ== +"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz#9edec61b22c3082018a79f6d1c30289ddf3d9d11" + integrity sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw== -"@msgpackr-extract/msgpackr-extract-darwin-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.2.0.tgz#fb877fe6bae3c4d3cea29786737840e2ae689066" - integrity sha512-vq0tT8sjZsy4JdSqmadWVw6f66UXqUCabLmUVHZwUFzMgtgoIIQjT4VVRHKvlof3P/dMCkbMJ5hB1oJ9OWHaaw== +"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz#33677a275204898ad8acbf62734fc4dc0b6a4855" + integrity sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw== -"@msgpackr-extract/msgpackr-extract-linux-arm64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.2.0.tgz#986179c38b10ac41fbdaf7d036c825cbc72855d9" - integrity sha512-hlxxLdRmPyq16QCutUtP8Tm6RDWcyaLsRssaHROatgnkOxdleMTgetf9JsdncL8vLh7FVy/RN9i3XR5dnb9cRA== +"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz#19edf7cdc2e7063ee328403c1d895a86dd28f4bb" + integrity sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg== -"@msgpackr-extract/msgpackr-extract-linux-arm@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.2.0.tgz#15f2c6fe9e0adc06c21af7e95f484ff4880d79ce" - integrity sha512-SaJ3Qq4lX9Syd2xEo9u3qPxi/OB+5JO/ngJKK97XDpa1C587H9EWYO6KD8995DAjSinWvdHKRrCOXVUC5fvGOg== +"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz#94fb0543ba2e28766c3fc439cabbe0440ae70159" + integrity sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw== -"@msgpackr-extract/msgpackr-extract-linux-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.2.0.tgz#30cae5c9a202f3e1fa1deb3191b18ffcb2f239a2" - integrity sha512-94y5PJrSOqUNcFKmOl7z319FelCLAE0rz/jPCWS+UtdMZvpa4jrQd+cJPQCLp2Fes1yAW/YUQj/Di6YVT3c3Iw== +"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz#4a0609ab5fe44d07c9c60a11e4484d3c38bbd6e3" + integrity sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg== -"@msgpackr-extract/msgpackr-extract-win32-x64@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.2.0.tgz#016d855b6bc459fd908095811f6826e45dd4ba64" - integrity sha512-XrC0JzsqQSvOyM3t04FMLO6z5gCuhPE6k4FXuLK5xf52ZbdvcFe1yBmo7meCew9B8G2f0T9iu9t3kfTYRYROgA== +"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz#0aa5502d547b57abfc4ac492de68e2006e417242" + integrity sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3195,11 +3284,6 @@ resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== -"@types/tough-cookie@^4.0.0": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - "@types/trusted-types@*": version "2.0.4" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.4.tgz#2b38784cd16957d3782e8e2b31c03bc1d13b4d65" @@ -4157,21 +4241,6 @@ available-typed-arrays@^1.0.6: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== -axios-cookiejar-support@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/axios-cookiejar-support/-/axios-cookiejar-support-1.0.1.tgz#7b32af7d932508546c68b1fc5ba8f562884162e1" - integrity sha512-IZJxnAJ99XxiLqNeMOqrPbfR7fRyIfaoSLdPUf4AMQEGkH8URs0ghJK/xtqBsD+KsSr3pKl4DEQjCn834pHMig== - dependencies: - is-redirect "^1.0.0" - pify "^5.0.0" - -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - axios@^1.0.0: version "1.6.7" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" @@ -4181,6 +4250,15 @@ axios@^1.0.0: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.6.7, axios@^1.7.4: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + b4a@^1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" @@ -6957,16 +7035,16 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -follow-redirects@^1.14.0: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - follow-redirects@^1.15.4: version "1.15.5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== +follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + font-awesome@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" @@ -8054,7 +8132,7 @@ ip-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -ip@^2.0.0: +ip@^2.0.0, ip@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== @@ -8302,11 +8380,6 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw== - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -8589,6 +8662,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -9894,26 +9972,26 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msgpackr-extract@^2.0.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-2.2.0.tgz#4bb749b58d9764cfdc0d91c7977a007b08e8f262" - integrity sha512-0YcvWSv7ZOGl9Od6Y5iJ3XnPww8O7WLcpYMDwX+PAA/uXLDtyw94PJv9GLQV/nnp3cWlDhMoyKZIQLrx33sWog== +msgpackr-extract@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz#e9d87023de39ce714872f9e9504e3c1996d61012" + integrity sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA== dependencies: - node-gyp-build-optional-packages "5.0.3" + node-gyp-build-optional-packages "5.2.2" optionalDependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-darwin-x64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-arm" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-arm64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-linux-x64" "2.2.0" - "@msgpackr-extract/msgpackr-extract-win32-x64" "2.2.0" - -msgpackr@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.6.1.tgz#4f3c94d6a5b819b838ffc736eddaf60eba436d20" - integrity sha512-Je+xBEfdjtvA4bKaOv8iRhjC8qX2oJwpYH4f7JrG4uMVJVmnmkAT4pjKdbztKprGj3iwjcxPzb5umVZ02Qq3tA== + "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.3" + +msgpackr@1.6.1, msgpackr@^1.10.1: + version "1.11.2" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.11.2.tgz#4463b7f7d68f2e24865c395664973562ad24473d" + integrity sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g== optionalDependencies: - msgpackr-extract "^2.0.2" + msgpackr-extract "^3.0.2" multer@1.4.4-lts.1: version "1.4.4-lts.1" @@ -9954,16 +10032,14 @@ nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== -nano@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/nano/-/nano-9.0.5.tgz#2b767819f612907a3ac09b21f2929d4097407262" - integrity sha512-fEAhwAdXh4hDDnC8cYJtW6D8ivOmpvFAqT90+zEuQREpRkzA/mJPcI4EKv15JUdajaqiLTXNoKK6PaRF+/06DQ== +nano@^10.1.3, nano@^9.0.5: + version "10.1.4" + resolved "https://registry.yarnpkg.com/nano/-/nano-10.1.4.tgz#cb4cabd677733ddb81c88c1b8635101e2d84e926" + integrity sha512-bJOFIPLExIbF6mljnfExXX9Cub4W0puhDjVMp+qV40xl/DBvgKao7St4+6/GB6EoHZap7eFnrnx4mnp5KYgwJA== dependencies: - "@types/tough-cookie" "^4.0.0" - axios "^0.21.1" - axios-cookiejar-support "^1.0.1" - qs "^6.9.4" - tough-cookie "^4.0.0" + axios "^1.7.4" + node-abort-controller "^3.1.1" + qs "^6.13.0" nanoid@3.3.3: version "3.3.3" @@ -10044,6 +10120,11 @@ node-abi@^2.21.0, node-abi@^2.7.0: dependencies: semver "^5.4.1" +node-abort-controller@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + node-addon-api@^1.6.3: version "1.7.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" @@ -10094,10 +10175,12 @@ node-fetch@^3.2.10: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -node-gyp-build-optional-packages@5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" - integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== +node-gyp-build-optional-packages@5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz#522f50c2d53134d7f3a76cd7255de4ab6c96a3a4" + integrity sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw== + dependencies: + detect-libc "^2.0.1" node-gyp-build@^4.2.1: version "4.6.1" @@ -10975,7 +11058,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@5.0.0, pify@^5.0.0: +pify@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== @@ -11352,10 +11435,10 @@ qs@^6.10.1, qs@^6.10.3, qs@^6.11.0: dependencies: side-channel "^1.0.4" -qs@^6.9.4: - version "6.13.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" - integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== +qs@^6.13.0: + version "6.13.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.1.tgz#3ce5fc72bd3a8171b85c99b93c65dd20b7d1b16e" + integrity sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg== dependencies: side-channel "^1.0.6" @@ -13130,16 +13213,6 @@ token-types@^5.0.1: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" -tough-cookie@^4.0.0: - version "4.1.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" - integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - tough-cookie@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" From 8773bd67ab5f5c15a6b8dc3f2f9c6131533be5b5 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:47:24 +0100 Subject: [PATCH 50/87] fix: use missing `google` proto files in CLI --- .../scripts/generate-protocol.js | 159 +++++++++++------- 1 file changed, 102 insertions(+), 57 deletions(-) diff --git a/arduino-ide-extension/scripts/generate-protocol.js b/arduino-ide-extension/scripts/generate-protocol.js index 9857e597f..68a92c026 100644 --- a/arduino-ide-extension/scripts/generate-protocol.js +++ b/arduino-ide-extension/scripts/generate-protocol.js @@ -6,11 +6,10 @@ const { mkdirSync, promises: fs, rmSync } = require('node:fs'); const { exec } = require('./utils'); const { glob } = require('glob'); - const { SemVer, gte, valid: validSemVer } = require('semver'); + const { SemVer, gte, valid: validSemVer, gt } = require('semver'); // Use a node-protoc fork until apple arm32 is supported // https://github.com/YePpHa/node-protoc/pull/10 const protoc = path.dirname(require('@pingghost/protoc/protoc')); - const repository = await fs.mkdtemp(path.join(os.tmpdir(), 'arduino-cli-')); const { owner, repo, commitish } = (() => { const pkg = require(path.join(__dirname, '..', 'package.json')); @@ -57,11 +56,6 @@ return { owner, repo, commitish }; })(); - const url = `https://github.com/${owner}/${repo}.git`; - console.log(`>>> Cloning repository from '${url}'...`); - exec('git', ['clone', url, repository], { logStdout: true }); - console.log(`<<< Repository cloned.`); - const { platform } = process; const resourcesFolder = path.join( __dirname, @@ -87,59 +81,90 @@ // - `git-snapshot` for local build executed via `task build`. We do not do this. // - rest, we assume it is a valid semver and has the corresponding tagged code, we use the tag to generate the APIs from the `proto` files. /* - { - "Application": "arduino-cli", - "VersionString": "nightly-20210126", - "Commit": "079bb6c6", - "Status": "alpha", - "Date": "2021-01-26T01:46:31Z" - } - */ + { + "Application": "arduino-cli", + "VersionString": "nightly-20210126", + "Commit": "079bb6c6", + "Status": "alpha", + "Date": "2021-01-26T01:46:31Z" + } + */ const versionObject = JSON.parse(versionJson); - let version = versionObject.VersionString; - if (validSemVer(version)) { - // https://github.com/arduino/arduino-cli/pull/2374 - if (gte(new SemVer(version, { loose: true }), new SemVer('0.35.0-rc.1'))) { - version = `v${version}`; + const version = versionObject.VersionString; + + // Clone the repository and check out the tagged version + // Return folder with proto files + async function getProtoPath(forceCliVersion) { + const repository = await fs.mkdtemp(path.join(os.tmpdir(), 'arduino-cli-')); + + const url = `https://github.com/${owner}/${repo}.git`; + console.log(`>>> Cloning repository from '${url}'...`); + exec('git', ['clone', url, repository], { logStdout: true }); + console.log(`<<< Repository cloned.`); + + let cliVersion = forceCliVersion || version; + if (validSemVer(cliVersion)) { + // https://github.com/arduino/arduino-cli/pull/2374 + if ( + gte(new SemVer(version, { loose: true }), new SemVer('0.35.0-rc.1')) + ) { + cliVersion = `v${cliVersion}`; + } + console.log(`>>> Checking out tagged version: '${cliVersion}'...`); + exec('git', ['-C', repository, 'fetch', '--all', '--tags'], { + logStdout: true, + }); + exec( + 'git', + ['-C', repository, 'checkout', `tags/${cliVersion}`, '-b', cliVersion], + { logStdout: true } + ); + console.log(`<<< Checked out tagged version: '${cliVersion}'.`); + } else if (forceCliVersion) { + console.log(`WARN: invalid semver: '${forceCliVersion}'.`); + // If the forced version is invalid, do not proceed with fallbacks. + return undefined; + } else if (commitish) { + console.log( + `>>> Checking out commitish from 'package.json': '${commitish}'...` + ); + exec('git', ['-C', repository, 'checkout', commitish], { + logStdout: true, + }); + console.log( + `<<< Checked out commitish from 'package.json': '${commitish}'.` + ); + } else if (versionObject.Commit) { + console.log( + `>>> Checking out commitish from the CLI: '${versionObject.Commit}'...` + ); + exec('git', ['-C', repository, 'checkout', versionObject.Commit], { + logStdout: true, + }); + console.log( + `<<< Checked out commitish from the CLI: '${versionObject.Commit}'.` + ); + } else { + console.log( + `WARN: no 'git checkout'. Generating from the HEAD revision.` + ); } - console.log(`>>> Checking out tagged version: '${version}'...`); - exec('git', ['-C', repository, 'fetch', '--all', '--tags'], { - logStdout: true, - }); - exec( - 'git', - ['-C', repository, 'checkout', `tags/${version}`, '-b', version], - { logStdout: true } - ); - console.log(`<<< Checked out tagged version: '${version}'.`); - } else if (commitish) { - console.log( - `>>> Checking out commitish from 'package.json': '${commitish}'...` - ); - exec('git', ['-C', repository, 'checkout', commitish], { logStdout: true }); - console.log( - `<<< Checked out commitish from 'package.json': '${commitish}'.` - ); - } else if (versionObject.Commit) { - console.log( - `>>> Checking out commitish from the CLI: '${versionObject.Commit}'...` - ); - exec('git', ['-C', repository, 'checkout', versionObject.Commit], { - logStdout: true, - }); - console.log( - `<<< Checked out commitish from the CLI: '${versionObject.Commit}'.` - ); - } else { - console.log(`WARN: no 'git checkout'. Generating from the HEAD revision.`); + + return path.join(repository, 'rpc'); + } + + const protoPath = await getProtoPath(); + + if (!protoPath) { + console.log(`Could not find the proto files folder.`); + process.exit(1); } console.log('>>> Generating TS/JS API from:'); - exec('git', ['-C', repository, 'rev-parse', '--abbrev-ref', 'HEAD'], { + exec('git', ['-C', protoPath, 'rev-parse', '--abbrev-ref', 'HEAD'], { logStdout: true, }); - const rpc = path.join(repository, 'rpc'); const out = path.join(__dirname, '..', 'src', 'node', 'cli-protocol'); // Must wipe the gen output folder. Otherwise, dangling service implementation remain in IDE2 code, // although it has been removed from the proto file. @@ -147,16 +172,36 @@ rmSync(out, { recursive: true, maxRetries: 5, force: true }); mkdirSync(out, { recursive: true }); + if (gt(new SemVer(version, { loose: true }), new SemVer('1.0.4'))) { + // Patch for https://github.com/arduino/arduino-cli/issues/2755 + // Credit https://github.com/dankeboy36/ardunno-cli-gen/pull/9/commits/64a5ac89aae605249261c8ceff7255655ecfafca + // Download the 1.0.4 version and use the missing google/rpc/status.proto file. + console.log('<<< Generating missing google proto files'); + const v104ProtoPath = await getProtoPath('1.0.4'); + if (!v104ProtoPath) { + console.log(`Could not find the proto files folder for version 1.0.4.`); + process.exit(1); + } + await fs.cp( + path.join(v104ProtoPath, 'google'), + path.join(protoPath, 'google'), + { + recursive: true, + } + ); + console.log(`>>> Generated missing google file`); + } + let protos = []; try { - const matches = await glob('**/*.proto', { cwd: rpc }); - protos = matches.map((filename) => path.join(rpc, filename)); + const matches = await glob('**/*.proto', { cwd: protoPath }); + protos = matches.map((filename) => path.join(protoPath, filename)); } catch (error) { console.log(error.stack ?? error.message); } if (!protos || protos.length === 0) { - console.log(`Could not find any .proto files under ${rpc}.`); + console.log(`Could not find any .proto files under ${protoPath}.`); process.exit(1); } @@ -167,7 +212,7 @@ `--js_out=import_style=commonjs,binary:${out}`, `--grpc_out=generate_package_definition:${out}`, '-I', - rpc, + protoPath, ...protos, ], { logStdout: true } @@ -186,7 +231,7 @@ )}`, `--ts_out=generate_package_definition:${out}`, '-I', - rpc, + protoPath, ...protos, ], { logStdout: true } From d1065886efd7f1867b289c51797a98a3f428a395 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:51:54 +0100 Subject: [PATCH 51/87] feat: use Arduino CLI 1.1.0 --- arduino-ide-extension/package.json | 2 +- .../src/browser/contributions/debug.ts | 4 +- .../src/common/protocol/sketches-service.ts | 3 +- .../cli/commands/v1/commands_grpc_pb.d.ts | 8 +- .../cli/commands/v1/commands_grpc_pb.js | 52 +- .../arduino/cli/commands/v1/commands_pb.d.ts | 8 +- .../cc/arduino/cli/commands/v1/commands_pb.js | 16 +- .../cc/arduino/cli/commands/v1/common_pb.d.ts | 63 +++ .../cc/arduino/cli/commands/v1/common_pb.js | 530 +++++++++++++++++- .../cc/arduino/cli/commands/v1/debug_pb.d.ts | 10 + .../cc/arduino/cli/commands/v1/debug_pb.js | 120 +++- .../arduino/cli/commands/v1/monitor_pb.d.ts | 63 +-- .../cc/arduino/cli/commands/v1/monitor_pb.js | 394 +------------ .../cc/arduino/cli/commands/v1/upload_pb.d.ts | 15 + .../cc/arduino/cli/commands/v1/upload_pb.js | 180 +++++- .../src/node/monitor-service.ts | 6 +- .../src/node/sketches-service-impl.ts | 79 ++- .../test/node/core-service-impl.slow-test.ts | 2 +- 18 files changed, 1035 insertions(+), 520 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index de9c192ef..d900bfbfb 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -171,7 +171,7 @@ ], "arduino": { "arduino-cli": { - "version": "1.0.4" + "version": "1.1.0" }, "arduino-fwuploader": { "version": "2.4.1" diff --git a/arduino-ide-extension/src/browser/contributions/debug.ts b/arduino-ide-extension/src/browser/contributions/debug.ts index e94755c46..93dd2aa51 100644 --- a/arduino-ide-extension/src/browser/contributions/debug.ts +++ b/arduino-ide-extension/src/browser/contributions/debug.ts @@ -289,8 +289,8 @@ export class Debug ): Promise { if (err instanceof Error) { try { - const tempBuildPaths = await this.sketchesService.tempBuildPath(sketch); - return tempBuildPaths.some((tempBuildPath) => + const buildPaths = await this.sketchesService.getBuildPath(sketch); + return buildPaths.some((tempBuildPath) => err.message.includes(tempBuildPath) ); } catch { diff --git a/arduino-ide-extension/src/common/protocol/sketches-service.ts b/arduino-ide-extension/src/common/protocol/sketches-service.ts index 4cc253d79..fa009e22f 100644 --- a/arduino-ide-extension/src/common/protocol/sketches-service.ts +++ b/arduino-ide-extension/src/common/protocol/sketches-service.ts @@ -141,13 +141,14 @@ export interface SketchesService { /** * This is the JS/TS re-implementation of [`GenBuildPath`](https://github.com/arduino/arduino-cli/blob/c0d4e4407d80aabad81142693513b3306759cfa6/arduino/sketch/sketch.go#L296-L306) of the CLI. * Pass in a sketch and get the build temporary folder filesystem path calculated from the main sketch file location. Can be multiple ones. This method does not check the existence of the sketch. + * Since CLI v1.1.0 the default sketch folder is the os user cache dir. See https://github.com/arduino/arduino-cli/pull/2673/commits/d2ffeb06ca6360a211d5aa7ddd11505212ffb1b9 * * The case sensitivity of the drive letter on Windows matters when the CLI calculates the MD5 hash of the temporary build folder. * IDE2 does not know and does not want to rely on how the CLI treats the paths: with lowercase or uppercase drive letters. * Hence, IDE2 has to provide multiple build paths on Windows. This hack will be obsolete when the CLI can provide error codes: * https://github.com/arduino/arduino-cli/issues/1762. */ - tempBuildPath(sketch: SketchRef): Promise; + getBuildPath(sketch: SketchRef): Promise; } export interface SketchRef { diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts index 993a3cd0f..c267fec60 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts @@ -6,16 +6,16 @@ import * as grpc from "@grpc/grpc-js"; import * as cc_arduino_cli_commands_v1_commands_pb from "../../../../../cc/arduino/cli/commands/v1/commands_pb"; -import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb"; -import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb"; import * as cc_arduino_cli_commands_v1_board_pb from "../../../../../cc/arduino/cli/commands/v1/board_pb"; +import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb"; import * as cc_arduino_cli_commands_v1_compile_pb from "../../../../../cc/arduino/cli/commands/v1/compile_pb"; import * as cc_arduino_cli_commands_v1_core_pb from "../../../../../cc/arduino/cli/commands/v1/core_pb"; import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/cli/commands/v1/debug_pb"; -import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb"; -import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb"; import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb"; +import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb"; import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb"; +import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb"; +import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb"; interface IArduinoCoreServiceService extends grpc.ServiceDefinition { create: IArduinoCoreServiceService_ICreate; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js index 4decb58e0..17ea5b8c4 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js @@ -19,16 +19,16 @@ // 'use strict'; var cc_arduino_cli_commands_v1_commands_pb = require('../../../../../cc/arduino/cli/commands/v1/commands_pb.js'); -var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js'); -var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js'); var cc_arduino_cli_commands_v1_board_pb = require('../../../../../cc/arduino/cli/commands/v1/board_pb.js'); +var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js'); var cc_arduino_cli_commands_v1_compile_pb = require('../../../../../cc/arduino/cli/commands/v1/compile_pb.js'); var cc_arduino_cli_commands_v1_core_pb = require('../../../../../cc/arduino/cli/commands/v1/core_pb.js'); var cc_arduino_cli_commands_v1_debug_pb = require('../../../../../cc/arduino/cli/commands/v1/debug_pb.js'); -var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js'); -var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js'); var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js'); +var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js'); var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/cli/commands/v1/settings_pb.js'); +var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js'); +var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js'); function serialize_cc_arduino_cli_commands_v1_ArchiveSketchRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.ArchiveSketchRequest)) { @@ -1109,9 +1109,9 @@ function deserialize_cc_arduino_cli_commands_v1_ZipLibraryInstallResponse(buffer } -// The main Arduino Platform service API +// The main Arduino Platform service API. var ArduinoCoreServiceService = exports['cc.arduino.cli.commands.v1.ArduinoCoreService'] = { - // Create a new Arduino Core instance + // Create a new Arduino Core instance. create: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Create', requestStream: false, @@ -1124,7 +1124,7 @@ create: { responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CreateResponse, }, // Initializes an existing Arduino Core instance by loading platforms and -// libraries +// libraries. init: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Init', requestStream: false, @@ -1136,7 +1136,7 @@ init: { responseSerialize: serialize_cc_arduino_cli_commands_v1_InitResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_InitResponse, }, - // Destroy an instance of the Arduino Core Service + // Destroy an instance of the Arduino Core Service. destroy: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Destroy', requestStream: false, @@ -1148,7 +1148,7 @@ destroy: { responseSerialize: serialize_cc_arduino_cli_commands_v1_DestroyResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_DestroyResponse, }, - // Update package index of the Arduino Core Service + // Update package index of the Arduino Core Service. updateIndex: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateIndex', requestStream: false, @@ -1160,7 +1160,7 @@ updateIndex: { responseSerialize: serialize_cc_arduino_cli_commands_v1_UpdateIndexResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_UpdateIndexResponse, }, - // Update libraries index + // Update libraries index. updateLibrariesIndex: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateLibrariesIndex', requestStream: false, @@ -1184,7 +1184,7 @@ version: { responseSerialize: serialize_cc_arduino_cli_commands_v1_VersionResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_VersionResponse, }, - // Create a new Sketch + // Create a new Sketch. newSketch: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/NewSketch', requestStream: false, @@ -1196,7 +1196,7 @@ newSketch: { responseSerialize: serialize_cc_arduino_cli_commands_v1_NewSketchResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_NewSketchResponse, }, - // Returns all files composing a Sketch + // Returns all files composing a Sketch. loadSketch: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/LoadSketch', requestStream: false, @@ -1208,7 +1208,7 @@ loadSketch: { responseSerialize: serialize_cc_arduino_cli_commands_v1_LoadSketchResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_LoadSketchResponse, }, - // Creates a zip file containing all files of specified Sketch + // Creates a zip file containing all files of specified Sketch. archiveSketch: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ArchiveSketch', requestStream: false, @@ -1234,10 +1234,7 @@ setSketchDefaults: { responseSerialize: serialize_cc_arduino_cli_commands_v1_SetSketchDefaultsResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SetSketchDefaultsResponse, }, - // BOARD COMMANDS -// -------------- -// -// Requests details about a board + // Requests details about a board. boardDetails: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardDetails', requestStream: false, @@ -1469,7 +1466,7 @@ libraryUpgrade: { responseSerialize: serialize_cc_arduino_cli_commands_v1_LibraryUpgradeResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_LibraryUpgradeResponse, }, - // Install a library from a Zip File + // Install a library from a Zip File. zipLibraryInstall: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ZipLibraryInstall', requestStream: false, @@ -1481,7 +1478,7 @@ zipLibraryInstall: { responseSerialize: serialize_cc_arduino_cli_commands_v1_ZipLibraryInstallResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ZipLibraryInstallResponse, }, - // Download and install a library from a git url + // Download and install a library from a git url. gitLibraryInstall: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/GitLibraryInstall', requestStream: false, @@ -1554,7 +1551,7 @@ libraryList: { responseSerialize: serialize_cc_arduino_cli_commands_v1_LibraryListResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_LibraryListResponse, }, - // Open a monitor connection to a board port + // Open a monitor connection to a board port. monitor: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Monitor', requestStream: true, @@ -1566,7 +1563,7 @@ monitor: { responseSerialize: serialize_cc_arduino_cli_commands_v1_MonitorResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_MonitorResponse, }, - // Returns the parameters that can be set in the MonitorRequest calls + // Returns the parameters that can be set in the MonitorRequest calls. enumerateMonitorPortSettings: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/EnumerateMonitorPortSettings', requestStream: false, @@ -1638,7 +1635,7 @@ cleanDownloadCacheDirectory: { responseSerialize: serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse, }, - // Writes the settings currently stored in memory in a YAML file + // Writes the settings currently stored in memory in a YAML file. configurationSave: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationSave', requestStream: false, @@ -1650,7 +1647,7 @@ configurationSave: { responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse, }, - // Read the settings from a YAML file + // Read the settings from a YAML file. configurationOpen: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationOpen', requestStream: false, @@ -1662,7 +1659,8 @@ configurationOpen: { responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse, }, - configurationGet: { + // Get the current configuration. +configurationGet: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationGet', requestStream: false, responseStream: false, @@ -1673,7 +1671,7 @@ configurationOpen: { responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse, }, - // Enumerate all the keys/values pairs available in the configuration + // Enumerate all the keys/values pairs available in the configuration. settingsEnumerate: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsEnumerate', requestStream: false, @@ -1685,7 +1683,7 @@ settingsEnumerate: { responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse, }, - // Get a single configuration value + // Get a single configuration value. settingsGetValue: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue', requestStream: false, @@ -1697,7 +1695,7 @@ settingsGetValue: { responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse, }, - // Set a single configuration value + // Set a single configuration value. settingsSetValue: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue', requestStream: false, diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts index 53107cc5a..f8f4155ca 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts @@ -5,16 +5,16 @@ /* eslint-disable */ import * as jspb from "google-protobuf"; -import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb"; -import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb"; import * as cc_arduino_cli_commands_v1_board_pb from "../../../../../cc/arduino/cli/commands/v1/board_pb"; +import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb"; import * as cc_arduino_cli_commands_v1_compile_pb from "../../../../../cc/arduino/cli/commands/v1/compile_pb"; import * as cc_arduino_cli_commands_v1_core_pb from "../../../../../cc/arduino/cli/commands/v1/core_pb"; import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/cli/commands/v1/debug_pb"; -import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb"; -import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb"; import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb"; +import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb"; import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb"; +import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb"; +import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb"; export class CreateRequest extends jspb.Message { diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js index b3ba4786b..447cb5f9c 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js @@ -21,26 +21,26 @@ var global = (function() { return Function('return this')(); }.call(null)); -var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js'); -goog.object.extend(proto, google_rpc_status_pb); -var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js'); -goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb); var cc_arduino_cli_commands_v1_board_pb = require('../../../../../cc/arduino/cli/commands/v1/board_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_board_pb); +var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js'); +goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb); var cc_arduino_cli_commands_v1_compile_pb = require('../../../../../cc/arduino/cli/commands/v1/compile_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_compile_pb); var cc_arduino_cli_commands_v1_core_pb = require('../../../../../cc/arduino/cli/commands/v1/core_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_core_pb); var cc_arduino_cli_commands_v1_debug_pb = require('../../../../../cc/arduino/cli/commands/v1/debug_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_debug_pb); -var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js'); -goog.object.extend(proto, cc_arduino_cli_commands_v1_monitor_pb); -var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js'); -goog.object.extend(proto, cc_arduino_cli_commands_v1_upload_pb); var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_lib_pb); +var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js'); +goog.object.extend(proto, cc_arduino_cli_commands_v1_monitor_pb); var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/cli/commands/v1/settings_pb.js'); goog.object.extend(proto, cc_arduino_cli_commands_v1_settings_pb); +var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js'); +goog.object.extend(proto, cc_arduino_cli_commands_v1_upload_pb); +var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js'); +goog.object.extend(proto, google_rpc_status_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest', null, global); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts index 5cfa42a8a..114e96560 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts @@ -471,6 +471,11 @@ export class Sketch extends jspb.Message { getDefaultProgrammer(): string; setDefaultProgrammer(value: string): Sketch; + hasDefaultPortConfig(): boolean; + clearDefaultPortConfig(): void; + getDefaultPortConfig(): MonitorPortConfiguration | undefined; + setDefaultPortConfig(value?: MonitorPortConfiguration): Sketch; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): Sketch.AsObject; static toObject(includeInstance: boolean, msg: Sketch): Sketch.AsObject; @@ -494,6 +499,52 @@ export namespace Sketch { profilesList: Array, defaultProfile?: SketchProfile.AsObject, defaultProgrammer: string, + defaultPortConfig?: MonitorPortConfiguration.AsObject, + } +} + +export class MonitorPortConfiguration extends jspb.Message { + clearSettingsList(): void; + getSettingsList(): Array; + setSettingsList(value: Array): MonitorPortConfiguration; + addSettings(value?: MonitorPortSetting, index?: number): MonitorPortSetting; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): MonitorPortConfiguration.AsObject; + static toObject(includeInstance: boolean, msg: MonitorPortConfiguration): MonitorPortConfiguration.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: MonitorPortConfiguration, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): MonitorPortConfiguration; + static deserializeBinaryFromReader(message: MonitorPortConfiguration, reader: jspb.BinaryReader): MonitorPortConfiguration; +} + +export namespace MonitorPortConfiguration { + export type AsObject = { + settingsList: Array, + } +} + +export class MonitorPortSetting extends jspb.Message { + getSettingId(): string; + setSettingId(value: string): MonitorPortSetting; + getValue(): string; + setValue(value: string): MonitorPortSetting; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): MonitorPortSetting.AsObject; + static toObject(includeInstance: boolean, msg: MonitorPortSetting): MonitorPortSetting.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: MonitorPortSetting, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): MonitorPortSetting; + static deserializeBinaryFromReader(message: MonitorPortSetting, reader: jspb.BinaryReader): MonitorPortSetting; +} + +export namespace MonitorPortSetting { + export type AsObject = { + settingId: string, + value: string, } } @@ -504,6 +555,15 @@ export class SketchProfile extends jspb.Message { setFqbn(value: string): SketchProfile; getProgrammer(): string; setProgrammer(value: string): SketchProfile; + getPort(): string; + setPort(value: string): SketchProfile; + + hasPortConfig(): boolean; + clearPortConfig(): void; + getPortConfig(): MonitorPortConfiguration | undefined; + setPortConfig(value?: MonitorPortConfiguration): SketchProfile; + getProtocol(): string; + setProtocol(value: string): SketchProfile; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): SketchProfile.AsObject; @@ -520,5 +580,8 @@ export namespace SketchProfile { name: string, fqbn: string, programmer: string, + port: string, + portConfig?: MonitorPortConfiguration.AsObject, + protocol: string, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js index 79d1e7660..0b959a33e 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js @@ -31,6 +31,8 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.HelpResources', null, global goog.exportSymbol('proto.cc.arduino.cli.commands.v1.InstalledPlatformReference', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Instance', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MissingProgrammerError', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSetting', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.Platform', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformMetadata', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.PlatformRelease', null, global); @@ -375,6 +377,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.Sketch.displayName = 'proto.cc.arduino.cli.commands.v1.Sketch'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorPortSetting, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.MonitorPortSetting.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortSetting'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -3553,7 +3597,8 @@ proto.cc.arduino.cli.commands.v1.Sketch.toObject = function(includeInstance, msg profilesList: jspb.Message.toObjectList(msg.getProfilesList(), proto.cc.arduino.cli.commands.v1.SketchProfile.toObject, includeInstance), defaultProfile: (f = msg.getDefaultProfile()) && proto.cc.arduino.cli.commands.v1.SketchProfile.toObject(includeInstance, f), - defaultProgrammer: jspb.Message.getFieldWithDefault(msg, 11, "") + defaultProgrammer: jspb.Message.getFieldWithDefault(msg, 11, ""), + defaultPortConfig: (f = msg.getDefaultPortConfig()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f) }; if (includeInstance) { @@ -3636,6 +3681,11 @@ proto.cc.arduino.cli.commands.v1.Sketch.deserializeBinaryFromReader = function(m var value = /** @type {string} */ (reader.readString()); msg.setDefaultProgrammer(value); break; + case 12: + var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); + msg.setDefaultPortConfig(value); + break; default: reader.skipField(); break; @@ -3744,6 +3794,14 @@ proto.cc.arduino.cli.commands.v1.Sketch.serializeBinaryToWriter = function(messa f ); } + f = message.getDefaultPortConfig(); + if (f != null) { + writer.writeMessage( + 12, + f, + proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter + ); + } }; @@ -4041,6 +4099,363 @@ proto.cc.arduino.cli.commands.v1.Sketch.prototype.setDefaultProgrammer = functio }; +/** + * optional MonitorPortConfiguration default_port_config = 12; + * @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.getDefaultPortConfig = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 12)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this +*/ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.setDefaultPortConfig = function(value) { + return jspb.Message.setWrapperField(this, 12, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.Sketch} returns this + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.clearDefaultPortConfig = function() { + return this.setDefaultPortConfig(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.Sketch.prototype.hasDefaultPortConfig = function() { + return jspb.Message.getField(this, 12) != null; +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject = function(includeInstance, msg) { + var f, obj = { + settingsList: jspb.Message.toObjectList(msg.getSettingsList(), + proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; + return proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.cc.arduino.cli.commands.v1.MonitorPortSetting; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader); + msg.addSettings(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getSettingsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated MonitorPortSetting settings = 1; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.getSettingsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} returns this +*/ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.setSettingsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.addSettings = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.clearSettingsList = function() { + return this.setSettingsList([]); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject = function(includeInstance, msg) { + var f, obj = { + settingId: jspb.Message.getFieldWithDefault(msg, 1, ""), + value: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.MonitorPortSetting; + return proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setSettingId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setValue(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getSettingId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getValue(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string setting_id = 1; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.getSettingId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.setSettingId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string value = 2; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.getValue = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} returns this + */ +proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.setValue = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + @@ -4075,7 +4490,10 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.toObject = function(includeInstan var f, obj = { name: jspb.Message.getFieldWithDefault(msg, 1, ""), fqbn: jspb.Message.getFieldWithDefault(msg, 2, ""), - programmer: jspb.Message.getFieldWithDefault(msg, 3, "") + programmer: jspb.Message.getFieldWithDefault(msg, 3, ""), + port: jspb.Message.getFieldWithDefault(msg, 4, ""), + portConfig: (f = msg.getPortConfig()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f), + protocol: jspb.Message.getFieldWithDefault(msg, 6, "") }; if (includeInstance) { @@ -4124,6 +4542,19 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.deserializeBinaryFromReader = fun var value = /** @type {string} */ (reader.readString()); msg.setProgrammer(value); break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setPort(value); + break; + case 5: + var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); + msg.setPortConfig(value); + break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.setProtocol(value); + break; default: reader.skipField(); break; @@ -4174,6 +4605,28 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.serializeBinaryToWriter = functio f ); } + f = message.getPort(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } + f = message.getPortConfig(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter + ); + } + f = message.getProtocol(); + if (f.length > 0) { + writer.writeString( + 6, + f + ); + } }; @@ -4231,4 +4684,77 @@ proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setProgrammer = functio }; +/** + * optional string port = 4; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getPort = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setPort = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); +}; + + +/** + * optional MonitorPortConfiguration port_config = 5; + * @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getPortConfig = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( + jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 5)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this +*/ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setPortConfig = function(value) { + return jspb.Message.setWrapperField(this, 5, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.clearPortConfig = function() { + return this.setPortConfig(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.hasPortConfig = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional string protocol = 6; + * @return {string} + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.getProtocol = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); +}; + + +/** + * @param {string} value + * @return {!proto.cc.arduino.cli.commands.v1.SketchProfile} returns this + */ +proto.cc.arduino.cli.commands.v1.SketchProfile.prototype.setProtocol = function(value) { + return jspb.Message.setProto3StringField(this, 6, value); +}; + + goog.object.extend(exports, proto.cc.arduino.cli.commands.v1); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts index d36f20ec2..5a3c99ac8 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts @@ -119,6 +119,10 @@ export class IsDebugSupportedRequest extends jspb.Message { setInterpreter(value: string): IsDebugSupportedRequest; getProgrammer(): string; setProgrammer(value: string): IsDebugSupportedRequest; + clearDebugPropertiesList(): void; + getDebugPropertiesList(): Array; + setDebugPropertiesList(value: Array): IsDebugSupportedRequest; + addDebugProperties(value: string, index?: number): string; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): IsDebugSupportedRequest.AsObject; @@ -137,6 +141,7 @@ export namespace IsDebugSupportedRequest { port?: cc_arduino_cli_commands_v1_port_pb.Port.AsObject, interpreter: string, programmer: string, + debugPropertiesList: Array, } } @@ -184,6 +189,10 @@ export class GetDebugConfigRequest extends jspb.Message { setImportDir(value: string): GetDebugConfigRequest; getProgrammer(): string; setProgrammer(value: string): GetDebugConfigRequest; + clearDebugPropertiesList(): void; + getDebugPropertiesList(): Array; + setDebugPropertiesList(value: Array): GetDebugConfigRequest; + addDebugProperties(value: string, index?: number): string; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): GetDebugConfigRequest.AsObject; @@ -204,6 +213,7 @@ export namespace GetDebugConfigRequest { interpreter: string, importDir: string, programmer: string, + debugPropertiesList: Array, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js index e0d781543..f6dfc3a92 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js @@ -111,7 +111,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.repeatedFields_, null); }; goog.inherits(proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -153,7 +153,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.repeatedFields_, null); }; goog.inherits(proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -841,6 +841,13 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.hasResult = function() +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.repeatedFields_ = [6]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -876,7 +883,8 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.toObject = function(inc fqbn: jspb.Message.getFieldWithDefault(msg, 2, ""), port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f), interpreter: jspb.Message.getFieldWithDefault(msg, 4, ""), - programmer: jspb.Message.getFieldWithDefault(msg, 5, "") + programmer: jspb.Message.getFieldWithDefault(msg, 5, ""), + debugPropertiesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f }; if (includeInstance) { @@ -935,6 +943,10 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.deserializeBinaryFromRe var value = /** @type {string} */ (reader.readString()); msg.setProgrammer(value); break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.addDebugProperties(value); + break; default: reader.skipField(); break; @@ -1001,6 +1013,13 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.serializeBinaryToWriter f ); } + f = message.getDebugPropertiesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 6, + f + ); + } }; @@ -1132,6 +1151,43 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.setProgrammer }; +/** + * repeated string debug_properties = 6; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.getDebugPropertiesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 6)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.setDebugPropertiesList = function(value) { + return jspb.Message.setField(this, 6, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.addDebugProperties = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 6, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.clearDebugPropertiesList = function() { + return this.setDebugPropertiesList([]); +}; + + @@ -1293,6 +1349,13 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedResponse.prototype.setDebugFqbn +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.repeatedFields_ = [10]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1330,7 +1393,8 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.toObject = function(inclu port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f), interpreter: jspb.Message.getFieldWithDefault(msg, 5, ""), importDir: jspb.Message.getFieldWithDefault(msg, 8, ""), - programmer: jspb.Message.getFieldWithDefault(msg, 9, "") + programmer: jspb.Message.getFieldWithDefault(msg, 9, ""), + debugPropertiesList: (f = jspb.Message.getRepeatedField(msg, 10)) == null ? undefined : f }; if (includeInstance) { @@ -1397,6 +1461,10 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.deserializeBinaryFromRead var value = /** @type {string} */ (reader.readString()); msg.setProgrammer(value); break; + case 10: + var value = /** @type {string} */ (reader.readString()); + msg.addDebugProperties(value); + break; default: reader.skipField(); break; @@ -1477,6 +1545,13 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.serializeBinaryToWriter = f ); } + f = message.getDebugPropertiesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 10, + f + ); + } }; @@ -1644,6 +1719,43 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.setProgrammer = }; +/** + * repeated string debug_properties = 10; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.getDebugPropertiesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 10)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.setDebugPropertiesList = function(value) { + return jspb.Message.setField(this, 10, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.addDebugProperties = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 10, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.clearDebugPropertiesList = function() { + return this.setDebugPropertiesList([]); +}; + + diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts index 8f6fefdd7..9af18f09d 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts @@ -24,8 +24,8 @@ export class MonitorRequest extends jspb.Message { hasUpdatedConfiguration(): boolean; clearUpdatedConfiguration(): void; - getUpdatedConfiguration(): MonitorPortConfiguration | undefined; - setUpdatedConfiguration(value?: MonitorPortConfiguration): MonitorRequest; + getUpdatedConfiguration(): cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration | undefined; + setUpdatedConfiguration(value?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration): MonitorRequest; hasClose(): boolean; clearClose(): void; @@ -48,7 +48,7 @@ export namespace MonitorRequest { export type AsObject = { openRequest?: MonitorPortOpenRequest.AsObject, txData: Uint8Array | string, - updatedConfiguration?: MonitorPortConfiguration.AsObject, + updatedConfiguration?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.AsObject, close: boolean, } @@ -78,8 +78,8 @@ export class MonitorPortOpenRequest extends jspb.Message { hasPortConfiguration(): boolean; clearPortConfiguration(): void; - getPortConfiguration(): MonitorPortConfiguration | undefined; - setPortConfiguration(value?: MonitorPortConfiguration): MonitorPortOpenRequest; + getPortConfiguration(): cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration | undefined; + setPortConfiguration(value?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration): MonitorPortOpenRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): MonitorPortOpenRequest.AsObject; @@ -96,29 +96,7 @@ export namespace MonitorPortOpenRequest { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, port?: cc_arduino_cli_commands_v1_port_pb.Port.AsObject, fqbn: string, - portConfiguration?: MonitorPortConfiguration.AsObject, - } -} - -export class MonitorPortConfiguration extends jspb.Message { - clearSettingsList(): void; - getSettingsList(): Array; - setSettingsList(value: Array): MonitorPortConfiguration; - addSettings(value?: MonitorPortSetting, index?: number): MonitorPortSetting; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): MonitorPortConfiguration.AsObject; - static toObject(includeInstance: boolean, msg: MonitorPortConfiguration): MonitorPortConfiguration.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: MonitorPortConfiguration, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): MonitorPortConfiguration; - static deserializeBinaryFromReader(message: MonitorPortConfiguration, reader: jspb.BinaryReader): MonitorPortConfiguration; -} - -export namespace MonitorPortConfiguration { - export type AsObject = { - settingsList: Array, + portConfiguration?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.AsObject, } } @@ -138,8 +116,8 @@ export class MonitorResponse extends jspb.Message { hasAppliedSettings(): boolean; clearAppliedSettings(): void; - getAppliedSettings(): MonitorPortConfiguration | undefined; - setAppliedSettings(value?: MonitorPortConfiguration): MonitorResponse; + getAppliedSettings(): cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration | undefined; + setAppliedSettings(value?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration): MonitorResponse; hasSuccess(): boolean; clearSuccess(): void; @@ -162,7 +140,7 @@ export namespace MonitorResponse { export type AsObject = { error: string, rxData: Uint8Array | string, - appliedSettings?: MonitorPortConfiguration.AsObject, + appliedSettings?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.AsObject, success: boolean, } @@ -176,29 +154,6 @@ export namespace MonitorResponse { } -export class MonitorPortSetting extends jspb.Message { - getSettingId(): string; - setSettingId(value: string): MonitorPortSetting; - getValue(): string; - setValue(value: string): MonitorPortSetting; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): MonitorPortSetting.AsObject; - static toObject(includeInstance: boolean, msg: MonitorPortSetting): MonitorPortSetting.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: MonitorPortSetting, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): MonitorPortSetting; - static deserializeBinaryFromReader(message: MonitorPortSetting, reader: jspb.BinaryReader): MonitorPortSetting; -} - -export namespace MonitorPortSetting { - export type AsObject = { - settingId: string, - value: string, - } -} - export class EnumerateMonitorPortSettingsRequest extends jspb.Message { hasInstance(): boolean; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js index 893592ea4..46039c58b 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js @@ -27,9 +27,7 @@ var cc_arduino_cli_commands_v1_port_pb = require('../../../../../cc/arduino/cli/ goog.object.extend(proto, cc_arduino_cli_commands_v1_port_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest', null, global); -goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSetting', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase', null, global); @@ -77,27 +75,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.repeatedFields_, null); -}; -goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration'; -} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -119,27 +96,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.MonitorResponse.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorResponse'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorPortSetting, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.cc.arduino.cli.commands.v1.MonitorPortSetting.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortSetting'; -} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -265,7 +221,7 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.toObject = function(includeInsta var f, obj = { openRequest: (f = msg.getOpenRequest()) && proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.toObject(includeInstance, f), txData: msg.getTxData_asB64(), - updatedConfiguration: (f = msg.getUpdatedConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f), + updatedConfiguration: (f = msg.getUpdatedConfiguration()) && cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.toObject(includeInstance, f), close: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; @@ -313,8 +269,8 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.deserializeBinaryFromReader = fu msg.setTxData(value); break; case 3: - var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); + var value = new cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.deserializeBinaryFromReader); msg.setUpdatedConfiguration(value); break; case 4: @@ -370,7 +326,7 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter = functi writer.writeMessage( 3, f, - proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.serializeBinaryToWriter ); } f = /** @type {boolean} */ (jspb.Message.getField(message, 4)); @@ -486,7 +442,7 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasTxData = function() */ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getUpdatedConfiguration = function() { return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( - jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 3)); + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration, 3)); }; @@ -588,7 +544,7 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.toObject = function(incl instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f), fqbn: jspb.Message.getFieldWithDefault(msg, 3, ""), - portConfiguration: (f = msg.getPortConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f) + portConfiguration: (f = msg.getPortConfiguration()) && cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.toObject(includeInstance, f) }; if (includeInstance) { @@ -640,8 +596,8 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinaryFromRea msg.setFqbn(value); break; case 4: - var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); + var value = new cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.deserializeBinaryFromReader); msg.setPortConfiguration(value); break; default: @@ -701,7 +657,7 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter writer.writeMessage( 4, f, - proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.serializeBinaryToWriter ); } }; @@ -805,7 +761,7 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setFqbn = func */ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getPortConfiguration = function() { return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( - jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 4)); + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration, 4)); }; @@ -837,166 +793,6 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasPortConfigu -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.repeatedFields_ = [1]; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject = function(includeInstance, msg) { - var f, obj = { - settingsList: jspb.Message.toObjectList(msg.getSettingsList(), - proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject, includeInstance) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; - return proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.cc.arduino.cli.commands.v1.MonitorPortSetting; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader); - msg.addSettings(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getSettingsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter - ); - } -}; - - -/** - * repeated MonitorPortSetting settings = 1; - * @return {!Array} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.getSettingsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, 1)); -}; - - -/** - * @param {!Array} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} returns this -*/ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.setSettingsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); -}; - - -/** - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting=} opt_value - * @param {number=} opt_index - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.addSettings = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, opt_index); -}; - - -/** - * Clears the list making it empty but non-null. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} returns this - */ -proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.clearSettingsList = function() { - return this.setSettingsList([]); -}; - - - /** * Oneof group definitions for this message. Each group defines the field * numbers belonging to that group. When of these fields' value is set, all @@ -1058,7 +854,7 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.toObject = function(includeInst var f, obj = { error: jspb.Message.getFieldWithDefault(msg, 1, ""), rxData: msg.getRxData_asB64(), - appliedSettings: (f = msg.getAppliedSettings()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f), + appliedSettings: (f = msg.getAppliedSettings()) && cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.toObject(includeInstance, f), success: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; @@ -1105,8 +901,8 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.deserializeBinaryFromReader = f msg.setRxData(value); break; case 3: - var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration; - reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader); + var value = new cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.deserializeBinaryFromReader); msg.setAppliedSettings(value); break; case 4: @@ -1161,7 +957,7 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.serializeBinaryToWriter = funct writer.writeMessage( 3, f, - proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter + cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.serializeBinaryToWriter ); } f = /** @type {boolean} */ (jspb.Message.getField(message, 4)); @@ -1276,7 +1072,7 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasRxData = function( */ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getAppliedSettings = function() { return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ ( - jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 3)); + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration, 3)); }; @@ -1346,166 +1142,6 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasSuccess = function -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.toObject = function(opt_includeInstance) { - return proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject = function(includeInstance, msg) { - var f, obj = { - settingId: jspb.Message.getFieldWithDefault(msg, 1, ""), - value: jspb.Message.getFieldWithDefault(msg, 2, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.cc.arduino.cli.commands.v1.MonitorPortSetting; - return proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setSettingId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setValue(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getSettingId(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getValue(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } -}; - - -/** - * optional string setting_id = 1; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.getSettingId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} returns this - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.setSettingId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string value = 2; - * @return {string} - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.getValue = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting} returns this - */ -proto.cc.arduino.cli.commands.v1.MonitorPortSetting.prototype.setValue = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - - - - if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts index b16f167e2..19add9232 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts @@ -38,6 +38,10 @@ export class UploadRequest extends jspb.Message { getUserFieldsMap(): jspb.Map; clearUserFieldsMap(): void; + clearUploadPropertiesList(): void; + getUploadPropertiesList(): Array; + setUploadPropertiesList(value: Array): UploadRequest; + addUploadProperties(value: string, index?: number): string; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UploadRequest.AsObject; @@ -63,6 +67,7 @@ export namespace UploadRequest { dryRun: boolean, userFieldsMap: Array<[string, string]>, + uploadPropertiesList: Array, } } @@ -185,6 +190,10 @@ export class UploadUsingProgrammerRequest extends jspb.Message { getUserFieldsMap(): jspb.Map; clearUserFieldsMap(): void; + clearUploadPropertiesList(): void; + getUploadPropertiesList(): Array; + setUploadPropertiesList(value: Array): UploadUsingProgrammerRequest; + addUploadProperties(value: string, index?: number): string; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UploadUsingProgrammerRequest.AsObject; @@ -210,6 +219,7 @@ export namespace UploadUsingProgrammerRequest { dryRun: boolean, userFieldsMap: Array<[string, string]>, + uploadPropertiesList: Array, } } @@ -279,6 +289,10 @@ export class BurnBootloaderRequest extends jspb.Message { getUserFieldsMap(): jspb.Map; clearUserFieldsMap(): void; + clearUploadPropertiesList(): void; + getUploadPropertiesList(): Array; + setUploadPropertiesList(value: Array): BurnBootloaderRequest; + addUploadProperties(value: string, index?: number): string; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): BurnBootloaderRequest.AsObject; @@ -301,6 +315,7 @@ export namespace BurnBootloaderRequest { dryRun: boolean, userFieldsMap: Array<[string, string]>, + uploadPropertiesList: Array, } } diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js index 3ff6946e1..d49f1b0d7 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js @@ -52,7 +52,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UserField', null, global); * @constructor */ proto.cc.arduino.cli.commands.v1.UploadRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.UploadRequest.repeatedFields_, null); }; goog.inherits(proto.cc.arduino.cli.commands.v1.UploadRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -136,7 +136,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.repeatedFields_, null); }; goog.inherits(proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -178,7 +178,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.repeatedFields_, null); }; goog.inherits(proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -315,6 +315,13 @@ if (goog.DEBUG && !COMPILED) { proto.cc.arduino.cli.commands.v1.SupportedUserFieldsResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SupportedUserFieldsResponse'; } +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.UploadRequest.repeatedFields_ = [12]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -356,7 +363,8 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.toObject = function(includeInstan importDir: jspb.Message.getFieldWithDefault(msg, 8, ""), programmer: jspb.Message.getFieldWithDefault(msg, 9, ""), dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 10, false), - userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [] + userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [], + uploadPropertiesList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f }; if (includeInstance) { @@ -441,6 +449,10 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.deserializeBinaryFromReader = fun jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); }); break; + case 12: + var value = /** @type {string} */ (reader.readString()); + msg.addUploadProperties(value); + break; default: reader.skipField(); break; @@ -546,6 +558,13 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.serializeBinaryToWriter = functio if (f && f.getLength() > 0) { f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); } + f = message.getUploadPropertiesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 12, + f + ); + } }; @@ -789,6 +808,43 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.clearUserFieldsMap = fu return this;}; +/** + * repeated string upload_properties = 12; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.getUploadPropertiesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 12)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.UploadRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.setUploadPropertiesList = function(value) { + return jspb.Message.setField(this, 12, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.UploadRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.addUploadProperties = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 12, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.UploadRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.clearUploadPropertiesList = function() { + return this.setUploadPropertiesList([]); +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -1364,6 +1420,13 @@ proto.cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError.serializeBin +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.repeatedFields_ = [12]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1405,7 +1468,8 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.toObject = functio importDir: jspb.Message.getFieldWithDefault(msg, 8, ""), programmer: jspb.Message.getFieldWithDefault(msg, 9, ""), dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 10, false), - userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [] + userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [], + uploadPropertiesList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f }; if (includeInstance) { @@ -1490,6 +1554,10 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.deserializeBinaryF jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); }); break; + case 12: + var value = /** @type {string} */ (reader.readString()); + msg.addUploadProperties(value); + break; default: reader.skipField(); break; @@ -1595,6 +1663,13 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.serializeBinaryToW if (f && f.getLength() > 0) { f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); } + f = message.getUploadPropertiesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 12, + f + ); + } }; @@ -1838,6 +1913,43 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.clearUse return this;}; +/** + * repeated string upload_properties = 12; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.getUploadPropertiesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 12)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.setUploadPropertiesList = function(value) { + return jspb.Message.setField(this, 12, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.addUploadProperties = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 12, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.clearUploadPropertiesList = function() { + return this.setUploadPropertiesList([]); +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -2109,6 +2221,13 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.hasErrS +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.repeatedFields_ = [12]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -2147,7 +2266,8 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.toObject = function(inclu verify: jspb.Message.getBooleanFieldWithDefault(msg, 5, false), programmer: jspb.Message.getFieldWithDefault(msg, 6, ""), dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 7, false), - userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [] + userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [], + uploadPropertiesList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f }; if (includeInstance) { @@ -2220,6 +2340,10 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.deserializeBinaryFromRead jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); }); break; + case 12: + var value = /** @type {string} */ (reader.readString()); + msg.addUploadProperties(value); + break; default: reader.skipField(); break; @@ -2304,6 +2428,13 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.serializeBinaryToWriter = if (f && f.getLength() > 0) { f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); } + f = message.getUploadPropertiesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 12, + f + ); + } }; @@ -2493,6 +2624,43 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.clearUserFields return this;}; +/** + * repeated string upload_properties = 12; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.getUploadPropertiesList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 12)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.setUploadPropertiesList = function(value) { + return jspb.Message.setField(this, 12, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.addUploadProperties = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 12, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.clearUploadPropertiesList = function() { + return this.setUploadPropertiesList([]); +}; + + /** * Oneof group definitions for this message. Each group defines the field diff --git a/arduino-ide-extension/src/node/monitor-service.ts b/arduino-ide-extension/src/node/monitor-service.ts index 2e48f7f79..99145fddc 100644 --- a/arduino-ide-extension/src/node/monitor-service.ts +++ b/arduino-ide-extension/src/node/monitor-service.ts @@ -22,9 +22,7 @@ import { import { EnumerateMonitorPortSettingsRequest, EnumerateMonitorPortSettingsResponse, - MonitorPortConfiguration, MonitorPortOpenRequest, - MonitorPortSetting, MonitorRequest, MonitorResponse, } from './cli-protocol/cc/arduino/cli/commands/v1/monitor_pb'; @@ -39,6 +37,10 @@ import { } from '@theia/core/lib/common/promise-util'; import { MonitorServiceFactoryOptions } from './monitor-service-factory'; import { ServiceError } from './service-error'; +import { + MonitorPortConfiguration, + MonitorPortSetting, +} from './cli-protocol/cc/arduino/cli/commands/v1/common_pb'; export const MonitorServiceName = 'monitor-service'; type DuplexHandlerKeys = diff --git a/arduino-ide-extension/src/node/sketches-service-impl.ts b/arduino-ide-extension/src/node/sketches-service-impl.ts index e219d80e9..bbd511bd1 100644 --- a/arduino-ide-extension/src/node/sketches-service-impl.ts +++ b/arduino-ide-extension/src/node/sketches-service-impl.ts @@ -668,47 +668,43 @@ export class SketchesServiceImpl ); } - async tempBuildPath(sketch: Sketch): Promise { + async getBuildPath(sketch: Sketch): Promise { const sketchPath = FileUri.fsPath(sketch.uri); - const { tempDirRealpath } = this.isTempSketch; - const tempBuildPaths = [ - this.tempBuildPathMD5Hash(tempDirRealpath, sketchPath), - ]; + + let basePath: string; + try { + basePath = userCacheDir(); + } catch { + // Fallback to /tmp + const { tempDirRealpath } = this.isTempSketch; + basePath = tempDirRealpath; + } + const buildPaths = [this.buildPathMD5Hash(basePath, sketchPath)]; // If on Windows, provide both the upper and the lowercase drive letter MD5 hashes. All together four paths are expected: // One of them should match if the sketch is not yet compiled. // https://github.com/arduino/arduino-ide/pull/1809#discussion_r1071031040 - if (isWindows && Win32DriveRegex.test(tempDirRealpath)) { + if (isWindows && Win32DriveRegex.test(basePath)) { const toggleFirstCharCasing = (s: string) => startsWithUpperCase(s) ? firstToLowerCase(s) : firstToUpperCase(s); - const otherCaseTempDirRealPath = toggleFirstCharCasing(tempDirRealpath); - tempBuildPaths.push( - this.tempBuildPathMD5Hash(otherCaseTempDirRealPath, sketchPath) - ); + const otherCaseDirRealPath = toggleFirstCharCasing(basePath); + buildPaths.push(this.buildPathMD5Hash(otherCaseDirRealPath, sketchPath)); if (Win32DriveRegex.test(sketchPath)) { const otherCaseSketchPath = toggleFirstCharCasing(sketchPath); - tempBuildPaths.push( - this.tempBuildPathMD5Hash(tempDirRealpath, otherCaseSketchPath), - this.tempBuildPathMD5Hash( - otherCaseTempDirRealPath, - otherCaseSketchPath - ) + buildPaths.push( + this.buildPathMD5Hash(basePath, otherCaseSketchPath), + this.buildPathMD5Hash(otherCaseDirRealPath, otherCaseSketchPath) ); } } - return tempBuildPaths; + return buildPaths; } - private tempBuildPathMD5Hash(tempFolderPath: string, path: string): string { - return join( - tempFolderPath, - 'arduino', - 'sketches', - this.tempBuildFolderMD5Hash(path) - ); + private buildPathMD5Hash(basePath: string, path: string): string { + return join(basePath, 'arduino', 'sketches', this.buildFolderMD5Hash(path)); } - private tempBuildFolderMD5Hash(path: string): string { + private buildFolderMD5Hash(path: string): string { return crypto.createHash('md5').update(path).digest('hex').toUpperCase(); } @@ -984,3 +980,36 @@ export async function discoverSketches( return prune(container); } + +/** + * Replica of Go `os.UserCacheDir()`. + * https://github.com/golang/go/blob/777f43ab27bde4c662cd0a663f807f74f3fbab0f/src/os/file.go#L477 + */ +export function userCacheDir(): string { + let dir: string | undefined; + const platform = os.platform(); + + switch (platform) { + case 'darwin': { + dir = path.join(os.homedir(), '/Library/Caches'); + break; + } + case 'win32': { + dir = process.env.LocalAppData || undefined; + if (!dir) { + throw new Error('%LocalAppData% is not defined'); + } + break; + } + default: { + dir = process.env.XDG_CACHE_HOME || undefined; + if (!dir) { + dir = path.join(os.homedir() + '/.cache'); + } else if (!path.isAbsolute(dir)) { + throw new Error('path in $XDG_CACHE_HOME is relative'); + } + } + } + + return dir; +} diff --git a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts index 5bf9e5381..dd80bca56 100644 --- a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts @@ -61,7 +61,7 @@ describe('core-service-impl', () => { expect('buildOutputUri' in arg).to.be.true; expect(arg.buildOutputUri).to.be.not.undefined; - const tempBuildPaths = await sketchesService.tempBuildPath(sketch); + const tempBuildPaths = await sketchesService.getBuildPath(sketch); if (isWindows) { expect(tempBuildPaths.length).to.be.greaterThan(1); } else { From 48d6d375397ec4c98b503ed1107300380bd49787 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sun, 10 Mar 2024 09:54:43 +0100 Subject: [PATCH 52/87] feat: can skip verify before upload Adds a new preference to control whether the verify command should automatically run before the upload. If the `arduino.upload.autoVerify` setting value is `false`, IDE does not recompile the sketch code before uploading it to the board. Signed-off-by: dankeboy36 --- .../src/browser/arduino-preferences.ts | 13 +++++++ .../browser/contributions/upload-sketch.ts | 3 +- .../browser/contributions/verify-sketch.ts | 37 +++++++++++++------ i18n/en.json | 2 + 4 files changed, 43 insertions(+), 12 deletions(-) diff --git a/arduino-ide-extension/src/browser/arduino-preferences.ts b/arduino-ide-extension/src/browser/arduino-preferences.ts index c7e1698a5..40ae222d1 100644 --- a/arduino-ide-extension/src/browser/arduino-preferences.ts +++ b/arduino-ide-extension/src/browser/arduino-preferences.ts @@ -137,6 +137,18 @@ const properties: ArduinoPreferenceSchemaProperties = { 'arduino.upload.verify': { type: 'boolean', default: false, + description: nls.localize( + 'arduino/preferences/upload.verify', + 'After upload, verify that the contents of the memory on the board match the uploaded binary.' + ), + }, + 'arduino.upload.autoVerify': { + type: 'boolean', + default: true, + description: nls.localize( + 'arduino/preferences/upload.autoVerify', + "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing." + ), }, 'arduino.window.autoScale': { type: 'boolean', @@ -327,6 +339,7 @@ export interface ArduinoConfiguration { 'arduino.compile.warnings': CompilerWarnings; 'arduino.upload.verbose': boolean; 'arduino.upload.verify': boolean; + 'arduino.upload.autoVerify': boolean; 'arduino.window.autoScale': boolean; 'arduino.ide.updateChannel': UpdateChannel; 'arduino.ide.updateBaseUrl': string; diff --git a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts index c21b86190..0c2418797 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts @@ -104,6 +104,7 @@ export class UploadSketch extends CoreServiceContribution { } try { + const autoVerify = this.preferences['arduino.upload.autoVerify']; // toggle the toolbar button and menu item state. // uploadInProgress will be set to false whether the upload fails or not this.uploadInProgress = true; @@ -116,7 +117,7 @@ export class UploadSketch extends CoreServiceContribution { 'arduino-verify-sketch', { exportBinaries: false, - silent: true, + mode: autoVerify ? 'auto' : 'dry-run', } ); if (!verifyOptions) { diff --git a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts index 999c3ec5c..4d8b445e3 100644 --- a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts @@ -15,23 +15,35 @@ import { } from './contribution'; import { CoreErrorHandler } from './core-error-handler'; +export type VerifySketchMode = + /** + * When the user explicitly triggers the verify command from the primary UI: menu, toolbar, or keybinding. The UI shows the output, updates the toolbar items state, etc. + */ + | 'explicit' + /** + * When the verify phase automatically runs as part of the upload but there is no UI indication of the command: the toolbar items do not update. + */ + | 'auto' + /** + * The verify does not run. There is no UI indication of the command. For example, when the user decides to disable the auto verify (`'arduino.upload.autoVerify'`) to skips the code recompilation phase. + */ + | 'dry-run'; + export interface VerifySketchParams { /** * Same as `CoreService.Options.Compile#exportBinaries` */ readonly exportBinaries?: boolean; /** - * If `true`, there won't be any UI indication of the verify command in the toolbar. It's `false` by default. + * The mode specifying how verify should run. It's `'explicit'` by default. */ - readonly silent?: boolean; + readonly mode?: VerifySketchMode; } /** - * - `"idle"` when neither verify, nor upload is running, - * - `"explicit-verify"` when only verify is running triggered by the user, and - * - `"automatic-verify"` is when the automatic verify phase is running as part of an upload triggered by the user. + * - `"idle"` when neither verify, nor upload is running */ -type VerifyProgress = 'idle' | 'explicit-verify' | 'automatic-verify'; +type VerifyProgress = 'idle' | VerifySketchMode; @injectable() export class VerifySketch extends CoreServiceContribution { @@ -54,10 +66,10 @@ export class VerifySketch extends CoreServiceContribution { registry.registerCommand(VerifySketch.Commands.VERIFY_SKETCH_TOOLBAR, { isVisible: (widget) => ArduinoToolbar.is(widget) && widget.side === 'left', - isEnabled: () => this.verifyProgress !== 'explicit-verify', + isEnabled: () => this.verifyProgress !== 'explicit', // toggled only when verify is running, but not toggled when automatic verify is running before the upload // https://github.com/arduino/arduino-ide/pull/1750#pullrequestreview-1214762975 - isToggled: () => this.verifyProgress === 'explicit-verify', + isToggled: () => this.verifyProgress === 'explicit', execute: () => registry.executeCommand(VerifySketch.Commands.VERIFY_SKETCH.id), }); @@ -113,19 +125,22 @@ export class VerifySketch extends CoreServiceContribution { } try { - this.verifyProgress = params?.silent - ? 'automatic-verify' - : 'explicit-verify'; + this.verifyProgress = params?.mode ?? 'explicit'; this.onDidChangeEmitter.fire(); this.menuManager.update(); this.clearVisibleNotification(); this.coreErrorHandler.reset(); + const dryRun = this.verifyProgress === 'dry-run'; const options = await this.options(params?.exportBinaries); if (!options) { return undefined; } + if (dryRun) { + return options; + } + await this.doWithProgress({ progressText: nls.localize( 'arduino/sketch/compile', diff --git a/i18n/en.json b/i18n/en.json index 37c90e2e6..17cd55547 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -415,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { From 8462d8a391e180cea87159070d60ccef24cf1abf Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 22 Nov 2024 17:50:58 +0100 Subject: [PATCH 53/87] refactor: `generate-protocol` now fetch proto files from `arduino_cli_{version}_proto.zip` - Use the CLI release proto.zip to get proto files for production versions of CLI - Extract the proto files from repo if CLI version is declared as `commitsh` or version is 1.1.0 See https://github.com/arduino/arduino-cli/pull/2761 --- .../scripts/generate-protocol.js | 256 +++++++++++------- 1 file changed, 152 insertions(+), 104 deletions(-) diff --git a/arduino-ide-extension/scripts/generate-protocol.js b/arduino-ide-extension/scripts/generate-protocol.js index 68a92c026..7e0cf8a55 100644 --- a/arduino-ide-extension/scripts/generate-protocol.js +++ b/arduino-ide-extension/scripts/generate-protocol.js @@ -3,10 +3,12 @@ (async () => { const os = require('node:os'); const path = require('node:path'); - const { mkdirSync, promises: fs, rmSync } = require('node:fs'); + const decompress = require('decompress'); + const unzip = require('decompress-unzip'); + const { mkdirSync, promises: fs, rmSync, existsSync } = require('node:fs'); const { exec } = require('./utils'); const { glob } = require('glob'); - const { SemVer, gte, valid: validSemVer, gt } = require('semver'); + const { SemVer, gte, valid: validSemVer, eq } = require('semver'); // Use a node-protoc fork until apple arm32 is supported // https://github.com/YePpHa/node-protoc/pull/10 const protoc = path.dirname(require('@pingghost/protoc/protoc')); @@ -90,152 +92,198 @@ } */ const versionObject = JSON.parse(versionJson); - const version = versionObject.VersionString; - // Clone the repository and check out the tagged version - // Return folder with proto files - async function getProtoPath(forceCliVersion) { - const repository = await fs.mkdtemp(path.join(os.tmpdir(), 'arduino-cli-')); + async function globProtos(folder, pattern = '**/*.proto') { + let protos = []; + try { + const matches = await glob(pattern, { cwd: folder }); + protos = matches.map((filename) => path.join(folder, filename)); + } catch (error) { + console.log(error.stack ?? error.message); + } + return protos; + } + + async function getProtosFromRepo( + commitish = '', + version = '', + owner = 'arduino', + repo = 'arduino-cli' + ) { + const repoFolder = await fs.mkdtemp(path.join(os.tmpdir(), 'arduino-cli-')); const url = `https://github.com/${owner}/${repo}.git`; console.log(`>>> Cloning repository from '${url}'...`); - exec('git', ['clone', url, repository], { logStdout: true }); + exec('git', ['clone', url, repoFolder], { logStdout: true }); console.log(`<<< Repository cloned.`); - let cliVersion = forceCliVersion || version; - if (validSemVer(cliVersion)) { + if (validSemVer(version)) { + let versionTag = version; // https://github.com/arduino/arduino-cli/pull/2374 if ( gte(new SemVer(version, { loose: true }), new SemVer('0.35.0-rc.1')) ) { - cliVersion = `v${cliVersion}`; + versionTag = `v${version}`; } - console.log(`>>> Checking out tagged version: '${cliVersion}'...`); - exec('git', ['-C', repository, 'fetch', '--all', '--tags'], { + console.log(`>>> Checking out tagged version: '${versionTag}'...`); + exec('git', ['-C', repoFolder, 'fetch', '--all', '--tags'], { logStdout: true, }); exec( 'git', - ['-C', repository, 'checkout', `tags/${cliVersion}`, '-b', cliVersion], + ['-C', repoFolder, 'checkout', `tags/${versionTag}`, '-b', versionTag], { logStdout: true } ); - console.log(`<<< Checked out tagged version: '${cliVersion}'.`); - } else if (forceCliVersion) { - console.log(`WARN: invalid semver: '${forceCliVersion}'.`); - // If the forced version is invalid, do not proceed with fallbacks. - return undefined; + console.log(`<<< Checked out tagged version: '${versionTag}'.`); } else if (commitish) { - console.log( - `>>> Checking out commitish from 'package.json': '${commitish}'...` - ); - exec('git', ['-C', repository, 'checkout', commitish], { + console.log(`>>> Checking out commitish: '${commitish}'...`); + exec('git', ['-C', repoFolder, 'checkout', commitish], { logStdout: true, }); - console.log( - `<<< Checked out commitish from 'package.json': '${commitish}'.` - ); - } else if (versionObject.Commit) { - console.log( - `>>> Checking out commitish from the CLI: '${versionObject.Commit}'...` - ); - exec('git', ['-C', repository, 'checkout', versionObject.Commit], { - logStdout: true, - }); - console.log( - `<<< Checked out commitish from the CLI: '${versionObject.Commit}'.` - ); + console.log(`<<< Checked out commitish: '${commitish}'.`); } else { console.log( `WARN: no 'git checkout'. Generating from the HEAD revision.` ); } - return path.join(repository, 'rpc'); + const rpcFolder = await fs.mkdtemp( + path.join(os.tmpdir(), 'arduino-cli-rpc') + ); + + // Copy the the repository rpc folder so we can remove the repository + await fs.cp(path.join(repoFolder, 'rpc'), path.join(rpcFolder), { + recursive: true, + }); + rmSync(repoFolder, { recursive: true, maxRetries: 5, force: true }); + + // Patch for https://github.com/arduino/arduino-cli/issues/2755 + // Google proto files are removed from source since v1.1.0 + if (!existsSync(path.join(rpcFolder, 'google'))) { + // Include packaged google proto files from v1.1.1 + // See https://github.com/arduino/arduino-cli/pull/2761 + console.log(`>>> Missing google proto files. Including from v1.1.1...`); + const v111ProtoFolder = await getProtosFromZip('1.1.1'); + + // Create an return a folder name google in rpcFolder + const googleFolder = path.join(rpcFolder, 'google'); + await fs.cp(path.join(v111ProtoFolder, 'google'), googleFolder, { + recursive: true, + }); + console.log(`<<< Included google proto files from v1.1.1.`); + } + + return rpcFolder; } - const protoPath = await getProtoPath(); + async function getProtosFromZip(version) { + if (!version) { + console.log(`Could not download proto files: CLI version not provided.`); + process.exit(1); + } + console.log(`>>> Downloading proto files from zip for ${version}.`); + + const url = `https://downloads.arduino.cc/arduino-cli/arduino-cli_${version}_proto.zip`; + const protos = await fs.mkdtemp( + path.join(os.tmpdir(), 'arduino-cli-proto') + ); - if (!protoPath) { - console.log(`Could not find the proto files folder.`); + const { default: download } = await import('@xhmikosr/downloader'); + /** @type {import('node:buffer').Buffer} */ + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const data = await download(url); + + await decompress(data, protos, { + plugins: [unzip()], + filter: (file) => file.path.endsWith('.proto'), + }); + + console.log( + `<<< Finished downloading and extracting proto files for ${version}.` + ); + + return protos; + } + + let protosFolder; + + if (commitish) { + protosFolder = await getProtosFromRepo(commitish, undefined, owner, repo); + } else if ( + versionObject.VersionString && + validSemVer(versionObject.VersionString) + ) { + const version = versionObject.VersionString; + // v1.1.0 does not contains google proto files in zip + // See https://github.com/arduino/arduino-cli/issues/2755 + const isV110 = eq(new SemVer(version, { loose: true }), '1.1.0'); + protosFolder = isV110 + ? await getProtosFromRepo(undefined, version) + : await getProtosFromZip(version); + } else if (versionObject.Commit) { + protosFolder = await getProtosFromRepo(versionObject.Commit); + } + + if (!protosFolder) { + console.log(`Could not get proto files: missing commitish or version.`); + process.exit(1); + } + + const protos = await globProtos(protosFolder); + + if (!protos || protos.length === 0) { + rmSync(protosFolder, { recursive: true, maxRetries: 5, force: true }); + console.log(`Could not find any .proto files under ${protosFolder}.`); process.exit(1); } console.log('>>> Generating TS/JS API from:'); - exec('git', ['-C', protoPath, 'rev-parse', '--abbrev-ref', 'HEAD'], { - logStdout: true, - }); const out = path.join(__dirname, '..', 'src', 'node', 'cli-protocol'); // Must wipe the gen output folder. Otherwise, dangling service implementation remain in IDE2 code, // although it has been removed from the proto file. // For example, https://github.com/arduino/arduino-cli/commit/50a8bf5c3e61d5b661ccfcd6a055e82eeb510859. - rmSync(out, { recursive: true, maxRetries: 5, force: true }); + // rmSync(out, { recursive: true, maxRetries: 5, force: true }); mkdirSync(out, { recursive: true }); - if (gt(new SemVer(version, { loose: true }), new SemVer('1.0.4'))) { - // Patch for https://github.com/arduino/arduino-cli/issues/2755 - // Credit https://github.com/dankeboy36/ardunno-cli-gen/pull/9/commits/64a5ac89aae605249261c8ceff7255655ecfafca - // Download the 1.0.4 version and use the missing google/rpc/status.proto file. - console.log('<<< Generating missing google proto files'); - const v104ProtoPath = await getProtoPath('1.0.4'); - if (!v104ProtoPath) { - console.log(`Could not find the proto files folder for version 1.0.4.`); - process.exit(1); - } - await fs.cp( - path.join(v104ProtoPath, 'google'), - path.join(protoPath, 'google'), - { - recursive: true, - } + try { + // Generate JS code from the `.proto` files. + exec( + 'grpc_tools_node_protoc', + [ + `--js_out=import_style=commonjs,binary:${out}`, + `--grpc_out=generate_package_definition:${out}`, + '-I', + protosFolder, + ...protos, + ], + { logStdout: true } ); - console.log(`>>> Generated missing google file`); - } - let protos = []; - try { - const matches = await glob('**/*.proto', { cwd: protoPath }); - protos = matches.map((filename) => path.join(protoPath, filename)); + // Generate the `.d.ts` files for JS. + exec( + path.join(protoc, `protoc${platform === 'win32' ? '.exe' : ''}`), + [ + `--plugin=protoc-gen-ts=${path.resolve( + __dirname, + '..', + 'node_modules', + '.bin', + `protoc-gen-ts${platform === 'win32' ? '.cmd' : ''}` + )}`, + `--ts_out=generate_package_definition:${out}`, + '-I', + protosFolder, + ...protos, + ], + { logStdout: true } + ); } catch (error) { - console.log(error.stack ?? error.message); - } - - if (!protos || protos.length === 0) { - console.log(`Could not find any .proto files under ${protoPath}.`); - process.exit(1); + console.log(error); + } finally { + rmSync(protosFolder, { recursive: true, maxRetries: 5, force: true }); } - // Generate JS code from the `.proto` files. - exec( - 'grpc_tools_node_protoc', - [ - `--js_out=import_style=commonjs,binary:${out}`, - `--grpc_out=generate_package_definition:${out}`, - '-I', - protoPath, - ...protos, - ], - { logStdout: true } - ); - - // Generate the `.d.ts` files for JS. - exec( - path.join(protoc, `protoc${platform === 'win32' ? '.exe' : ''}`), - [ - `--plugin=protoc-gen-ts=${path.resolve( - __dirname, - '..', - 'node_modules', - '.bin', - `protoc-gen-ts${platform === 'win32' ? '.cmd' : ''}` - )}`, - `--ts_out=generate_package_definition:${out}`, - '-I', - protoPath, - ...protos, - ], - { logStdout: true } - ); - console.log('<<< Generation was successful.'); })(); From de265694ee425afeb9397ceb0a188f9f42a15680 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 22 Nov 2024 17:57:47 +0100 Subject: [PATCH 54/87] feat: use Arduino CLI v1.1.1 --- arduino-ide-extension/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index d900bfbfb..6dfb8e35a 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -171,7 +171,7 @@ ], "arduino": { "arduino-cli": { - "version": "1.1.0" + "version": "1.1.1" }, "arduino-fwuploader": { "version": "2.4.1" From 86c7fd7b5989bc0c06b18442c4677d8bbe6cb454 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 07:58:50 +0000 Subject: [PATCH 55/87] build(deps): Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build.yml | 10 +++++----- .github/workflows/sync-labels.yml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 535298d8e..eb7aadfaf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -411,7 +411,7 @@ jobs: echo "STAGED_CHANNEL_FILES_PATH=$staged_channel_files_path" >> "$GITHUB_ENV" - name: Upload staged-for-merge channel file artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: > needs.select-targets.outputs.merge-channel-files == 'true' && matrix.config.mergeable-channel-file == 'true' @@ -421,7 +421,7 @@ jobs: path: ${{ matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.STAGED_CHANNEL_FILES_PATH) || env.STAGED_CHANNEL_FILES_PATH }} - name: Upload [GitHub Actions] - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} path: ${{ matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.BUILD_ARTIFACTS_PATH) || env.BUILD_ARTIFACTS_PATH }} @@ -489,7 +489,7 @@ jobs: --input "${{ env.CHANNEL_FILES_PATH }}" - name: Upload merged channel files to job transfer artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: ${{ env.JOB_TRANSFER_ARTIFACT }} @@ -515,7 +515,7 @@ jobs: path: ${{ env.JOB_TRANSFER_ARTIFACT }} - name: Upload tester build artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact.name }} path: ${{ env.JOB_TRANSFER_ARTIFACT }}/${{ matrix.artifact.path }} @@ -563,7 +563,7 @@ jobs: - name: Upload Changelog [GitHub Actions] if: needs.build-type-determination.outputs.is-nightly == 'true' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} path: CHANGELOG.txt diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 0ec11e7f3..7b255da9c 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -71,7 +71,7 @@ jobs: file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/${{ matrix.filename }} - name: Pass configuration files to next job via workflow artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: | *.yaml From 84d2dfd13ea496ace097a396d8f43e94ce14eebf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 19:56:22 +0000 Subject: [PATCH 56/87] build(deps): Bump actions/download-artifact from 3 to 4 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build.yml | 8 ++++---- .github/workflows/sync-labels.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eb7aadfaf..c41e369ab 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -450,7 +450,7 @@ jobs: uses: actions/checkout@v4 - name: Download staged-for-merge channel files artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} path: ${{ env.CHANNEL_FILES_PATH }} @@ -509,7 +509,7 @@ jobs: steps: - name: Download job transfer artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} path: ${{ env.JOB_TRANSFER_ARTIFACT }} @@ -586,7 +586,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Download [GitHub Actions] - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} path: ${{ env.JOB_TRANSFER_ARTIFACT }} @@ -618,7 +618,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Download [GitHub Actions] - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} path: ${{ env.JOB_TRANSFER_ARTIFACT }} diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 7b255da9c..5c3a0a7e9 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -109,7 +109,7 @@ jobs: uses: actions/checkout@v4 - name: Download configuration files artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.CONFIGURATIONS_ARTIFACT }} path: ${{ env.CONFIGURATIONS_FOLDER }} From 0aec778e846ca58a04f134bf420752334b9dc8f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 19:37:50 +0000 Subject: [PATCH 57/87] build(deps): Bump geekyeggo/delete-artifact from 2 to 5 Bumps [geekyeggo/delete-artifact](https://github.com/geekyeggo/delete-artifact) from 2 to 5. - [Release notes](https://github.com/geekyeggo/delete-artifact/releases) - [Changelog](https://github.com/GeekyEggo/delete-artifact/blob/main/CHANGELOG.md) - [Commits](https://github.com/geekyeggo/delete-artifact/compare/v2...v5) --- updated-dependencies: - dependency-name: geekyeggo/delete-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build.yml | 4 ++-- .github/workflows/sync-labels.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c41e369ab..4a4204a7f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -456,7 +456,7 @@ jobs: path: ${{ env.CHANNEL_FILES_PATH }} - name: Remove no longer needed artifact - uses: geekyeggo/delete-artifact@v2 + uses: geekyeggo/delete-artifact@v5 with: name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} @@ -662,6 +662,6 @@ jobs: steps: - name: Remove unneeded job transfer artifact - uses: geekyeggo/delete-artifact@v2 + uses: geekyeggo/delete-artifact@v5 with: name: ${{ env.JOB_TRANSFER_ARTIFACT }} diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 5c3a0a7e9..6dfdaacbc 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -115,7 +115,7 @@ jobs: path: ${{ env.CONFIGURATIONS_FOLDER }} - name: Remove unneeded artifact - uses: geekyeggo/delete-artifact@v2 + uses: geekyeggo/delete-artifact@v5 with: name: ${{ env.CONFIGURATIONS_ARTIFACT }} From 90d3d77ca41bf8d928ff086a8f7c082d297f858b Mon Sep 17 00:00:00 2001 From: per1234 Date: Wed, 20 Nov 2024 22:09:31 -0800 Subject: [PATCH 58/87] Don't upload multiple times to same artifact in label sync workflow The "Sync Labels" GitHub Actions workflow is configured to allow the use of multiple shared label configuration files. This is done by using a job matrix in the GitHub Actions workflow to download each of the files from the source repository in a parallel GitHub Actions workflow job. A GitHub Actions workflow artifact was used to transfer the generated files between sequential jobs in the workflow. The "actions/upload-artifact" and "actions/download-artifact" actions are used for this purpose. Previously, a single artifact was used for the transfer of all the shared label configuration files, with each of the parallel jobs uploading its own generated files to that artifact. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now necessary to use a dedicated artifact for each of the builds. These can be downloaded in aggregate by using the artifact name globbing and merging features which were introduced in version 4.1.0 of the "actions/download-artifact" action. --- .github/workflows/sync-labels.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 6dfdaacbc..22fa0d0e9 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -19,7 +19,7 @@ on: env: CONFIGURATIONS_FOLDER: .github/label-configuration-files - CONFIGURATIONS_ARTIFACT: label-configuration-files + CONFIGURATIONS_ARTIFACT_PREFIX: label-configuration-file- jobs: check: @@ -77,7 +77,7 @@ jobs: *.yaml *.yml if-no-files-found: error - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}${{ matrix.filename }} sync: needs: download @@ -108,16 +108,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Download configuration files artifact + - name: Download configuration file artifacts uses: actions/download-artifact@v4 with: - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + merge-multiple: true + pattern: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}* path: ${{ env.CONFIGURATIONS_FOLDER }} - - name: Remove unneeded artifact + - name: Remove unneeded artifacts uses: geekyeggo/delete-artifact@v5 with: - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}* - name: Merge label configuration files run: | From dba57b312cf1c78a41afd3d95b8e4a30b8d62ce7 Mon Sep 17 00:00:00 2001 From: per1234 Date: Thu, 21 Nov 2024 00:04:20 -0800 Subject: [PATCH 59/87] Don't upload multiple times to same artifact in build workflow The build workflow produces binaries for a range of target hosts. This is done by using a job matrix in the GitHub Actions workflow that produces each build in a parallel job. GitHub Actions workflow artifacts are used to transfer the generated files between sequential jobs in the workflow. The "actions/upload-artifact" action is used for this purpose. Previously, a single artifact was used for this purpose, with each of the parallel jobs uploading its own generated files to that artifact. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now necessary to use a dedicated artifact for each of the builds. These can be downloaded in aggregate by using the artifact name globbing and merging features which were introduced in version 4.1.0 of the "actions/download-artifact" action. --- .github/workflows/build.yml | 83 +++++++++++++++++++++++-------------- 1 file changed, 51 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4a4204a7f..cdc2b0f4e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,9 +48,9 @@ env: GO_VERSION: '1.21' # See: https://github.com/actions/setup-node/#readme NODE_VERSION: '18.17' - JOB_TRANSFER_ARTIFACT: build-artifacts + JOB_TRANSFER_ARTIFACT_PREFIX: build-artifacts- CHANGELOG_ARTIFACTS: changelog - STAGED_CHANNEL_FILES_ARTIFACT: staged-channel-files + STAGED_CHANNEL_FILE_ARTIFACT_PREFIX: staged-channel-file- BASE_BUILD_DATA: | - config: # Human identifier for the job. @@ -68,6 +68,8 @@ env: certificate-extension: pfx # Container for windows cert signing certificate-container: INSTALLER_CERT_WINDOWS_CONTAINER + # Arbitrary identifier used to give the workflow artifact uploaded by each "build" matrix job a unique name. + job-transfer-artifact-suffix: Windows_64bit # Quoting on the value is required here to allow the same comparison expression syntax to be used for this # and the companion needs.select-targets.outputs.merge-channel-files property (output values always have string # type). @@ -91,6 +93,7 @@ env: { \"image\": \"ghcr.io/arduino/arduino-ide/linux:main\" } + job-transfer-artifact-suffix: Linux_64bit mergeable-channel-file: 'false' artifacts: - path: '*Linux_64bit.zip' @@ -107,6 +110,7 @@ env: certificate-secret: APPLE_SIGNING_CERTIFICATE_P12 certificate-password-secret: KEYCHAIN_PASSWORD certificate-extension: p12 + job-transfer-artifact-suffix: macOS_64bit mergeable-channel-file: 'true' artifacts: - path: '*macOS_64bit.dmg' @@ -121,6 +125,7 @@ env: certificate-secret: APPLE_SIGNING_CERTIFICATE_P12 certificate-password-secret: KEYCHAIN_PASSWORD certificate-extension: p12 + job-transfer-artifact-suffix: macOS_arm64 mergeable-channel-file: 'true' artifacts: - path: '*macOS_arm64.dmg' @@ -233,7 +238,7 @@ jobs: ) | \ yq \ --output-format json \ - '[.[].artifacts.[]]' + 'map(.artifacts[] + (.config | pick(["job-transfer-artifact-suffix"])))' )" # The build matrix produces two macOS jobs (x86 and ARM) so the "channel update info files" @@ -252,7 +257,7 @@ jobs: echo "${{ env.BASE_BUILD_DATA }}" | \ yq \ --output-format json \ - '[.[].artifacts.[]]' + 'map(.artifacts[] + (.config | pick(["job-transfer-artifact-suffix"])))' )" merge_channel_files="false" @@ -417,13 +422,13 @@ jobs: matrix.config.mergeable-channel-file == 'true' with: if-no-files-found: error - name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} + name: ${{ env.STAGED_CHANNEL_FILE_ARTIFACT_PREFIX }}${{ matrix.config.job-transfer-artifact-suffix }} path: ${{ matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.STAGED_CHANNEL_FILES_PATH) || env.STAGED_CHANNEL_FILES_PATH }} - - name: Upload [GitHub Actions] + - name: Upload builds to job transfer artifact uses: actions/upload-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}${{ matrix.config.job-transfer-artifact-suffix }} path: ${{ matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.BUILD_ARTIFACTS_PATH) || env.BUILD_ARTIFACTS_PATH }} - name: Manual Clean up for self-hosted runners @@ -449,16 +454,17 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Download staged-for-merge channel files artifact + - name: Download staged-for-merge channel file artifacts uses: actions/download-artifact@v4 with: - name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} + merge-multiple: true path: ${{ env.CHANNEL_FILES_PATH }} + pattern: ${{ env.STAGED_CHANNEL_FILE_ARTIFACT_PREFIX }}* - - name: Remove no longer needed artifact + - name: Remove no longer needed artifacts uses: geekyeggo/delete-artifact@v5 with: - name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }} + name: ${{ env.STAGED_CHANNEL_FILE_ARTIFACT_PREFIX }}* - name: Install Node.js uses: actions/setup-node@v4 @@ -488,11 +494,11 @@ jobs: --channel "${{ needs.build-type-determination.outputs.channel-name }}" \ --input "${{ env.CHANNEL_FILES_PATH }}" - - name: Upload merged channel files to job transfer artifact + - name: Upload merged channel files job transfer artifact uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}channel-files path: ${{ env.CHANNEL_FILES_PATH }} artifacts: @@ -503,22 +509,25 @@ jobs: if: always() && needs.build.result != 'skipped' runs-on: ubuntu-latest + env: + BUILD_ARTIFACTS_FOLDER: build-artifacts + strategy: matrix: artifact: ${{ fromJson(needs.select-targets.outputs.artifact-matrix) }} steps: - - name: Download job transfer artifact + - name: Download job transfer artifact that contains ${{ matrix.artifact.name }} tester build uses: actions/download-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} - path: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}${{ matrix.artifact.job-transfer-artifact-suffix }} + path: ${{ env.BUILD_ARTIFACTS_FOLDER }} - name: Upload tester build artifact uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact.name }} - path: ${{ env.JOB_TRANSFER_ARTIFACT }}/${{ matrix.artifact.path }} + path: ${{ env.BUILD_ARTIFACTS_FOLDER }}/${{ matrix.artifact.path }} changelog: needs: @@ -561,11 +570,11 @@ jobs: echo "$BODY" > CHANGELOG.txt - - name: Upload Changelog [GitHub Actions] + - name: Upload changelog job transfer artifact if: needs.build-type-determination.outputs.is-nightly == 'true' uses: actions/upload-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}changelog path: CHANGELOG.txt publish: @@ -584,18 +593,23 @@ jobs: needs.build-type-determination.outputs.publish-to-s3 == 'true' && needs.build-type-determination.outputs.is-nightly == 'true' runs-on: ubuntu-latest + + env: + ARTIFACTS_FOLDER: build-artifacts + steps: - - name: Download [GitHub Actions] + - name: Download all job transfer artifacts uses: actions/download-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} - path: ${{ env.JOB_TRANSFER_ARTIFACT }} + merge-multiple: true + path: ${{ env.ARTIFACTS_FOLDER }} + pattern: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}* - name: Publish Nightly [S3] uses: docker://plugins/s3 env: - PLUGIN_SOURCE: '${{ env.JOB_TRANSFER_ARTIFACT }}/*' - PLUGIN_STRIP_PREFIX: '${{ env.JOB_TRANSFER_ARTIFACT }}/' + PLUGIN_SOURCE: '${{ env.ARTIFACTS_FOLDER }}/*' + PLUGIN_STRIP_PREFIX: '${{ env.ARTIFACTS_FOLDER }}/' PLUGIN_TARGET: '/arduino-ide/nightly' PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} @@ -616,12 +630,17 @@ jobs: needs.changelog.result == 'success' && needs.build-type-determination.outputs.is-release == 'true' runs-on: ubuntu-latest + + env: + ARTIFACTS_FOLDER: build-artifacts + steps: - - name: Download [GitHub Actions] + - name: Download all job transfer artifacts uses: actions/download-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} - path: ${{ env.JOB_TRANSFER_ARTIFACT }} + merge-multiple: true + path: ${{ env.ARTIFACTS_FOLDER }} + pattern: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}* - name: Get Tag id: tag_name @@ -633,7 +652,7 @@ jobs: with: repo_token: ${{ secrets.GITHUB_TOKEN }} release_name: ${{ steps.tag_name.outputs.TAG_NAME }} - file: ${{ env.JOB_TRANSFER_ARTIFACT }}/* + file: ${{ env.ARTIFACTS_FOLDER }}/* tag: ${{ github.ref }} file_glob: true body: ${{ needs.changelog.outputs.BODY }} @@ -642,8 +661,8 @@ jobs: if: needs.build-type-determination.outputs.publish-to-s3 == 'true' uses: docker://plugins/s3 env: - PLUGIN_SOURCE: '${{ env.JOB_TRANSFER_ARTIFACT }}/*' - PLUGIN_STRIP_PREFIX: '${{ env.JOB_TRANSFER_ARTIFACT }}/' + PLUGIN_SOURCE: '${{ env.ARTIFACTS_FOLDER }}/*' + PLUGIN_STRIP_PREFIX: '${{ env.ARTIFACTS_FOLDER }}/' PLUGIN_TARGET: '/arduino-ide' PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} @@ -661,7 +680,7 @@ jobs: runs-on: ubuntu-latest steps: - - name: Remove unneeded job transfer artifact + - name: Remove unneeded job transfer artifacts uses: geekyeggo/delete-artifact@v5 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}* From c09b5f718a5a14c420c1649ac5bf117d8fd68d9e Mon Sep 17 00:00:00 2001 From: per1234 Date: Thu, 21 Nov 2024 20:39:25 -0800 Subject: [PATCH 60/87] Use Ubuntu 18.10 in Linux build container Background ========== Shared Library Dependencies --------------------------- The Linux build of Arduino IDE has dynamic linkage against the libstdc++ and glibc shared libraries. This results in it having a dependency on the version of the libraries that happens to be present in the environment it is built in. Although newer versions of the shared libraries are compatible with executables linked against an older version, the reverse is not true. This means that building Arduino IDE on a Linux machine with a recent distro version installed causes the IDE to error on startup for users who have a distro with older versions of the dependencies. For example, if Arduino IDE were built on a machine with version 3.4.33 of libstdc++, then attempting to run it on a machine with an older version of libstdc++ would fail with an error like: ``` Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.33' not found (required by /home/foo/arduino-ide/resources/app/lib/backend/native/nsfw.node) ``` Likewise, if Arduino IDE were built on a machine with version 2.39 of glibc, then attempting to run it on a machine with an older version of glibc would fail with an error like: ``` Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found (required by /home/foo/arduino-ide/resources/app/node_modules/nsfw/build/Release/nsfw.node) ``` Build Machine Requirements -------------------------- The IDE builds distributed by Arduino should be compatible with a reasonable range of Linux distribution versions. In order to achieve this, the builds must be performed in a machine with an older version of the shared libraries. The shared libraries are part of the Linux distro, and installing a different version is not feasible. So this imposes a maximum limit on the build machine's distro version. The distributed builds are generated via a GitHub Actions workflow. The most simple approach is to run the build in the machine of the GitHub-hosted runners provided for each operating system. However, GitHub provides a limited range of operating system versions in their runners, and removes the older versions as newer versions are added. This means that building in the GitHub-hosted runner machine would not allow for the desired range of Linux distro version compatibility. For this reason, the Linux build is performed in a Docker container that provides an older version of Ubuntu. The same situation of incompatibility with Linux distro versions that have a version of the shared library dependencies older than the version present on the build machine occurs for several of the tools and frameworks used by the build process (e.g., Node.js, Python). In this case, the tables are turned as we are now the user rather than the distributor and so are at the mercy of the Linux distro version compatibility range provided by the distributor. So this imposes a minimum limit on the build machine's distro version. Although several of the dependencies used by the standard build system have dependencies on versions of glibc higher than the version 2.27 present in Ubuntu 18.04, it was possible to use this distro version in the Linux build container by using alternative distributions and/or versions of these dependencies. Workflow Artifacts ------------------ The build workflow uses GitHub actions workflow artifacts to transfer the files generated by the build job to subsequent jobs in the workflow. The "actions/upload-artifact" action is used for this purpose. Problem ======= GitHub is dropping support for the workflow artifacts produced by the version 3.x of the "actions/upload-artifact" action that was previously used by the build job. So the action version used in the build workflow was updated to the current version 4.x. This version of the action uses a newer version of the Node.js runtime (20). Unfortunately the the Node.js 20 runtime used by the action has a dependency on glibc version 2.28, which causes the Linux build job to fail after the update of the "actions/upload-artifact" action: ``` Run actions/upload-artifact@v4 /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node) ``` Unlike the other dependencies of the build process, it is no longer possible to work around this incompatibility by continuing to use the older compatible version of the "actions/upload-artifact" action. It is also impossible to replace the incompatible Node.js 20.x distribution used by the action, since it comes from the read-only file system of the runner image. Likewise, it is not possible to configure or force the action to use a Node.js installation at a different path on the runner machine. Resolution ========== Compatibility with the new version of the "actions/upload-artifact" action is attained by updating the version of Linux in the build container to 18.10, which is the oldest version that has glibc 2.28. The presence of a newer glibc version in the container also makes it compatible with several other dependencies of the build process, meaning the code in the Dockerfile and workflow for working around the incompatibilities of Ubuntu 18.04 can be removed. Consequences ============ Unfortunately this means the loss of compatibility of the Linux Arduino IDE builds with distros that use glibc 2.27 (e.g., Ubuntu 18.04). User of those distros will now find that Arduino IDE fails to start with an error like: ``` Error: node-loader: Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/foo/arduino-ide/resources/app/lib/backend/native/pty.node) at 85467 (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:2766) at __webpack_require__ (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:6663105) at 23571 (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:3374073) at __webpack_require__ (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:6663105) at 55444 (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:3369761) at __webpack_require__ (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:6663105) at 24290 (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:1780542) at __webpack_require__ (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:6663105) at 43416 (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:1770138) at __webpack_require__ (/home/foo/arduino-ide/resources/app/lib/backend/main.js:2:6663105) ``` --- .github/workflows/assets/linux.Dockerfile | 93 ++++++----------------- .github/workflows/build.yml | 39 ++++------ 2 files changed, 37 insertions(+), 95 deletions(-) diff --git a/.github/workflows/assets/linux.Dockerfile b/.github/workflows/assets/linux.Dockerfile index 35d546ca0..9124f0365 100644 --- a/.github/workflows/assets/linux.Dockerfile +++ b/.github/workflows/assets/linux.Dockerfile @@ -1,43 +1,28 @@ # The Arduino IDE Linux build workflow job runs in this container. # syntax=docker/dockerfile:1 -FROM ubuntu:18.04 - -# See: https://unofficial-builds.nodejs.org/download/release/ -ARG node_version="18.17.1" +# See: https://hub.docker.com/_/ubuntu/tags +FROM ubuntu:18.10 +# This is required in order to use the Ubuntu package repositories for EOL Ubuntu versions: +# https://help.ubuntu.com/community/EOLUpgrades#Update_sources.list RUN \ - apt-get \ - --yes \ - update + sed \ + --in-place \ + --regexp-extended \ + --expression='s/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' \ + "/etc/apt/sources.list" -# This is required to get add-apt-repository RUN \ apt-get \ --yes \ - install \ - "software-properties-common=0.96.24.32.22" + update -# Install Git -# The PPA is required to get a modern version of Git. The version in the Ubuntu 18.04 package repository is 2.17.1, -# while action/checkout@v3 requires 2.18 or higher. RUN \ - add-apt-repository \ - --yes \ - "ppa:git-core/ppa" && \ - apt-get \ - --yes \ - update && \ - \ apt-get \ --yes \ install \ - "git" && \ - \ - apt-get \ - --yes \ - purge \ - "software-properties-common" + "git" # The repository path must be added to safe.directory, otherwise any Git operations on it would fail with a # "dubious ownership" error. actions/checkout configures this, but it is not applied to containers. @@ -51,18 +36,12 @@ ENV \ # Install Python # The Python installed by actions/setup-python has dependency on a higher version of glibc than available in the -# ubuntu:18.04 container. +# container. RUN \ apt-get \ --yes \ install \ - "python3.8-minimal=3.8.0-3ubuntu1~18.04.2" && \ - \ - ln \ - --symbolic \ - --force \ - "$(which python3.8)" \ - "/usr/bin/python3" + "python3.7-minimal=3.7.3-2~18.10" # Install Theia's package dependencies # These are pre-installed in the GitHub Actions hosted runner machines. @@ -70,43 +49,15 @@ RUN \ apt-get \ --yes \ install \ - "libsecret-1-dev=0.18.6-1" \ - "libx11-dev=2:1.6.4-3ubuntu0.4" \ + "libsecret-1-dev=0.18.6-3" \ + "libx11-dev=2:1.6.7-1" \ "libxkbfile-dev=1:1.0.9-2" -# Install Node.js -# It is necessary to use the "unofficial" linux-x64-glibc-217 build because the official Node.js 18.x is dynamically -# linked against glibc 2.28, while Ubuntu 18.04 has glibc 2.27. -ARG node_installation_path="/tmp/node-installation" -ARG artifact_name="node-v${node_version}-linux-x64-glibc-217" -RUN \ - mkdir "$node_installation_path" && \ - cd "$node_installation_path" && \ - \ - apt-get \ - --yes \ - install \ - "wget=1.19.4-1ubuntu2.2" && \ - \ - archive_name="${artifact_name}.tar.xz" && \ - wget \ - "https://unofficial-builds.nodejs.org/download/release/v${node_version}/${archive_name}" && \ - \ - apt-get \ - --yes \ - purge \ - "wget" && \ - \ - tar \ - --file="$archive_name" \ - --extract && \ - rm "$archive_name" -ENV PATH="${PATH}:${node_installation_path}/${artifact_name}/bin" - -# Install Yarn -# Yarn is pre-installed in the GitHub Actions hosted runner machines. +# Target python3 symlink to Python 3.7 installation. It would otherwise target version 3.6 due to the installation of +# the `python3` package as a transitive dependency. RUN \ - npm \ - install \ - --global \ - "yarn@1.22.19" + ln \ + --symbolic \ + --force \ + "$(which python3.7)" \ + "/usr/bin/python3" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cdc2b0f4e..e4e09b73f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,6 +48,7 @@ env: GO_VERSION: '1.21' # See: https://github.com/actions/setup-node/#readme NODE_VERSION: '18.17' + YARN_VERSION: '1.22' JOB_TRANSFER_ARTIFACT_PREFIX: build-artifacts- CHANGELOG_ARTIFACTS: changelog STAGED_CHANNEL_FILE_ARTIFACT_PREFIX: staged-channel-file- @@ -316,21 +317,26 @@ jobs: if not exist "${{ matrix.config.working-directory }}" mklink /d "${{ matrix.config.working-directory }}" "C:\actions-runner\_work\arduino-ide\arduino-ide" - name: Checkout - if: fromJSON(matrix.config.container) == null uses: actions/checkout@v4 - - name: Checkout - # actions/checkout@v4 has dependency on a higher version of glibc than available in the Linux container. - if: fromJSON(matrix.config.container) != null - uses: actions/checkout@v3 - name: Install Node.js - if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' + if: runner.name != 'WINDOWS-SIGN-PC' uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} registry-url: 'https://registry.npmjs.org' - cache: 'yarn' + # Yarn is a prerequisite for the action's cache feature, so caching should be disabled when running in the + # container where Yarn is not pre-installed. + cache: ${{ fromJSON(matrix.config.container) == null && 'yarn' || null }} + + - name: Install Yarn + if: runner.name != 'WINDOWS-SIGN-PC' + run: | + npm \ + install \ + --global \ + "yarn@${{ env.YARN_VERSION }}" - name: Install Python 3.x if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' @@ -339,33 +345,18 @@ jobs: python-version: '3.11.x' - name: Install Go - if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' + if: runner.name != 'WINDOWS-SIGN-PC' uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} - - name: Install Go - # actions/setup-go@v5 has dependency on a higher version of glibc than available in the Linux container. - if: fromJSON(matrix.config.container) != null && runner.name != 'WINDOWS-SIGN-PC' - uses: actions/setup-go@v4 - with: - go-version: ${{ env.GO_VERSION }} - - name: Install Taskfile - if: fromJSON(matrix.config.container) == null && runner.name != 'WINDOWS-SIGN-PC' + if: runner.name != 'WINDOWS-SIGN-PC' uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x - - name: Install Taskfile - # actions/setup-task@v2 has dependency on a higher version of glibc than available in the Linux container. - if: fromJSON(matrix.config.container) != null && runner.name != 'WINDOWS-SIGN-PC' - uses: arduino/setup-task@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Package env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 284dd83d7daa82fa4fa4783d3aaf46bef4edb3f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 19:52:20 +0000 Subject: [PATCH 61/87] build(deps): Bump peter-evans/create-pull-request from 5 to 7 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 7. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v7) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/i18n-weekly-pull.yml | 2 +- .github/workflows/themes-weekly-pull.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/i18n-weekly-pull.yml b/.github/workflows/i18n-weekly-pull.yml index 88157a7fa..ef87c8bbb 100644 --- a/.github/workflows/i18n-weekly-pull.yml +++ b/.github/workflows/i18n-weekly-pull.yml @@ -46,7 +46,7 @@ jobs: TRANSIFEX_API_KEY: ${{ secrets.TRANSIFEX_API_KEY }} - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 + uses: peter-evans/create-pull-request@v7 with: commit-message: Updated translation files title: Update translation files diff --git a/.github/workflows/themes-weekly-pull.yml b/.github/workflows/themes-weekly-pull.yml index bd9f845c1..0590e421f 100644 --- a/.github/workflows/themes-weekly-pull.yml +++ b/.github/workflows/themes-weekly-pull.yml @@ -55,7 +55,7 @@ jobs: run: yarn run themes:generate - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 + uses: peter-evans/create-pull-request@v7 with: commit-message: Updated themes title: Update themes From 3aedafa306076fa02ebfd421aab368819313c15e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 08:53:58 +0000 Subject: [PATCH 62/87] build(deps): Bump docker/build-push-action from 5 to 6 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v5...v6) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check-containers.yml | 2 +- .github/workflows/push-container-images.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-containers.yml b/.github/workflows/check-containers.yml index 21e9c74ee..964867cdd 100644 --- a/.github/workflows/check-containers.yml +++ b/.github/workflows/check-containers.yml @@ -43,7 +43,7 @@ jobs: uses: actions/checkout@v4 - name: Build and push to local registry - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . file: ${{ matrix.image.path }} diff --git a/.github/workflows/push-container-images.yml b/.github/workflows/push-container-images.yml index 52f638bd2..f6a2c9a5b 100644 --- a/.github/workflows/push-container-images.yml +++ b/.github/workflows/push-container-images.yml @@ -59,7 +59,7 @@ jobs: images: ${{ matrix.image.registry }}/${{ matrix.image.name }} - name: Build and push image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . file: ${{ matrix.image.path }} From 71b11ed82993f7b93b1dedfa15884f3466c27c6d Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 26 Nov 2024 19:01:07 +0100 Subject: [PATCH 63/87] feat: add donate footer to updater dialog --- .../ide-updater/ide-updater-dialog.tsx | 45 +++++++++++++++++++ .../src/browser/icons/link-open-icon.svg | 3 ++ .../src/browser/style/ide-updater-dialog.css | 32 +++++++++++++ i18n/en.json | 3 ++ 4 files changed, 83 insertions(+) create mode 100644 arduino-ide-extension/src/browser/icons/link-open-icon.svg diff --git a/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx b/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx index 0c6abbfaa..e73de643f 100644 --- a/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx +++ b/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx @@ -165,6 +165,50 @@ export class IDEUpdaterDialog extends ReactDialog { goToDownloadPageButton.focus(); } + private appendDonateFooter() { + const footer = document.createElement('div'); + footer.classList.add('ide-updater-dialog--footer'); + const footerContent = document.createElement('div'); + footerContent.classList.add('ide-updater-dialog--footer-content'); + footer.appendChild(footerContent); + + const footerLink = document.createElement('a'); + footerLink.innerText = nls.localize( + 'arduino/ide-updater/donateLinkText', + 'donate to support us' + ); + footerLink.classList.add('ide-updater-dialog--footer-link'); + footerLink.onclick = () => + this.openExternal('https://www.arduino.cc/en/donate'); + + const footerLinkIcon = document.createElement('span'); + footerLinkIcon.title = nls.localize( + 'arduino/ide-updater/donateLinkIconTitle', + 'open donation page' + ); + footerLinkIcon.classList.add('ide-updater-dialog--footer-link-icon'); + footerLink.appendChild(footerLinkIcon); + + const placeholderKey = '%%link%%'; + const footerText = nls.localize( + 'arduino/ide-updater/donateText', + 'Open source is love, {0}', + placeholderKey + ); + const placeholder = footerText.indexOf(placeholderKey); + if (placeholder !== -1) { + const parts = footerText.split(placeholderKey); + footerContent.appendChild(document.createTextNode(parts[0])); + footerContent.appendChild(footerLink); + footerContent.appendChild(document.createTextNode(parts[1])); + } else { + footerContent.appendChild(document.createTextNode(footerText)); + footerContent.appendChild(footerLink); + } + + this.controlPanel.insertAdjacentElement('afterend', footer); + } + private openDownloadPage(): void { this.openExternal('https://www.arduino.cc/en/software'); this.close(); @@ -187,6 +231,7 @@ export class IDEUpdaterDialog extends ReactDialog { downloadStarted: true, }); this.clearButtons(); + this.appendDonateFooter(); this.updater.downloadUpdate(); } diff --git a/arduino-ide-extension/src/browser/icons/link-open-icon.svg b/arduino-ide-extension/src/browser/icons/link-open-icon.svg new file mode 100644 index 000000000..21136c806 --- /dev/null +++ b/arduino-ide-extension/src/browser/icons/link-open-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/arduino-ide-extension/src/browser/style/ide-updater-dialog.css b/arduino-ide-extension/src/browser/style/ide-updater-dialog.css index 5d5592baf..8d722c9d1 100644 --- a/arduino-ide-extension/src/browser/style/ide-updater-dialog.css +++ b/arduino-ide-extension/src/browser/style/ide-updater-dialog.css @@ -34,6 +34,37 @@ min-width: 0; } +.ide-updater-dialog--footer { + display: inline-block; + margin-top: -16px; + padding: 12px 0 24px 0; + border-top: 1px solid var(--theia-editorWidget-border); +} +.ide-updater-dialog--footer-content { + float: right; +} + +.ide-updater-dialog--footer-link { + display: inline-block; + color: var(--theia-textLink-foreground); + font-weight: 500; + line-height: 13px; +} +.ide-updater-dialog--footer-link:hover { + color: var(--theia-textLink-foreground); + cursor: pointer; +} +.ide-updater-dialog--footer-link-icon { + display: inline-block; + -webkit-mask: url(../icons/link-open-icon.svg) center no-repeat; + background-color: var(--theia-textLink-foreground); + height: 12px; + width: 12px; + cursor: pointer; + transform: translateY(2px); + margin-left: 4px; +} + .ide-updater-dialog .changelog { color: var(--theia-editor-foreground); background-color: var(--theia-editor-background); @@ -109,6 +140,7 @@ max-height: 100%; overflow: hidden; display: flex; + padding-bottom: 20px !important; } #ide-updater-dialog-container .skip-version-button { diff --git a/i18n/en.json b/i18n/en.json index 17cd55547..d7bd68b4f 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", From 4788bfbc3ff4db4dbecb3078187f7b0a733abffe Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 26 Nov 2024 21:59:42 +0100 Subject: [PATCH 64/87] feat: introduce `VersionWelcomeDialog` Show donate dialog after the first time a first IDE version is loaded --- .../browser/arduino-ide-frontend-module.ts | 9 ++ .../contributions/check-for-ide-updates.ts | 58 +++++++++- .../dialogs/version-welcome-dialog.tsx | 104 ++++++++++++++++++ .../src/browser/style/index.css | 1 + .../browser/style/version-welcome-dialog.css | 7 ++ .../src/common/protocol/ide-updater.ts | 1 + i18n/en.json | 8 ++ 7 files changed, 186 insertions(+), 2 deletions(-) create mode 100644 arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx create mode 100644 arduino-ide-extension/src/browser/style/version-welcome-dialog.css diff --git a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts index 2b170dd7b..d6779c302 100644 --- a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts +++ b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts @@ -387,6 +387,10 @@ import { import { TreeViewDecoratorService } from '@theia/plugin-ext/lib/main/browser/view/tree-view-decorator-service'; import { PLUGIN_VIEW_DATA_FACTORY_ID } from '@theia/plugin-ext/lib/main/browser/view/plugin-view-registry'; import { TreeViewWidget } from './theia/plugin-ext/tree-view-widget'; +import { + VersionWelcomeDialog, + VersionWelcomeDialogProps, +} from './dialogs/version-welcome-dialog'; // Hack to fix copy/cut/paste issue after electron version update in Theia. // https://github.com/eclipse-theia/theia/issues/12487 @@ -1014,6 +1018,11 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { title: 'IDEUpdater', }); + bind(VersionWelcomeDialog).toSelf().inSingletonScope(); + bind(VersionWelcomeDialogProps).toConstantValue({ + title: 'VersionWelcomeDialog', + }); + bind(UserFieldsDialog).toSelf().inSingletonScope(); bind(UserFieldsDialogProps).toConstantValue({ title: 'UserFields', diff --git a/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts b/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts index ab5f62ac2..7ac57ac01 100644 --- a/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts +++ b/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts @@ -3,10 +3,14 @@ import { LocalStorageService } from '@theia/core/lib/browser/storage-service'; import { inject, injectable } from '@theia/core/shared/inversify'; import { IDEUpdater, + LAST_USED_IDE_VERSION, SKIP_IDE_VERSION, } from '../../common/protocol/ide-updater'; import { IDEUpdaterDialog } from '../dialogs/ide-updater/ide-updater-dialog'; import { Contribution } from './contribution'; +import { VersionWelcomeDialog } from '../dialogs/version-welcome-dialog'; +import { AppService } from '../app-service'; +import { SemVer } from 'semver'; @injectable() export class CheckForIDEUpdates extends Contribution { @@ -16,9 +20,15 @@ export class CheckForIDEUpdates extends Contribution { @inject(IDEUpdaterDialog) private readonly updaterDialog: IDEUpdaterDialog; + @inject(VersionWelcomeDialog) + private readonly versionWelcomeDialog: VersionWelcomeDialog; + @inject(LocalStorageService) private readonly localStorage: LocalStorageService; + @inject(AppService) + private readonly appService: AppService; + override onStart(): void { this.preferences.onPreferenceChanged( ({ preferenceName, newValue, oldValue }) => { @@ -36,7 +46,7 @@ export class CheckForIDEUpdates extends Contribution { ); } - override onReady(): void { + override async onReady(): Promise { this.updater .init( this.preferences.get('arduino.ide.updateChannel'), @@ -49,7 +59,13 @@ export class CheckForIDEUpdates extends Contribution { return this.updater.checkForUpdates(true); }) .then(async (updateInfo) => { - if (!updateInfo) return; + if (!updateInfo) { + const isNewVersion = await this.isNewStableVersion(); + if (isNewVersion) { + this.versionWelcomeDialog.open(); + } + return; + } const versionToSkip = await this.localStorage.getData( SKIP_IDE_VERSION ); @@ -64,6 +80,44 @@ export class CheckForIDEUpdates extends Contribution { e.message ) ); + }) + .finally(() => { + this.setCurrentIDEVersion(); }); } + + private async setCurrentIDEVersion(): Promise { + try { + const { appVersion } = await this.appService.info(); + const currSemVer = new SemVer(appVersion ?? ''); + this.localStorage.setData(LAST_USED_IDE_VERSION, currSemVer.format()); + } catch { + // ignore invalid versions + } + } + + /** + * Check if user is running a new IDE version for the first time. + * @returns true if the current IDE version is greater than the last used version + * and both are non-prerelease versions. + */ + private async isNewStableVersion(): Promise { + try { + const { appVersion } = await this.appService.info(); + const prevVersion = await this.localStorage.getData( + LAST_USED_IDE_VERSION + ); + + const prevSemVer = new SemVer(prevVersion ?? ''); + const currSemVer = new SemVer(appVersion ?? ''); + + if (prevSemVer.prerelease.length || currSemVer.prerelease.length) { + return false; + } + + return currSemVer.compare(prevSemVer) === 1; + } catch (e) { + return false; + } + } } diff --git a/arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx b/arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx new file mode 100644 index 000000000..6d5a71db0 --- /dev/null +++ b/arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx @@ -0,0 +1,104 @@ +import React from '@theia/core/shared/react'; +import { inject, injectable } from '@theia/core/shared/inversify'; +import { Message } from '@theia/core/shared/@phosphor/messaging'; +import { ReactDialog } from '../theia/dialogs/dialogs'; +import { nls } from '@theia/core'; +import { DialogProps } from '@theia/core/lib/browser'; +import { WindowService } from '@theia/core/lib/browser/window/window-service'; +import { AppService } from '../app-service'; + +@injectable() +export class VersionWelcomeDialogProps extends DialogProps {} + +@injectable() +export class VersionWelcomeDialog extends ReactDialog { + @inject(AppService) + private readonly appService: AppService; + + @inject(WindowService) + private readonly windowService: WindowService; + + constructor( + @inject(VersionWelcomeDialogProps) + protected override readonly props: VersionWelcomeDialogProps + ) { + super({ + title: nls.localize( + 'arduino/versionWelcome/title', + 'Welcome to a new version of the Arduino IDE!' + ), + }); + this.node.id = 'version-welcome-dialog-container'; + this.contentNode.classList.add('version-welcome-dialog'); + } + + protected render(): React.ReactNode { + return ( +
+

+ {nls.localize( + 'arduino/versionWelcome/donateMessage', + 'Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.' + )} +

+

+ {nls.localize( + 'arduino/versionWelcome/donateMessage2', + 'Please consider supporting our work on the free open source Arduino IDE.' + )} +

+
+ ); + } + + override get value(): void { + return; + } + + private appendButtons(): void { + const cancelButton = this.createButton( + nls.localize('arduino/versionWelcome/cancelButton', 'Maybe later') + ); + cancelButton.classList.add('secondary'); + cancelButton.classList.add('cancel-button'); + this.addAction(cancelButton, this.close.bind(this), 'click'); + this.controlPanel.appendChild(cancelButton); + + const donateButton = this.createButton( + nls.localize('arduino/versionWelcome/donateButton', 'Donate now') + ); + this.addAction(donateButton, this.onDonateButtonClick.bind(this), 'click'); + this.controlPanel.appendChild(donateButton); + donateButton.focus(); + } + + private onDonateButtonClick(): void { + this.openDonationPage(); + this.close(); + } + + private readonly openDonationPage = () => { + const url = 'https://www.arduino.cc/en/donate'; + this.windowService.openNewWindow(url, { external: true }); + }; + + private async updateTitleVersion(): Promise { + const appInfo = await this.appService.info(); + const { appVersion } = appInfo; + + if (appVersion) { + this.titleNode.innerHTML = nls.localize( + 'arduino/versionWelcome/titleWithVersion', + 'Welcome to the new Arduino IDE {0}!', + appVersion + ); + } + } + + protected override onAfterAttach(msg: Message): void { + this.update(); + this.appendButtons(); + this.updateTitleVersion(); + super.onAfterAttach(msg); + } +} diff --git a/arduino-ide-extension/src/browser/style/index.css b/arduino-ide-extension/src/browser/style/index.css index fd7887ae1..593cf1eaf 100644 --- a/arduino-ide-extension/src/browser/style/index.css +++ b/arduino-ide-extension/src/browser/style/index.css @@ -10,6 +10,7 @@ @import "./settings-dialog.css"; @import "./firmware-uploader-dialog.css"; @import "./ide-updater-dialog.css"; +@import "./version-welcome-dialog.css"; @import "./certificate-uploader-dialog.css"; @import "./user-fields-dialog.css"; @import "./debug.css"; diff --git a/arduino-ide-extension/src/browser/style/version-welcome-dialog.css b/arduino-ide-extension/src/browser/style/version-welcome-dialog.css new file mode 100644 index 000000000..80d6f71e4 --- /dev/null +++ b/arduino-ide-extension/src/browser/style/version-welcome-dialog.css @@ -0,0 +1,7 @@ +#version-welcome-dialog-container > .dialogBlock { + width: 546px; + + .bold { + font-weight: bold; + } +} diff --git a/arduino-ide-extension/src/common/protocol/ide-updater.ts b/arduino-ide-extension/src/common/protocol/ide-updater.ts index 5608e63be..ebc8bfef2 100644 --- a/arduino-ide-extension/src/common/protocol/ide-updater.ts +++ b/arduino-ide-extension/src/common/protocol/ide-updater.ts @@ -71,3 +71,4 @@ export interface IDEUpdaterClient { } export const SKIP_IDE_VERSION = 'skipIDEVersion'; +export const LAST_USED_IDE_VERSION = 'lastUsedIDEVersion'; diff --git a/i18n/en.json b/i18n/en.json index d7bd68b4f..b769cd868 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -528,6 +528,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } From 8e18c47d300cdc0cafaed31429ce467d826278eb Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:01:18 +0100 Subject: [PATCH 65/87] feat: use `dompurify` to sanitize translations Pin same version of `dompurify` used in Theia --- arduino-ide-extension/package.json | 1 + .../dialogs/ide-updater/ide-updater-dialog.tsx | 16 +++++++++------- .../browser/dialogs/version-welcome-dialog.tsx | 11 +++++++---- yarn.lock | 5 +++++ 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 6dfb8e35a..79d087742 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -67,6 +67,7 @@ "cross-fetch": "^3.1.5", "dateformat": "^3.0.3", "deepmerge": "^4.2.2", + "dompurify": "^2.4.7", "drivelist": "^9.2.4", "electron-updater": "^4.6.5", "fast-deep-equal": "^3.1.3", diff --git a/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx b/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx index e73de643f..0598b2853 100644 --- a/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx +++ b/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx @@ -17,6 +17,7 @@ import { } from '../../../common/protocol/ide-updater'; import { LocalStorageService } from '@theia/core/lib/browser'; import { WindowService } from '@theia/core/lib/browser/window/window-service'; +import { sanitize } from 'dompurify'; @injectable() export class IDEUpdaterDialogProps extends DialogProps {} @@ -173,9 +174,8 @@ export class IDEUpdaterDialog extends ReactDialog { footer.appendChild(footerContent); const footerLink = document.createElement('a'); - footerLink.innerText = nls.localize( - 'arduino/ide-updater/donateLinkText', - 'donate to support us' + footerLink.innerText = sanitize( + nls.localize('arduino/ide-updater/donateLinkText', 'donate to support us') ); footerLink.classList.add('ide-updater-dialog--footer-link'); footerLink.onclick = () => @@ -190,10 +190,12 @@ export class IDEUpdaterDialog extends ReactDialog { footerLink.appendChild(footerLinkIcon); const placeholderKey = '%%link%%'; - const footerText = nls.localize( - 'arduino/ide-updater/donateText', - 'Open source is love, {0}', - placeholderKey + const footerText = sanitize( + nls.localize( + 'arduino/ide-updater/donateText', + 'Open source is love, {0}', + placeholderKey + ) ); const placeholder = footerText.indexOf(placeholderKey); if (placeholder !== -1) { diff --git a/arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx b/arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx index 6d5a71db0..380d980df 100644 --- a/arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx +++ b/arduino-ide-extension/src/browser/dialogs/version-welcome-dialog.tsx @@ -6,6 +6,7 @@ import { nls } from '@theia/core'; import { DialogProps } from '@theia/core/lib/browser'; import { WindowService } from '@theia/core/lib/browser/window/window-service'; import { AppService } from '../app-service'; +import { sanitize } from 'dompurify'; @injectable() export class VersionWelcomeDialogProps extends DialogProps {} @@ -87,10 +88,12 @@ export class VersionWelcomeDialog extends ReactDialog { const { appVersion } = appInfo; if (appVersion) { - this.titleNode.innerHTML = nls.localize( - 'arduino/versionWelcome/titleWithVersion', - 'Welcome to the new Arduino IDE {0}!', - appVersion + this.titleNode.innerText = sanitize( + nls.localize( + 'arduino/versionWelcome/titleWithVersion', + 'Welcome to the new Arduino IDE {0}!', + appVersion + ) ); } } diff --git a/yarn.lock b/yarn.lock index f70c3a914..0c3367a1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5937,6 +5937,11 @@ dompurify@^2.2.9: resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc" integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ== +dompurify@^2.4.7: + version "2.5.7" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.7.tgz#6e0d36b9177db5a99f18ade1f28579db5ab839d7" + integrity sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q== + dot-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" From 1112057979aa28f20c0ca184dfd8462c28ed5cf5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:02:58 +0100 Subject: [PATCH 66/87] Updated translation files (#2523) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- i18n/af.json | 5 + i18n/ar.json | 31 +-- i18n/az.json | 5 + i18n/be.json | 7 +- i18n/bg.json | 5 + i18n/ca_ES.json | 5 + i18n/cs.json | 21 +- i18n/da.json | 5 + i18n/de.json | 5 + i18n/el.json | 5 + i18n/es.json | 17 +- i18n/eu.json | 5 + i18n/fa.json | 5 + i18n/fil.json | 5 + i18n/fr.json | 5 + i18n/he.json | 5 + i18n/hu.json | 5 + i18n/hy.json | 5 + i18n/id.json | 5 + i18n/it.json | 5 + i18n/ja.json | 5 + i18n/ko.json | 7 +- i18n/my_MM.json | 5 + i18n/ne.json | 5 + i18n/nl.json | 5 + i18n/no.json | 5 + i18n/pl.json | 5 + i18n/pt.json | 5 + i18n/ro.json | 5 + i18n/ru.json | 5 + i18n/si.json | 5 + i18n/sk.json | 557 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/sr.json | 5 + i18n/th.json | 5 + i18n/tr.json | 5 + i18n/uk.json | 5 + i18n/vi.json | 5 + i18n/zh-Hant.json | 5 + i18n/zh.json | 5 + i18n/zh_TW.json | 7 +- 40 files changed, 782 insertions(+), 30 deletions(-) create mode 100644 i18n/sk.json diff --git a/i18n/af.json b/i18n/af.json index cf5ee6560..c6f4d2b10 100644 --- a/i18n/af.json +++ b/i18n/af.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "boards", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "Programeerder", + "reloadBoardData": "Reload Board Data", "reselectLater": "Herselekteer later", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Kies Bord", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "oplaai", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verifieer kode na oplaai ", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/ar.json b/i18n/ar.json index 3caadecc5..c0df39480 100644 --- a/i18n/ar.json +++ b/i18n/ar.json @@ -8,13 +8,14 @@ "goToCloudEditor": "الانتقال الى المحرر السحابي", "goToIoTCloud": "الانتقال الى سحابة الIoT", "goToProfile": "الانتقال الى ملف التعريف الشخصي", - "menuTitle": "Arduino Cloud" + "menuTitle": "الخدمة السحابية للأردوينو" }, "board": { "board": "اللوحة {0}", - "boardConfigDialogTitle": "أختر متحكم و منفذ مختلفين ", + "boardConfigDialogTitle": "اختر لوحة أخرى ومنفذها", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "معلومات اللوحة", - "boards": "المتحكمات", + "boards": "اللوحات", "configDialog1": "اختر لوحة و منفذ معا اذا اردت ان ترفع السكتش", "configDialog2": "اذا قمت باختيار لوحة فقط ستسطيع ان تترجم لكن بدون ان ترفع المشروع", "couldNotFindPreviouslySelected": "تعذر ايجاد اللوحة '{0}' المختارة مسبقا في المنصة المثبتة '{1}' . الرجاء اعادة اختيار اللوحة التي تريد استعمالها يدويا . هل تريد باعادة الاختيار الان؟", @@ -22,19 +23,21 @@ "getBoardInfo": "الحصول على معلومات اللوحة", "inSketchbook": "(داخل ملف المشاريع)", "installNow": "نواة \"{0} {1}\" يجب تثبيتها للوحة \"{2}\" التي تم اختيارها . هل تريد تثبيتها الان ؟", - "noBoardsFound": "لا يوجد لوحات ل \"{0}\"", + "noBoardsFound": "لم يتم العثور على لوحة لـ \"{0}\"", "noNativeSerialPort": "منفذ الاتصال التسلسلي الاساسي , تعذر الحصول على معلومات", - "noPortsDiscovered": "تعذر ايجاد منافذ", + "noPortsDiscovered": "لم يتم العثور على منفذ متصل", "nonSerialPort": "منفذ اتصال غير تسلسلي , تعذر الحصول على معلومات", "openBoardsConfig": "قم باختيار لوحة و منفذ مختلفين", "pleasePickBoard": "من فضلك اختر لوحة متصلة على المنفذ الذي اخترته", "port": "المنفذ {0}", "ports": "منافذ", "programmer": "المبرمجة", + "reloadBoardData": "Reload Board Data", "reselectLater": "اعد الاختيار لاحقا", "revertBoardsConfig": "استخدم '{0}' تعامل مع '{1}'", "searchBoard": "أبحث عن متحكم", "selectBoard": "اختر لوحة", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "الرجاء اختيار منفذ من اجل الحصول على معلومات اللوحة", "showAllAvailablePorts": "يظهر كل المنافذ المتاحة عند تفعيله", "showAllPorts": "أظهر جميع المنافذ", @@ -139,7 +142,7 @@ "installManually": "ثبّت يدويا", "later": "لاحقا", "noBoardSelected": "لم يتم اختيار اي لوحة", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "لم يتم فتح صفحة كتابة الكود", "notConnected": "[غير متصل]", "offlineIndicator": "انت غير متصل بالانترنت على الارجح , بدون الاتصال بالانترنت لن تستطيع واجهة سطر الاوامر الخاصة بالاردوينو \"Arduino CLI\" تحميل الموارد المطلوبة و من الممكن ان تسبب باخطاء , الرجاء الاتصال بالانترنت و اعادة تشغيل البرنامج", "oldFormat": "ال '{0}' ما زالت تستخدم صيغة `.pde` القديمة . هل تريد الانتقال الى صيغة `.ino`  الجديدة ؟", @@ -147,13 +150,13 @@ "processing": "تتم المعالجة", "recommended": "يُنصح به", "retired": "متقاعد", - "selectManually": "Select Manually", + "selectManually": "اختر يدوياً", "selectedOn": "{0} شغّل", "serialMonitor": "مراقب المنفذ التسلسلي \"سيريال بورت\"\n ", "type": "النوع", "unknown": "غير معروف", "updateable": "يمكن تحديثه", - "userAbort": "User abort" + "userAbort": "إلغاء المستخدم" }, "compile": { "error": "خطا في الترجمة : {0}" @@ -212,7 +215,7 @@ "debug": { "debugWithMessage": "تصحيح برمجي - {0}", "debuggingNotSupported": "'{0}' لا يقبل التصحيح البرمجي", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "الحصول على معلومات التصحيح", "noPlatformInstalledFor": "المنصة غير مثبتة ل '{0}'", "optimizeForDebugging": "التحسين من اجل التصحيح البرمجي", "sketchIsNotCompiled": "المشروع '{0}' يجب ان يتم التحقق منه قبل بدء جلسة تصحيح الاخطاء . الرجاء التحقق من المشروع و اعادة تشغيل مصحح الاخطاء مرة اخرى .\nهل تريد التحقق من المشروع الان؟" @@ -368,7 +371,7 @@ "cloud.pull.warn": "True اذا كان يجب تحذير المستخدمين قبل سحب مشروع من السحابة . True افتراضيا", "cloud.push.warn": "True اذا كان يجب تحذير المستخدمين قبل دفع مشروع الى السحابة . True افتراضيا", "cloud.pushpublic.warn": "True اذا كان يجب تحذير المستخدمين قبل دفع مشروع عام الى السحابة . True افتراضيا", - "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sharedSpaceId": "معرّف مساحة Arduino Cloud المشتركة لتحميل مجموعة المشاريع منها. إذا تُركت فارغة، يتم اختيار مساحتك الخاصة", "cloud.sketchSyncEndpoint": "الوجهة المستخدمة لدفع و سحب المشاريع من الخلفية . تشير افتراضيا الى Arduino Cloud API.", "compile": "الترجمة", "compile.experimental": "مُفعل اذا وَجَبَ على الIDE التعامل مع عدة اخطاء اثناء الترجمة . غير مفعل بشكل افتراضي ", @@ -386,7 +389,7 @@ "invalid.editorFontSize": "حجم خط المحرّر غير صالح . يجب ان يكون عدد موجب", "invalid.sketchbook.location": "موقع ملف المشروع غير صالح : {0}", "invalid.theme": "سمة غير صالحة", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.asyncWorkers": "عدد العاملين غير المتزامنين المستخدمين من قبل خادم لغة Arduino (clangd). يستخدم الفهرس الخلفي أيضاً نفس عدد العاملين. الحد الأدنى للقيمة هو 0، والحد الأقصى هو 8. عندما تكون القيمة 0، يستخدم خادم اللغة جميع النوى المتاحة. القيمة الافتراضية هي 0", "language.log": "\"True\" اذا كان مخدم اللغات الخاص بArduino يستطيع توليد سجلات الى ملف المشروع , و الا \"False\", و هي كذلك بشكل افتراضي.", "language.realTimeDiagnostics": "اذا تم تفعيله , سيقوم سيرفر اللغة باعطاء تشخيصات للاخطاء خلال الوقت الحقيقي اثناء الكتابة ضمن المحرر . غير مفعل بشكل افتراضي", "manualProxy": "اعدادات الوكيل يدوياً", @@ -412,7 +415,9 @@ "survey.notification": "مفعل اذا اراد المستخدم ان يتم تبليغه في حالوجود استطلاع راي . مفعل بشكل افتراضي", "unofficialBoardSupport": "انقر لعرض قائمة عناوين URL للوحات المدعومة بشكل غير رسمي", "upload": "الرفع", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True لخرج الرفع المطول . False افتراضيا", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "التحقق من الكود بعد الرفع", "window.autoScale": "True اذا كان مقياس الواجهة يتزامن تلقائيا مع حجم الخط ", "window.zoomLevel": { @@ -466,8 +471,8 @@ "saveSketchAs": "حفظ ملف المشروع باسم ...", "showFolder": "اعرض ملف المشروع", "sketch": "مشروع", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchAlreadyContainsThisFileError": "السكيتش يحتوي بالفعل على ملف باسم{0}", + "sketchAlreadyContainsThisFileMessage": "فشل في حفظ السكيتش {0} كـ {1} {2}", "sketchbook": "مجلد المشاريع", "titleLocalSketchbook": "مجلد المشاريع المحلي", "titleSketchbook": "مجلد المشاريع", diff --git a/i18n/az.json b/i18n/az.json index 1027d9092..a462a8dae 100644 --- a/i18n/az.json +++ b/i18n/az.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "boards", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "Proqramlayıcı", + "reloadBoardData": "Reload Board Data", "reselectLater": "Daha Sonra Yenidən Seç", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Select Board", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/be.json b/i18n/be.json index ff3779efb..8890f2c35 100644 --- a/i18n/be.json +++ b/i18n/be.json @@ -13,6 +13,7 @@ "board": { "board": "Плата{0}", "boardConfigDialogTitle": "Абярыце іншую плату і порт", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Інфармацыя пра плату", "boards": "платы", "configDialog1": "Абярыце як плату, так і порт, калі вы жадаеце загрузіць сцэнар.", @@ -31,10 +32,12 @@ "port": "Порт{0}", "ports": "порты", "programmer": "Сродак праграмавання", + "reloadBoardData": "Reload Board Data", "reselectLater": "Абярыце паўторна пазней", "revertBoardsConfig": "Ужыта '{0}' выяўлена ў '{1}'", "searchBoard": "Знайсці плату", "selectBoard": "Знайсці плату", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Калі ласка, абярыце порт, каб атрымаць інфармацыю пра плату.", "showAllAvailablePorts": "Паказвае ўсе даступныя порты, калі яны ўключаныя", "showAllPorts": "Паказаць усе порты", @@ -368,7 +371,7 @@ "cloud.pull.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад стварэннем сцэнара ў воблаку.\nПершапачаткова true.", "cloud.push.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад запускам сцэнара ў воблаку.\nПершапачаткова true.", "cloud.pushpublic.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад адпраўкай агульнадаступнага сцэнара ў воблака.\nПершапачаткова true.", - "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sharedSpaceId": "Ідэнтыфікатар агульнай прасторы воблака Arduino, з якога можна загрузіць альбом сцэнараў.\nКалі пустое, абрана вашая асабістая прастора.", "cloud.sketchSyncEndpoint": "Канчатковая кропка, якая ўжываецца для адпраўкі і выцягвання сцэнара з сервернай часткі.\nПершапачаткова яна паказвае на API воблака Arduino.", "compile": "кампіляваць", "compile.experimental": "Калі true, асяроддзе IDE павінна апрацоўваць некалькі памылак кампілятара.\nПершапачаткова false", @@ -412,7 +415,9 @@ "survey.notification": "Калі true, карыстальнікі павінны атрымліваць апавяшчэнні аб даступнасці апытання.\nПершапачаткова true.", "unofficialBoardSupport": "Пстрыкніце, каб праглядзець спіс адрасоў URL падтрымкі неафіцыйных плат", "upload": "выгрузіць", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Калі true, каб быў падрабязны вывад пры загрузцы.\nПершапачаткова false.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Праверыць код пасля выгрузкі", "window.autoScale": "Калі true, карыстальніцкі інтэрфейс аўтаматычна маштабуецца ў адпаведнасці з памерам шрыфту.", "window.zoomLevel": { diff --git a/i18n/bg.json b/i18n/bg.json index e8102ac80..a36be5219 100644 --- a/i18n/bg.json +++ b/i18n/bg.json @@ -13,6 +13,7 @@ "board": { "board": "Платка{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Информация за платка", "boards": "boards", "configDialog1": "Изберете както платка, така и порт, ако искате да качите скица.", @@ -31,10 +32,12 @@ "port": "Порт{0}", "ports": "ports", "programmer": "Програматор", + "reloadBoardData": "Reload Board Data", "reselectLater": "Изберете отново по-късно", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Изберете платка", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Моля, изберете порт, за да получите информация за платката.", "showAllAvailablePorts": "Показва всички налични портове, когато е активиран", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Щракнете за списък с неофициално поддържаните URL адреси на платки", "upload": "качване", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True за подробен изход за качване. False по подразбиране.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Потвърдете кода след качване", "window.autoScale": "True , ако потребителският интерфейс автоматично се мащабира с размера на шрифта.", "window.zoomLevel": { diff --git a/i18n/ca_ES.json b/i18n/ca_ES.json index 8d59ff87c..c39300d87 100644 --- a/i18n/ca_ES.json +++ b/i18n/ca_ES.json @@ -13,6 +13,7 @@ "board": { "board": "Placa {0}", "boardConfigDialogTitle": "Selecciona una altra placa i port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Informació de la placa", "boards": "plaques", "configDialog1": "Selecciona una placa i un port si vols carregar un programa.", @@ -31,10 +32,12 @@ "port": "Port {0}", "ports": "ports", "programmer": "Programador", + "reloadBoardData": "Reload Board Data", "reselectLater": "Torna a triar més tard", "revertBoardsConfig": "Fes servir ' {0} ' descobert a ' {1} '", "searchBoard": "Busca una placa", "selectBoard": "Tria una placa", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Tria un port per obtenir informació de la placa.", "showAllAvailablePorts": "Mostra tots els ports disponibles habilitats", "showAllPorts": "Mostra tots els ports", @@ -412,7 +415,9 @@ "survey.notification": "Si està activat els usuaris seran notificats si hi ha una enquesta disponible. Per defecte està activat.", "unofficialBoardSupport": "Fes clic per obtenir una llista d'URLs de suport de plaques no oficials", "upload": "carrega", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Si està activat es mostrarà l'eixida detallada de la càrrega. Per defecte està desactivat.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verifica el codi després de pujar-lo", "window.autoScale": "Si està activat la interfície s'escalarà automàticament amb la mida de la lletra.", "window.zoomLevel": { diff --git a/i18n/cs.json b/i18n/cs.json index 5f66422af..4226e419e 100644 --- a/i18n/cs.json +++ b/i18n/cs.json @@ -5,43 +5,46 @@ "label": "O {0}" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", + "goToCloudEditor": "Otevřít v cloudovém editoru", "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", + "goToProfile": "Jdi do profilu", "menuTitle": "Arduino Cloud" }, "board": { "board": "Deska {0}", "boardConfigDialogTitle": "Zvolit jinou Desku a Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Info o desce", "boards": "Desky", "configDialog1": "Pokud chcete nahrát sketch, musíte zvolit jak desku tak i port.", "configDialog2": "Pokud zvolíte jen desku, budete schopni kompilovat sketch, ale nebudete ji moci nahrát do desky.", "couldNotFindPreviouslySelected": "Dříve zvolená deska '{0}' v instalované platformě '{1}' nebyla nalezena. Zvolte prosím manuálně desku kterou chcete použít. Chcete tuto desku zvolit nyní? ", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "Editovat Desku a Port", "getBoardInfo": "Získat info o desce.", "inSketchbook": "(v projektech)", "installNow": "\"{0}{1}\" jádro musí být instalováno pro aktuálně zvolenou \"{2}\" desku. Chcete ho nyní nainstalovat?", "noBoardsFound": "Nenalezeny žádné desky pro \"{0}\"", - "noNativeSerialPort": "Native serial port, can't obtain info.", + "noNativeSerialPort": "Fyzický sériový port, nemohu získat informace.", "noPortsDiscovered": "Nenalezeny žádné porty", - "nonSerialPort": "Non-serial port, can't obtain info.", + "nonSerialPort": "Nemohu získat informace, tohle není sériový port.", "openBoardsConfig": "Zvolte jinou desku a port...", "pleasePickBoard": "Vyberte prosím desku která je připojená k zvolenému portu. ", "port": "Port {0}", "ports": "porty", "programmer": "Programátor", + "reloadBoardData": "Reload Board Data", "reselectLater": "Zvolit později", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "revertBoardsConfig": "Použij '{0}' objeven na '{1}'", "searchBoard": "Vyhledat desku", "selectBoard": "Zvolit desku", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Prosím zvolte port pro získání informací o desce.", "showAllAvailablePorts": "Zobrazit všechny dostupné porty (pokud je zaškrtnuto)", "showAllPorts": "Ukázat všechny porty", "succesfullyInstalledPlatform": "Platforma {0}:{1} byla úspěšně nainstalována.", "succesfullyUninstalledPlatform": "Platforma {0}:{1} byla úspěšně odinstalována.", "typeOfPorts": "{0}porty", - "unconfirmedBoard": "Unconfirmed board", + "unconfirmedBoard": "Nepotvrzená deska", "unknownBoard": "Neznámá deska" }, "boardsManager": "Manažér desek", @@ -84,7 +87,7 @@ }, "cli-error-parser": { "keyboardError": "'Keyboard' nebylo nalezeno. Obsahuje váš projekt řádek '#include '?", - "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + "mouseError": "'Myš' nebyla nalezena. Obsahuje váš projekt řádek '#include '?" }, "cloud": { "chooseSketchVisibility": "Zvolte viditelnost sketche:", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Zde klikněte pro seznam adres neoficiálně podporovaných desek", "upload": "nahrát", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Ano pro podrobný výstup při nahrávání. Ne je výchozí hodnota. ", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Kontrolovat kód po nahrání", "window.autoScale": "Ano pokud se měřítko uživatelského prostředí automaticky mění s velikostí písma. ", "window.zoomLevel": { diff --git a/i18n/da.json b/i18n/da.json index 22babc740..17cd55547 100644 --- a/i18n/da.json +++ b/i18n/da.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "boards", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "Reselect later", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Select Board", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/de.json b/i18n/de.json index 7c4125363..392096cb1 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": " Anderes Board und anderen Ports wählen", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board-Informationen", "boards": "Boards", "configDialog1": " Wähle ein Board und einen Port, wenn du den Sketch hochladen möchtest.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "Ports", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "Später auswählen", "revertBoardsConfig": "'{0}' an '{1}' verwenden", "searchBoard": "Board suchen", "selectBoard": "Board wählen", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": " Wähle einen Port, um Infos über das Board zu erhalten.", "showAllAvailablePorts": " Alle verfügbaren Ports anzeigen, wenn aktiviert.", "showAllPorts": "Alle Ports anzeigen", @@ -412,7 +415,9 @@ "survey.notification": "Wenn diese Option aktiviert ist, werden Nutzer über eine verfügbare Umfrage informiert. Standardmäßig aktiviert.", "unofficialBoardSupport": "Klicke hier, um eine URL-Liste von inoffiziell unterstützten Boards anzuzeigen.", "upload": "Hochladen", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Wenn die Option aktiviert ist, werden ausführliche Compiler-Meldungen angezeigt. Standardmäßig deaktiviert.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Code nach Hochladen überprüfen ", "window.autoScale": "Wenn die Option aktiviert ist, skaliert die Nutzeroberfläche automatisch mit der Schriftgröße.", "window.zoomLevel": { diff --git a/i18n/el.json b/i18n/el.json index 17bbb8e44..45a2e65a9 100644 --- a/i18n/el.json +++ b/i18n/el.json @@ -13,6 +13,7 @@ "board": { "board": "Πλακέτα{0}", "boardConfigDialogTitle": "Επιλέξτε Άλλη Πλακέτα & Θύρα", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Πληροφορίες Πλακέτας", "boards": "Πίνακες - Πλακέτες", "configDialog1": "Επίλεξε Πλακέτα και Θύρα αν θέλεις να ανεβάσεις ένα έργο.", @@ -31,10 +32,12 @@ "port": "Θύρα{0}", "ports": "Θύρες", "programmer": "Προγραμματιστής", + "reloadBoardData": "Reload Board Data", "reselectLater": "Επιλογή αργότερα", "revertBoardsConfig": "Χρησιμοποιήστε '{0}' που ανακαλύφθηκε στο '{1}'", "searchBoard": "Αναζήτηση πλακέτας", "selectBoard": "Επιλογή Πλακέτας", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Παρακαλώ επίλεξε μια θύρα για εμφάνιση πληροφοριών πλακέτας.", "showAllAvailablePorts": "Εμφανίζει όλες τις διαθέσιμες θύρες όταν είναι ενεργοποιημένο.", "showAllPorts": "Εμφάνιση όλων των θυρών", @@ -412,7 +415,9 @@ "survey.notification": "Σωστό εάν οι χρήστες πρέπει να ειδοποιούνται εάν υπάρχει διαθέσιμη έρευνα. Αληθές από προεπιλογή.", "unofficialBoardSupport": "Κλικ για λίστα Συνδέσμων ανεπίσημης υποστήριξης πλακετών", "upload": "ανέβασμα", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Αληθές για λεπτομερή έξοδο ανεβάσματος. Ψευδές απο προεπιλογή.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Επιβεβαίωση κώδικα μετά το ανέβασμα", "window.autoScale": "Αληθές αν η διεπαφή χρήστη κλιμακλωνεται αυτόματα μαζί με το μέγεθος γραμματοσειράς.", "window.zoomLevel": { diff --git a/i18n/es.json b/i18n/es.json index 60dfe189f..c606772d4 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -13,6 +13,7 @@ "board": { "board": "Placa{0}", "boardConfigDialogTitle": "Seleccionar Otra Placa y Puerto", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Información de la placa", "boards": "Placas", "configDialog1": "Selecciona tanto una placa como un puerto si quieres cargar un sketch.", @@ -31,10 +32,12 @@ "port": "Puerto {0}", "ports": "puertos", "programmer": "Programador", + "reloadBoardData": "Reload Board Data", "reselectLater": "Vuelve a seleccionar más tarde", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Buscar placa", "selectBoard": "Seleccionar Placa", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Por favor, seleccione un puerto para obtener información sobre la placa.", "showAllAvailablePorts": "Muestra todos los puertos disponibles cuando está activado", "showAllPorts": "Mostrar todos los puertos", @@ -78,9 +81,9 @@ "installAll": "Instalar todo", "noUpdates": "No se han encontrado actualizaciones recientes disponibles", "promptUpdateBoards": "Actualizaciones disponibles para alguna de tus placas", - "promptUpdateLibraries": "Actualizaciones disponibles para algunas de tus librerías", + "promptUpdateLibraries": "Actualizaciones disponibles para algunas de tus bibliotecas.", "updatingBoards": "Actualizando placas...", - "updatingLibraries": "Actualizando librerías..." + "updatingLibraries": "Actualizando bibliotecas..." }, "cli-error-parser": { "keyboardError": "'Keyboard' no encontrado. ¿Tiene tu proyecto incluida la linea '#include '?", @@ -361,7 +364,7 @@ "automatic": "Automático", "board.certificates": "Listado de certificados que pueden ser cargados en las placas", "browse": "Explorar", - "checkForUpdate": "Recibe notificaciones sobre actualizaciones disponibles del IDE, placas y librerías. Requiere reiniciar el IDE despues de hacer cambios. Por defecto está habilitado.", + "checkForUpdate": "Recibe notificaciones sobre actualizaciones disponibles del IDE, placas y bibliotecas. Requiere reiniciar el IDE despues de hacer cambios. Por defecto está habilitado.", "choose": "Elija", "cli.daemonDebug": "Habilitar logueo de depuración de las llamadas gRPC al Arduino CLI. Requiere un reinicio del IDE para tener efecto. Deshabilitado por defecto.", "cloud.enabled": "Verdadero si las funciones de sincronización del sketch están activadas. Verdadero por defecto.", @@ -412,7 +415,9 @@ "survey.notification": "Verdadero si usuarios deberían ser notificados cuando una encuesta esté disponible. Verdadero es predeterminado.", "unofficialBoardSupport": "Pulsa para listar las URLs de las tarjetas no oficiales", "upload": "Carga", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Verdadero para una salida verbosa de la carga. Falso por defecto.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verificar el código después de cargarlo", "window.autoScale": "Verdadero si la interfaz de usuario se escala automáticamente con el tamaño de la fuente.", "window.zoomLevel": { @@ -497,11 +502,11 @@ "user": "{0} (user)" }, "title": { - "cloud": "Cloud" + "cloud": "Nube" }, "updateIndexes": { - "updateIndexes": "Actualizar indices", - "updateLibraryIndex": "Actualizar Indice de librerías", + "updateIndexes": "Actualizar índices", + "updateLibraryIndex": "Actualizar índice de bibliotecas", "updatePackageIndex": "Actualizar índice de paquete" }, "upload": { diff --git a/i18n/eu.json b/i18n/eu.json index 3e9f0675f..a0e3163ea 100644 --- a/i18n/eu.json +++ b/i18n/eu.json @@ -13,6 +13,7 @@ "board": { "board": "{0} plaka", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Plakaren informazioa", "boards": "boards", "configDialog1": "Hautatu plaka bat eta ataka bat programa bat kargatu nahi baduzu.", @@ -31,10 +32,12 @@ "port": "{0} ataka", "ports": "ports", "programmer": "Programatzailea", + "reloadBoardData": "Reload Board Data", "reselectLater": "Hautatu berriz geroago", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Hautatu plaka", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Hautatu ataka bat plakaren informazioa eskuratzeko.", "showAllAvailablePorts": "Gaituta dagoenean erabilgarri dauden ataka guztiak erakusten ditu", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Egin klik ofizialak ez diren plaken laguntza-URL zerrenda ikusteko", "upload": "karga", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Egia kargaren irteera xehatua izateko. Lehenetsia Gezurra.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Egiaztatu kodea kargatu ondoren", "window.autoScale": "Egia erabiltzaile interfazea letra-tamainarekin automatikoki eskalatzen bada.", "window.zoomLevel": { diff --git a/i18n/fa.json b/i18n/fa.json index 3e3adf901..8fba4156e 100644 --- a/i18n/fa.json +++ b/i18n/fa.json @@ -13,6 +13,7 @@ "board": { "board": "بورد {0}", "boardConfigDialogTitle": "انتخاب یک بورد و پورت دیگر", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "مشخصات برد", "boards": "بردها", "configDialog1": "اگر می‌خواهید طرحی را آپلود کنید، هم یک تابلو و هم یک پورت انتخاب کنید.", @@ -31,10 +32,12 @@ "port": "پورت {0}", "ports": "پورت ها", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "بعدا انتخاب کنید", "revertBoardsConfig": "استفاده از «{0}» پیدا شده در «{1}»", "searchBoard": "جستجوی بورد", "selectBoard": "انتخاب برد", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "لطفاً یک پورت را برای به دست آوردن اطلاعات هیئت مدیره انتخاب کنید.", "showAllAvailablePorts": "نمایش تمام پورت های موجود در صورت فعال بودن", "showAllPorts": "نمایش تمام پورت ها", @@ -412,7 +415,9 @@ "survey.notification": "درست است اگر در صورت وجود نظرسنجی به کاربران اطلاع داده شود. به طور پیش فرض درست است.", "unofficialBoardSupport": "برای لیستی از آدرس های اینترنتی پشتیبانی هیئت مدیره غیررسمی کلیک کنید", "upload": "بارگذاری", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "برای خروجی آپلود پرمخاطب درست است. به طور پیش فرض نادرست است.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "تائید کد بعد از بارگذاری", "window.autoScale": "اگر رابط کاربری به طور خودکار با اندازه فونت تغییر کند درست است.", "window.zoomLevel": { diff --git a/i18n/fil.json b/i18n/fil.json index 8ebbcaac5..e8bcc9c4e 100644 --- a/i18n/fil.json +++ b/i18n/fil.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "boards", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "Reselect later", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Pumili ng board", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True para sa verbose upload output. Ito ay naka-false by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True kung nais mong awtomatikong mag-adjust ang scaling ng user interface depende sa laki ng font o letra sa screen.", "window.zoomLevel": { diff --git a/i18n/fr.json b/i18n/fr.json index 090c4f643..29b80f3f3 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -13,6 +13,7 @@ "board": { "board": "Carte{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Information de la carte", "boards": "boards", "configDialog1": "Sélectionnez une carte et un port si vous souhaitez téléverser un croquis.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "Programmeur", + "reloadBoardData": "Reload Board Data", "reselectLater": "Re-sélectionner plus tard", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Selectionner une carte", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Merci de choisir un port pour obtenir des informations sur la carte.", "showAllAvailablePorts": "Affiche les ports disponibles quand activer.", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "Vrai si les utilisateurs doivent être avertis si une enquête est disponible. Vrai par défaut.", "unofficialBoardSupport": "Cliquer pour la liste non-officielle des URLs des support de cartes", "upload": "téléverser", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Vrai si le téléchargement en mode verbose. Faux par défaut.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Vérifier le code après le téléversement", "window.autoScale": "Vrai si l'interface utilisateur s'ajuste avec la taille de la police.", "window.zoomLevel": { diff --git a/i18n/he.json b/i18n/he.json index 3f3cbb3bb..66ed4846b 100644 --- a/i18n/he.json +++ b/i18n/he.json @@ -13,6 +13,7 @@ "board": { "board": "לוח{0}", "boardConfigDialogTitle": "יש לבחור לוח ופורט אחר", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "פרטי הלוח", "boards": "boards", "configDialog1": "נא לבחור סוג לוח ופורט כדי להעלות את הסקיצה.", @@ -31,10 +32,12 @@ "port": "פורט{0}", "ports": "ports", "programmer": "תכנת", + "reloadBoardData": "Reload Board Data", "reselectLater": "בחר מחדש מאוחר יותר", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "חפש לוח", "selectBoard": "בחר לוח", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "אנא בחר פורט לקבלת מידע אודותיו.", "showAllAvailablePorts": "הצג את כל הפורטים הזמינים כשמופעל", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/hu.json b/i18n/hu.json index 93e7180e3..0e4b75a22 100644 --- a/i18n/hu.json +++ b/i18n/hu.json @@ -13,6 +13,7 @@ "board": { "board": "Alaplap {0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Alaplapi információk", "boards": "boards", "configDialog1": "Válassz ki egy alaplapot és egy portot is - csak ekkor lehetséges a feltöltés. ", @@ -31,10 +32,12 @@ "port": "Port {0}", "ports": "ports", "programmer": "Programozó", + "reloadBoardData": "Reload Board Data", "reselectLater": "Később újra válaszd ki", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Alaplap választás", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Válassz egy portot az alaplap információinak megtekintéséhez. ", "showAllAvailablePorts": "Elérhető portok mutatása - ha engedélyezett", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Kattints ide a nem hivatalos alaplapok fordítási URL-jeinek listájához ", "upload": "feltöltés", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Kipipálva: a részletes feltöltési üzenetek kiírása a képernyőre. Alapértelmezés szerint hamis/nincs kipipálva.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Kód ellenőrzése feltöltés után", "window.autoScale": "Kipipálva, ha a felhasználói felület automatikusan méreteződik a betűmérettel együtt. ", "window.zoomLevel": { diff --git a/i18n/hy.json b/i18n/hy.json index 22babc740..17cd55547 100644 --- a/i18n/hy.json +++ b/i18n/hy.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "boards", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "Reselect later", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Select Board", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/id.json b/i18n/id.json index 7ff8cae03..8c60f75d2 100644 --- a/i18n/id.json +++ b/i18n/id.json @@ -13,6 +13,7 @@ "board": { "board": "Papan{0}", "boardConfigDialogTitle": "Pilih Papan dan Port Lain", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Informasi Papan", "boards": "papan", "configDialog1": "Pilih antara Papan dan Port jika kamu ingin mengunggah sebuah sketsa.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "port", "programmer": "Pemrogram", + "reloadBoardData": "Reload Board Data", "reselectLater": "Pilih ulang nanti", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Cari papan", "selectBoard": "Pilih Papan", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Mohon pilih port untuk memperoleh informasi papan.", "showAllAvailablePorts": "Tampilkan semua port yang tersedia saat dinyalakan", "showAllPorts": "Tampilkan semua port", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/it.json b/i18n/it.json index 35400398d..bdc3885df 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -13,6 +13,7 @@ "board": { "board": "Scheda{0}", "boardConfigDialogTitle": "Seleziona un'altra scheda e un'altra porta", + "boardDataReloaded": "Dati della scheda ricaricati.", "boardInfo": "Informazioni sulla scheda", "boards": "schede", "configDialog1": "Seleziona una scheda ed una porta se vuoi caricare uno sketch.", @@ -31,10 +32,12 @@ "port": "Porta{0}", "ports": "porte", "programmer": "Programmatore", + "reloadBoardData": "Ricarica i dati della scheda", "reselectLater": "Riselezionare più tardi", "revertBoardsConfig": "Usa '{0}' rilevato su '{1}'", "searchBoard": "Cerca la scheda", "selectBoard": "Seleziona la scheda", + "selectBoardToReload": "Seleziona una scheda.", "selectPortForInfo": "Selezionare la porta per ottenere info sulla scheda.", "showAllAvailablePorts": "Quando abilitato, mostra tutte le porte disponibili", "showAllPorts": "Mostra tutte le porte", @@ -412,7 +415,9 @@ "survey.notification": "Vero se gli utenti devono essere avvisati quando è disponibile un sondaggio. Vero per impostazione predefinita.", "unofficialBoardSupport": "Clicca per ottenere la lista di collegamenti per le schede di terze parti, non schede ufficiali.", "upload": "caricamento", + "upload.autoVerify": "Vero se l'IDE deve verificare automaticamente il codice prima del caricamento. Vero per impostazione predefinita. Quando questo valore è falso, l'IDE non ricompila il codice prima di caricare il binario sulla scheda. Si consiglia di impostare questo valore su false solo se si sa cosa si sta facendo.", "upload.verbose": "Vero per un rapporto dettagliato durante l'upload. Il valore predefinito è impostato su falso.", + "upload.verify": "Dopo il caricamento, verificare che il contenuto della memoria sulla scheda corrisponda al binario caricato.", "verifyAfterUpload": "Verifica il codice dopo il caricamento", "window.autoScale": "Vero se l'interfaccia scala automaticamente in base alla dimensione del font.", "window.zoomLevel": { diff --git a/i18n/ja.json b/i18n/ja.json index 4e36e6b46..aca3aeaf0 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -13,6 +13,7 @@ "board": { "board": "ボード{0}", "boardConfigDialogTitle": "他のボードとポートを選択", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "ボード情報", "boards": "ボード", "configDialog1": "スケッチを書き込みたい場合には、ボードとポートの両方を選択してください。", @@ -31,10 +32,12 @@ "port": "ポート{0}", "ports": "ポート", "programmer": "書き込み装置", + "reloadBoardData": "Reload Board Data", "reselectLater": "後で選択しなおす", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "ボードを検索", "selectBoard": "ボードを選択", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "ボード情報を得るには、ポートを選択してください。", "showAllAvailablePorts": "有効な場合、利用可能なすべてのポートを表示", "showAllPorts": "全てのポートを表示", @@ -412,7 +415,9 @@ "survey.notification": "アンケートが利用可能になったとき、通知を受け取る場合はTrueを指定します。デフォルトではTrue。", "unofficialBoardSupport": "クリックして非公式ボードをサポートするURLのリストを表示", "upload": "書き込み", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "書き込み時に詳細な出力を行うにはtrueを指定。デフォルトではfalse。", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "書き込み後にコードを検証する", "window.autoScale": "ユーザーインターフェイスをフォントサイズに合わせて自動的に拡大縮小させるにはtrueを指定。", "window.zoomLevel": { diff --git a/i18n/ko.json b/i18n/ko.json index ddeae53a9..e00e56133 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -13,7 +13,8 @@ "board": { "board": "보드{0}", "boardConfigDialogTitle": "보드 및 포트 선택", - "boardInfo": "보드정보", + "boardDataReloaded": "Board data reloaded.", + "boardInfo": "보드 정보", "boards": "boards", "configDialog1": "스케치를 업로드할 보드 및 포트를 선택", "configDialog2": "보드를 선택하면 컴파일은 가능하지만, 스케치를 업로드 할 수 없습니다.", @@ -31,10 +32,12 @@ "port": "포트{0}", "ports": "ports", "programmer": "프로그래머", + "reloadBoardData": "Reload Board Data", "reselectLater": "나중에 선택", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "보드 검색", "selectBoard": "보드 선택", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "보드 정보를 얻으려면 포트를 선택하십시오.", "showAllAvailablePorts": "활성화된 사용 가능한 모든 포트를 표시합니다.", "showAllPorts": "모든 포트 보이기", @@ -412,7 +415,9 @@ "survey.notification": "설문조사를 사용할 수 있는 경우 사용자에게 알림을 보내야 하는 경우 True입니다. 기본은 True입니다.", "unofficialBoardSupport": "비공식 보드 지원 URL 목록을 보려면 클릭하십시오.", "upload": "업로드", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "자세한 업로드 출력의 경우 True이고 기본적으로 False입니다.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "업로드 후 코드확인", "window.autoScale": "사용자 인터페이스가 글꼴 크기에 따라 자동으로 조정되는 경우 True입니다.", "window.zoomLevel": { diff --git a/i18n/my_MM.json b/i18n/my_MM.json index 626fdad02..88037a95a 100644 --- a/i18n/my_MM.json +++ b/i18n/my_MM.json @@ -13,6 +13,7 @@ "board": { "board": "ဘုတ်{0}", "boardConfigDialogTitle": "အခြားဘုတ်နှင့်အပေါက်ကို ရွေးချယ်ပါ", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "ဘုတ်ဆိုင်ရာအချက်အလက်", "boards": "ဘုတ်များ", "configDialog1": "ကုတ်ဖိုင်တစ်ခုကို upload တင်လိုပါက ဘုတ်နှင့်အပေါက် နှစ်ခုလုံးကို ရွေးပေးပါ။", @@ -31,10 +32,12 @@ "port": "အပေါက်{0}", "ports": "အပေါက်များ", "programmer": "ပရိုဂရမ်မာ", + "reloadBoardData": "Reload Board Data", "reselectLater": "နောက်မှ ပြန်ရွေးချယ်မည်", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "ဘုတ်ရှာမည်", "selectBoard": "ဘုတ်ရွေးချယ်မည်", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "လျှပ်စစ်ဘုတ်ဆိုင်ရာအချက်အလက်ရရှိရန် အပေါက်ကို ရွေးချယ်ပါ။", "showAllAvailablePorts": "အမှန်ခြစ်ထားပါက ရွေးချယ်နိုင်သော အပေါက်များအားလုံးကို ဖော်ပြပေးမည်", "showAllPorts": "အပေါက်အားလုံးပြ", @@ -412,7 +415,9 @@ "survey.notification": "စစ်တမ်းကောက်ပါက အသုံးပြုသူကို အသိပေးမည်။ မူရင်းတန်ဖိုး - အမှန်", "unofficialBoardSupport": "တရားမဝင်ဘုတ် ထောက်ပံ့မှုURLစာရင်းအတွက် ကလစ်လိုက်ပါ", "upload": "အပ်လုတ်တင်", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "အပ်လုတ်တင်မှုဆိုင်အချက်အလက်များ အသေးစိတ်ဖော်ပြမည်။ မူရင်းတန်ဖိုး - အမှား", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "အပ်လုတ်တင်ပြီးလျှင်ကုတ်ကိုစစ်ဆေးပါ", "window.autoScale": "အမှန်ဖြစ်နေပါက အသုံးပြုသူအင်တာဖေ့သည် ဖောင့်အရွယ်အစားနှင့်အတူ အလိုလိုချိန်ညှိမည်။", "window.zoomLevel": { diff --git a/i18n/ne.json b/i18n/ne.json index f5617ebb7..264a12494 100644 --- a/i18n/ne.json +++ b/i18n/ne.json @@ -13,6 +13,7 @@ "board": { "board": "बोर्ड {0}", "boardConfigDialogTitle": "अन्य बोर्ड र पोर्ट चयन गर्नुहोस् |", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "बोर्डको जानकारी", "boards": "बोर्डहरू", "configDialog1": "यदि तपाइँ स्केच अपलोड गर्न चाहनुहुन्छ भने बोर्ड र पोर्ट दुवै चयन गर्नुहोस्।", @@ -31,10 +32,12 @@ "port": "पोर्ट {0}", "ports": "पोर्टहरू", "programmer": "प्रोग्रामर", + "reloadBoardData": "Reload Board Data", "reselectLater": "पुन: चयन गर्नुहोस्", "revertBoardsConfig": "'{1}' मा फेला परेको '{0}' प्रयोग गर्नुहोस्", "searchBoard": "बोर्ड खोज्नुहोस। ", "selectBoard": "बोर्ड छान्नुहोस । ", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "बोर्ड जानकारी प्राप्त गर्न पोर्ट चयन गर्नुहोस्।", "showAllAvailablePorts": "अनुमति हुँदा सबै उपलब्ध पोर्टहरू देखाउँछ।", "showAllPorts": "पोर्टहरु हेर्नुहोस |", @@ -412,7 +415,9 @@ "survey.notification": "यदि सर्वेक्षण उपलब्ध छ भने प्रयोगकर्ताहरूलाई सूचित गरिनुपर्छ भने सही संकेत गर्नुहोस्। यो पूर्वनिर्धारित रूपमा सही छ।", "unofficialBoardSupport": "अनौपचारिक बोर्ड समर्थन गर्ने URL को सूचीको लागि क्लिक गर्नुहोस्", "upload": "अपलोड ", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "वर्बोज अपलोड आउटपुट को लागी सही संकेत गर्नुहोस्। यो पूर्वनिर्धारित रूपमा असक्षम छ। ", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "कोड अपलोड गरेपछि प्रमाणित गर्नुहोस्", "window.autoScale": "प्रयोगकर्ता इन्टरफेसले स्वचालित रूपमा फन्ट साइजसँग मापन गरेमा सही संकेत गर्नुहोस्।", "window.zoomLevel": { diff --git a/i18n/nl.json b/i18n/nl.json index 9b3aba52f..ddfa0dd30 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -13,6 +13,7 @@ "board": { "board": "Bord{0}", "boardConfigDialogTitle": "Selecteer Ander Bord en Poort", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Bord Informatie", "boards": "borden", "configDialog1": "Selecteer een Bord en een Poort als je een schets wilt opladen.", @@ -31,10 +32,12 @@ "port": "Poort{0}", "ports": "poorten", "programmer": "Programmeerapparaat", + "reloadBoardData": "Reload Board Data", "reselectLater": "Later opnieuw selecteren", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Bord zoeken", "selectBoard": "Bord selecteren", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Selecteer een poort om bord informatie te bekomen.", "showAllAvailablePorts": "Toont alle beschikbare poorten indien ingeschakeld", "showAllPorts": "Toon alle poorten", @@ -412,7 +415,9 @@ "survey.notification": "Waar als gebruikers een melding moeten krijgen als er een enquête beschikbaar is. Standaard is dit waar.", "unofficialBoardSupport": "Klik voor een lijst met onofficiële borden ondersteuning URL's", "upload": "uploaden", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Waar voor uitgebreide uploaduitvoer. Standaard onwaar.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verifieer de code na het uploaden", "window.autoScale": "Waar als de gebruikersinterface automatisch wordt geschaald met de lettergrootte.", "window.zoomLevel": { diff --git a/i18n/no.json b/i18n/no.json index fa6f0f253..4fe18ad78 100644 --- a/i18n/no.json +++ b/i18n/no.json @@ -13,6 +13,7 @@ "board": { "board": "Kort{0}", "boardConfigDialogTitle": "Velg et annet kort og port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Informasjon om kort", "boards": "Kort", "configDialog1": "Velg kort og portnummer for å laste opp skissen", @@ -31,10 +32,12 @@ "port": "Port {0}", "ports": "porter", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "Velg igjen senere", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Søk etter kort", "selectBoard": "Velg kort", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Velg en port for å få info om kort", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Vis alle porter", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/pl.json b/i18n/pl.json index 1b19d20e5..201faf2b0 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -13,6 +13,7 @@ "board": { "board": "Płytka{0}", "boardConfigDialogTitle": "Wybierz inną płytkę i port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Informacje o płytce", "boards": "Płytki", "configDialog1": "Wybierz płytkę oraz port, aby wgrać szkic.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "Porty", "programmer": "Programator", + "reloadBoardData": "Reload Board Data", "reselectLater": "Wybierz ponownie później", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Szukaj płytki", "selectBoard": "Wybierz płytkę", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Wybierz port, aby uzyskać informacje o płytce.", "showAllAvailablePorts": "Po włączeniu pokazuje wszystkie dostępne porty", "showAllPorts": "Pokaż wszystkie dostępne porty", @@ -412,7 +415,9 @@ "survey.notification": "Prawdziwy, jeśli użytkownicy powinni być powiadamiani o dostępności ankiety. Domyślnie prawdwdziwy.", "unofficialBoardSupport": "Kliknij, aby przejść do listy linków nieoficjalnego wsparcia dla płytek.", "upload": "przesyłanie", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Prawda, aby pokazywać szczegółowe informacje podczas wgrywania. Fałsz jest wartością domyślną.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Weryfikuj kod po przesłaniu", "window.autoScale": "Prawda, jeśli interfejs użytkownika skaluje się automatycznie z rozmiarem czcionki.", "window.zoomLevel": { diff --git a/i18n/pt.json b/i18n/pt.json index fdc604356..4c33e7dae 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -13,6 +13,7 @@ "board": { "board": "Placa{0}", "boardConfigDialogTitle": "Selecionar Outra Placa e Porta", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Informações da Placa", "boards": "placas", "configDialog1": "Selecione uma placa e uma porta se quiser fazer o upload de um sketch.", @@ -31,10 +32,12 @@ "port": "Porta{0}", "ports": "portas", "programmer": "Programador/Gravador", + "reloadBoardData": "Reload Board Data", "reselectLater": "Selecionar novamente mais tarde", "revertBoardsConfig": "Uso '{0}' descoberto em '{1}'", "searchBoard": "Procurar placa", "selectBoard": "Selecionar Placa", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Selecione uma porta para obter informações sobre a placa.", "showAllAvailablePorts": "Mostrar todas as portas disponíveis quando habilitado", "showAllPorts": "Mostrar todas as portas", @@ -412,7 +415,9 @@ "survey.notification": "Verdadeiro se o usuário deve ser notificado se uma pesquisa estiver disponível. Verdadeiro por padrão", "unofficialBoardSupport": "Clique para obter uma lista de URLs de placas não oficiais suportadas", "upload": "enviar", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "Verdadeiro para saída de upload detalhada. Falsa é padrão.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verificar o código após enviar", "window.autoScale": "Verdadeiro se a interface do usuário for dimensionada automaticamente com o tamanho da fonte.", "window.zoomLevel": { diff --git a/i18n/ro.json b/i18n/ro.json index a5a37a99a..38e52b4d0 100644 --- a/i18n/ro.json +++ b/i18n/ro.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "boards", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Portul{0}", "ports": "ports", "programmer": "Programator", + "reloadBoardData": "Reload Board Data", "reselectLater": "Re-selectează mai târziu", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Selectează Placa", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "încarcă", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verifică codul după încarcare", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/ru.json b/i18n/ru.json index 046070f98..1ee05dfad 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -13,6 +13,7 @@ "board": { "board": "Плата{0}", "boardConfigDialogTitle": "Выберите другую плату и порт", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Информация о плате", "boards": "платы", "configDialog1": "Выберите плату и порт, если Вы хотите загрузить скетч в плату.", @@ -31,10 +32,12 @@ "port": "Порт{0}", "ports": "порты", "programmer": "Программатор", + "reloadBoardData": "Reload Board Data", "reselectLater": "Перевыбрать позже", "revertBoardsConfig": "Используйте '{0}', обнаруженный на '{1}'", "searchBoard": "Поиск платы", "selectBoard": "Выбор платы", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Пожалуйста, выберите порт в меню инструментов для получения информации с платы.", "showAllAvailablePorts": "Показать все доступные порты при включении", "showAllPorts": "Показать все порты", @@ -412,7 +415,9 @@ "survey.notification": "Включите, если пользователи должны получать уведомления, когда появится новый опрос. Включено по умолчанию.", "unofficialBoardSupport": "Список URL-адресов поддержки неофициальных плат", "upload": "выгрузке на плату", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True - подробный вывод при загрузке скетча на плату. По умолчанию - false.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Проверять содержимое памяти платы после загрузки", "window.autoScale": "True, если пользовательский интерфейс автоматически масштабируется в зависимости от размера шрифта.", "window.zoomLevel": { diff --git a/i18n/si.json b/i18n/si.json index 1c6490617..6015c08fa 100644 --- a/i18n/si.json +++ b/i18n/si.json @@ -13,6 +13,7 @@ "board": { "board": "Board{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Board Info", "boards": "පුවරු", "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "ports", "programmer": "ක්‍රමලේඛක", + "reloadBoardData": "Reload Board Data", "reselectLater": "පසුව තෝරන්න", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "පුවරුව සොයන්න", "selectBoard": "පුවරුව තෝරන්න", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Please select a port to obtain board info.", "showAllAvailablePorts": "Shows all available ports when enabled", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/sk.json b/i18n/sk.json new file mode 100644 index 000000000..17cd55547 --- /dev/null +++ b/i18n/sk.json @@ -0,0 +1,557 @@ +{ + "arduino": { + "about": { + "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "label": "About {0}" + }, + "account": { + "goToCloudEditor": "Go to Cloud Editor", + "goToIoTCloud": "Go to IoT Cloud", + "goToProfile": "Go to Profile", + "menuTitle": "Arduino Cloud" + }, + "board": { + "board": "Board{0}", + "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", + "boardInfo": "Board Info", + "boards": "boards", + "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", + "configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.", + "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", + "editBoardsConfig": "Edit Board and Port...", + "getBoardInfo": "Get Board Info", + "inSketchbook": " (in Sketchbook)", + "installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?", + "noBoardsFound": "No boards found for \"{0}\"", + "noNativeSerialPort": "Native serial port, can't obtain info.", + "noPortsDiscovered": "No ports discovered", + "nonSerialPort": "Non-serial port, can't obtain info.", + "openBoardsConfig": "Select other board and port…", + "pleasePickBoard": "Please pick a board connected to the port you have selected.", + "port": "Port{0}", + "ports": "ports", + "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", + "reselectLater": "Reselect later", + "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "searchBoard": "Search board", + "selectBoard": "Select Board", + "selectBoardToReload": "Please select a board first.", + "selectPortForInfo": "Please select a port to obtain board info.", + "showAllAvailablePorts": "Shows all available ports when enabled", + "showAllPorts": "Show all ports", + "succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}", + "succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}", + "typeOfPorts": "{0} ports", + "unconfirmedBoard": "Unconfirmed board", + "unknownBoard": "Unknown board" + }, + "boardsManager": "Boards Manager", + "boardsType": { + "arduinoCertified": "Arduino Certified" + }, + "bootloader": { + "burnBootloader": "Burn Bootloader", + "burningBootloader": "Burning bootloader...", + "doneBurningBootloader": "Done burning bootloader." + }, + "burnBootloader": { + "error": "Error while burning the bootloader: {0}" + }, + "certificate": { + "addNew": "Add New", + "addURL": "Add URL to fetch SSL certificate", + "boardAtPort": "{0} at {1}", + "certificatesUploaded": "Certificates uploaded.", + "enterURL": "Enter URL", + "noSupportedBoardConnected": "No supported board connected", + "openContext": "Open context", + "remove": "Remove", + "selectBoard": "Select a board...", + "selectCertificateToUpload": "1. Select certificate to upload", + "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", + "upload": "Upload", + "uploadFailed": "Upload failed. Please try again.", + "uploadRootCertificates": "Upload SSL Root Certificates", + "uploadingCertificates": "Uploading certificates." + }, + "checkForUpdates": { + "checkForUpdates": "Check for Arduino Updates", + "installAll": "Install All", + "noUpdates": "There are no recent updates available.", + "promptUpdateBoards": "Updates are available for some of your boards.", + "promptUpdateLibraries": "Updates are available for some of your libraries.", + "updatingBoards": "Updating boards...", + "updatingLibraries": "Updating libraries..." + }, + "cli-error-parser": { + "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", + "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + }, + "cloud": { + "chooseSketchVisibility": "Choose visibility of your Sketch:", + "cloudSketchbook": "Cloud Sketchbook", + "connected": "Connected", + "continue": "Continue", + "donePulling": "Done pulling '{0}'.", + "donePushing": "Done pushing '{0}'.", + "embed": "Embed:", + "emptySketchbook": "Your Sketchbook is empty", + "goToCloud": "Go to Cloud", + "learnMore": "Learn more", + "link": "Link:", + "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", + "offline": "Offline", + "openInCloudEditor": "Open in Cloud Editor", + "options": "Options...", + "privateVisibility": "Private. Only you can view the Sketch.", + "profilePicture": "Profile picture", + "publicVisibility": "Public. Anyone with the link can view the Sketch.", + "pull": "Pull", + "pullFirst": "You have to pull first to be able to push to the Cloud.", + "pullSketch": "Pull Sketch", + "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", + "push": "Push", + "pushSketch": "Push Sketch", + "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", + "remote": "Remote", + "share": "Share...", + "shareSketch": "Share Sketch", + "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "signIn": "SIGN IN", + "signInToCloud": "Sign in to Arduino Cloud", + "signOut": "Sign Out", + "sync": "Sync", + "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", + "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." + }, + "cloudSketch": { + "alreadyExists": "Cloud sketch '{0}' already exists.", + "creating": "Creating cloud sketch '{0}'...", + "new": "New Cloud Sketch", + "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", + "pulling": "Synchronizing sketchbook, pulling '{0}'...", + "pushing": "Synchronizing sketchbook, pushing '{0}'...", + "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", + "synchronizingSketchbook": "Synchronizing sketchbook..." + }, + "common": { + "all": "All", + "contributed": "Contributed", + "installManually": "Install Manually", + "later": "Later", + "noBoardSelected": "No board selected", + "noSketchOpened": "No sketch opened", + "notConnected": "[not connected]", + "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", + "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", + "partner": "Partner", + "processing": "Processing", + "recommended": "Recommended", + "retired": "Retired", + "selectManually": "Select Manually", + "selectedOn": "on {0}", + "serialMonitor": "Serial Monitor", + "type": "Type", + "unknown": "Unknown", + "updateable": "Updatable", + "userAbort": "User abort" + }, + "compile": { + "error": "Compilation error: {0}" + }, + "component": { + "boardsIncluded": "Boards included in this package:", + "by": "by", + "clickToOpen": "Click to open in browser: {0}", + "filterSearch": "Filter your search...", + "install": "Install", + "installLatest": "Install Latest", + "installVersion": "Install {0}", + "installed": "{0} installed", + "moreInfo": "More info", + "otherVersions": "Other Versions", + "remove": "Remove", + "title": "{0} by {1}", + "uninstall": "Uninstall", + "uninstallMsg": "Do you want to uninstall {0}?", + "update": "Update" + }, + "configuration": { + "cli": { + "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + } + }, + "connectionStatus": { + "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + }, + "contributions": { + "addFile": "Add File", + "fileAdded": "One file added to the sketch.", + "plotter": { + "couldNotOpen": "Couldn't open serial plotter" + }, + "replaceTitle": "Replace" + }, + "core": { + "compilerWarnings": { + "all": "All", + "default": "Default", + "more": "More", + "none": "None" + } + }, + "coreContribution": { + "copyError": "Copy error messages", + "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + }, + "createCloudCopy": "Push Sketch to Cloud", + "daemon": { + "restart": "Restart Daemon", + "start": "Start Daemon", + "stop": "Stop Daemon" + }, + "debug": { + "debugWithMessage": "Debug - {0}", + "debuggingNotSupported": "Debugging is not supported by '{0}'", + "getDebugInfo": "Getting debug info...", + "noPlatformInstalledFor": "Platform is not installed for '{0}'", + "optimizeForDebugging": "Optimize for Debugging", + "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + }, + "developer": { + "clearBoardList": "Clear the Board List History", + "clearBoardsConfig": "Clear the Board and Port Selection", + "dumpBoardList": "Dump the Board List" + }, + "dialog": { + "dontAskAgain": "Don't ask again" + }, + "editor": { + "autoFormat": "Auto Format", + "commentUncomment": "Comment/Uncomment", + "copyForForum": "Copy for Forum (Markdown)", + "decreaseFontSize": "Decrease Font Size", + "decreaseIndent": "Decrease Indent", + "increaseFontSize": "Increase Font Size", + "increaseIndent": "Increase Indent", + "nextError": "Next Error", + "previousError": "Previous Error", + "revealError": "Reveal Error" + }, + "examples": { + "builtInExamples": "Built-in examples", + "couldNotInitializeExamples": "Could not initialize built-in examples.", + "customLibrary": "Examples from Custom Libraries", + "for": "Examples for {0}", + "forAny": "Examples for any board", + "menu": "Examples" + }, + "firmware": { + "checkUpdates": "Check Updates", + "failedInstall": "Installation failed. Please try again.", + "install": "Install", + "installingFirmware": "Installing firmware.", + "overwriteSketch": "Installation will overwrite the Sketch on the board.", + "selectBoard": "Select Board", + "selectVersion": "Select firmware version", + "successfullyInstalled": "Firmware successfully installed.", + "updater": "Firmware Updater" + }, + "help": { + "environment": "Environment", + "faq": "Frequently Asked Questions", + "findInReference": "Find in Reference", + "gettingStarted": "Getting Started", + "keyword": "Type a keyword", + "privacyPolicy": "Privacy Policy", + "reference": "Reference", + "search": "Search on Arduino.cc", + "troubleshooting": "Troubleshooting", + "visit": "Visit Arduino.cc" + }, + "ide-updater": { + "checkForUpdates": "Check for Arduino IDE Updates", + "closeAndInstallButton": "Close and Install", + "closeToInstallNotice": "Close the software and install the update on your machine.", + "downloadButton": "Download", + "downloadingNotice": "Downloading the latest version of the Arduino IDE.", + "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", + "goToDownloadButton": "Go To Download", + "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", + "ideUpdaterDialog": "Software Update", + "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", + "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", + "notNowButton": "Not now", + "skipVersionButton": "Skip Version", + "updateAvailable": "Update Available", + "versionDownloaded": "Arduino IDE {0} has been downloaded." + }, + "installable": { + "libraryInstallFailed": "Failed to install library: '{0}{1}'.", + "platformInstallFailed": "Failed to install platform: '{0}{1}'." + }, + "library": { + "addZip": "Add .ZIP Library...", + "arduinoLibraries": "Arduino libraries", + "contributedLibraries": "Contributed libraries", + "include": "Include Library", + "installAll": "Install All", + "installLibraryDependencies": "Install library dependencies", + "installMissingDependencies": "Would you like to install all the missing dependencies?", + "installOneMissingDependency": "Would you like to install the missing dependency?", + "installWithoutDependencies": "Install without dependencies", + "installedSuccessfully": "Successfully installed library {0}:{1}", + "libraryAlreadyExists": "A library already exists. Do you want to overwrite it?", + "manageLibraries": "Manage Libraries...", + "namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?", + "needsMultipleDependencies": "The library {0}:{1} needs some other dependencies currently not installed:", + "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", + "overwriteExistingLibrary": "Do you want to overwrite the existing library?", + "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", + "title": "Library Manager", + "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", + "zipLibrary": "Library" + }, + "librarySearchProperty": { + "topic": "Topic" + }, + "libraryTopic": { + "communication": "Communication", + "dataProcessing": "Data Processing", + "dataStorage": "Data Storage", + "deviceControl": "Device Control", + "display": "Display", + "other": "Other", + "sensors": "Sensors", + "signalInputOutput": "Signal Input/Output", + "timing": "Timing", + "uncategorized": "Uncategorized" + }, + "libraryType": { + "installed": "Installed" + }, + "menu": { + "advanced": "Advanced", + "sketch": "Sketch", + "tools": "Tools" + }, + "monitor": { + "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", + "baudRate": "{0} baud", + "connectionFailedError": "Could not connect to {0} {1} port.", + "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", + "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", + "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", + "notConnectedError": "Not connected to {0} {1} port.", + "unableToCloseWebSocket": "Unable to close websocket", + "unableToConnectToWebSocket": "Unable to connect to websocket" + }, + "newCloudSketch": { + "newSketchTitle": "Name of the new Cloud Sketch" + }, + "portProtocol": { + "network": "Network", + "serial": "Serial" + }, + "preferences": { + "additionalManagerURLs": "Additional Boards Manager URLs", + "auth.audience": "The OAuth2 audience.", + "auth.clientID": "The OAuth2 client ID.", + "auth.domain": "The OAuth2 domain.", + "auth.registerUri": "The URI used to register a new user.", + "automatic": "Automatic", + "board.certificates": "List of certificates that can be uploaded to boards", + "browse": "Browse", + "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "choose": "Choose", + "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", + "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", + "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", + "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", + "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", + "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", + "compile": "compile", + "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", + "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", + "compile.verbose": "True for verbose compile output. False by default", + "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", + "compilerWarnings": "Compiler warnings", + "editorFontSize": "Editor font size", + "editorQuickSuggestions": "Editor Quick Suggestions", + "enterAdditionalURLs": "Enter additional URLs, one for each row", + "files.inside.sketches": "Show files inside Sketches", + "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", + "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", + "interfaceScale": "Interface scale", + "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", + "invalid.sketchbook.location": "Invalid sketchbook location: {0}", + "invalid.theme": "Invalid theme.", + "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", + "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", + "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", + "manualProxy": "Manual proxy configuration", + "monitor": { + "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + }, + "network": "Network", + "newSketchbookLocation": "Select new sketchbook location", + "noCliConfig": "Could not load the CLI configuration", + "noProxy": "No proxy", + "proxySettings": { + "hostname": "Host name", + "password": "Password", + "port": "Port number", + "username": "Username" + }, + "showVerbose": "Show verbose output during", + "sketch": { + "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + }, + "sketchbook.location": "Sketchbook location", + "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", + "survey.notification": "True if users should be notified if a survey is available. True by default.", + "unofficialBoardSupport": "Click for a list of unofficial board support URLs", + "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", + "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", + "verifyAfterUpload": "Verify code after upload", + "window.autoScale": "True if the user interface automatically scales with the font size.", + "window.zoomLevel": { + "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." + } + }, + "renameCloudSketch": { + "renameSketchTitle": "New name of the Cloud Sketch" + }, + "replaceMsg": "Replace the existing version of {0}?", + "selectZip": "Select a zip file containing the library you'd like to add", + "serial": { + "autoscroll": "Autoscroll", + "carriageReturn": "Carriage Return", + "connecting": "Connecting to '{0}' on '{1}'...", + "message": "Message (Enter to send message to '{0}' on '{1}')", + "newLine": "New Line", + "newLineCarriageReturn": "Both NL & CR", + "noLineEndings": "No Line Ending", + "notConnected": "Not connected. Select a board and a port to connect automatically.", + "openSerialPlotter": "Serial Plotter", + "timestamp": "Timestamp", + "toggleTimestamp": "Toggle Timestamp" + }, + "sketch": { + "archiveSketch": "Archive Sketch", + "cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.", + "compile": "Compiling sketch...", + "configureAndUpload": "Configure and Upload", + "createdArchive": "Created archive '{0}'.", + "doneCompiling": "Done compiling.", + "doneUploading": "Done uploading.", + "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", + "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "exportBinary": "Export Compiled Binary", + "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", + "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", + "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", + "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", + "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", + "moving": "Moving", + "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", + "new": "New Sketch", + "noTrailingPeriod": "A filename cannot end with a dot", + "openFolder": "Open Folder", + "openRecent": "Open Recent", + "openSketchInNewWindow": "Open Sketch in New Window", + "reservedFilename": "'{0}' is a reserved filename.", + "saveFolderAs": "Save sketch folder as...", + "saveSketch": "Save your sketch to open it again later.", + "saveSketchAs": "Save sketch folder as...", + "showFolder": "Show Sketch Folder", + "sketch": "Sketch", + "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", + "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "sketchbook": "Sketchbook", + "titleLocalSketchbook": "Local Sketchbook", + "titleSketchbook": "Sketchbook", + "upload": "Upload", + "uploadUsingProgrammer": "Upload Using Programmer", + "uploading": "Uploading...", + "userFieldsNotFoundError": "Can't find user fields for connected board", + "verify": "Verify", + "verifyOrCompile": "Verify/Compile" + }, + "sketchbook": { + "newCloudSketch": "New Cloud Sketch", + "newSketch": "New Sketch" + }, + "survey": { + "answerSurvey": "Answer survey", + "dismissSurvey": "Don't show again", + "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." + }, + "theme": { + "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", + "dark": "Dark", + "deprecated": "{0} (deprecated)", + "hc": "Dark High Contrast", + "hcLight": "Light High Contrast", + "light": "Light", + "user": "{0} (user)" + }, + "title": { + "cloud": "Cloud" + }, + "updateIndexes": { + "updateIndexes": "Update Indexes", + "updateLibraryIndex": "Update Library Index", + "updatePackageIndex": "Update Package Index" + }, + "upload": { + "error": "{0} error: {1}" + }, + "userFields": { + "cancel": "Cancel", + "enterField": "Enter {0}", + "upload": "Upload" + }, + "validateSketch": { + "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", + "abortFixTitle": "Invalid sketch", + "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", + "renameSketchFileTitle": "Invalid sketch filename", + "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", + "renameSketchFolderTitle": "Invalid sketch name" + }, + "workspace": { + "alreadyExists": "'{0}' already exists." + } + }, + "theia": { + "core": { + "cannotConnectBackend": "Cannot connect to the backend.", + "cannotConnectDaemon": "Cannot connect to the CLI daemon.", + "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", + "daemonOffline": "CLI Daemon Offline", + "offline": "Offline", + "offlineText": "Offline", + "quitTitle": "Are you sure you want to quit?" + }, + "editor": { + "unsavedTitle": "Unsaved – {0}" + }, + "messages": { + "collapse": "Collapse", + "expand": "Expand" + }, + "workspace": { + "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", + "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "fileNewName": "Name for new file", + "invalidExtension": ".{0} is not a valid extension", + "newFileName": "New name for file" + } + } +} diff --git a/i18n/sr.json b/i18n/sr.json index fa4bc38bb..d1bad70cb 100644 --- a/i18n/sr.json +++ b/i18n/sr.json @@ -13,6 +13,7 @@ "board": { "board": "Плоча{0}", "boardConfigDialogTitle": "Select Other Board and Port", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Информације о плочи", "boards": "boards", "configDialog1": "Одабери и плочу и порт ако желиш да спустиш рад.", @@ -31,10 +32,12 @@ "port": "Порт{0}", "ports": "ports", "programmer": "Програмер", + "reloadBoardData": "Reload Board Data", "reselectLater": "Одабери поново касније", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Search board", "selectBoard": "Одабери плочу", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Одабери порт да добијеш информације о плочи", "showAllAvailablePorts": "Приказује све доступне портове када је укључено", "showAllPorts": "Show all ports", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "спусти", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Провјери код након спуштања", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/th.json b/i18n/th.json index 8d3247c8c..656e98e00 100644 --- a/i18n/th.json +++ b/i18n/th.json @@ -13,6 +13,7 @@ "board": { "board": "บอร์ด{0}", "boardConfigDialogTitle": "เลือกบอร์ดและพอร์ตอื่นๆ", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "ข้อมูลบอร์ด", "boards": "บอร์ด", "configDialog1": "เลือกบอร์ดและพอร์ตที่คุณต้องการอัปโหลดโปรแกรมของคุณ", @@ -31,10 +32,12 @@ "port": "พอร์ต {0}", "ports": "พอร์ต", "programmer": "เครื่องโปรแกรม", + "reloadBoardData": "Reload Board Data", "reselectLater": "เลือกใหม่ในภายหลัง", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "ค้นหาบอร์ด", "selectBoard": "เลือกบอร์ด", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "กรุณาเลือกพอร์ตเพื่อดึงข้อมูลของบอร์ด", "showAllAvailablePorts": "แสดงพอร์ตทั้งหมดที่มีอยู่เมื่อเลือก", "showAllPorts": "แสดงพอร์ตทั้งหมด", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True for verbose upload output. False by default.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", "window.autoScale": "True if the user interface automatically scales with the font size.", "window.zoomLevel": { diff --git a/i18n/tr.json b/i18n/tr.json index 52fce53da..32cd6720c 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -13,6 +13,7 @@ "board": { "board": "Kart{0}", "boardConfigDialogTitle": "Başka Kart ve Port Seç", + "boardDataReloaded": "Kart bilgisi yeniden yüklendi.", "boardInfo": "Kart Bilgisi", "boards": "kartlar", "configDialog1": "Bir eskiz yüklemek istiyorsanız Kart ve Port seçmelisiniz.", @@ -31,10 +32,12 @@ "port": "Port{0}", "ports": "portlar", "programmer": "Programlayıcı", + "reloadBoardData": "Kart Bilgisini Yeniden Yükle", "reselectLater": "Daha sonra tekrar seç", "revertBoardsConfig": " '{1}''da bulunan '{0}''i kullan", "searchBoard": "Kart ara", "selectBoard": "Kart Seç", + "selectBoardToReload": "Lütfen önce bir kart seçin.", "selectPortForInfo": "Kart bilgisi almak için lütfen bir port seçin.", "showAllAvailablePorts": "Etkinleştirildiğinde tüm mevcut portları görüntüler", "showAllPorts": "Tüm portları göster", @@ -412,7 +415,9 @@ "survey.notification": "Bir anket bulunduğunda kullanıcılara gösterilecekse açın. Varsayılan olarak açıktır.", "unofficialBoardSupport": "Desteklenmeyen kart destek URL'leri listesi için tıklayın", "upload": "yükle", + "upload.autoVerify": "Açıldığında IDE yükleme öncesinde kodu otomatik olarak doğrular. Varsayılan olarak açıktır. Bu değer kapalı olduğunda, IDE ikili dosyayı karta yüklemeden önce tekrar derlemez. Bu ayarı sadece gerçekten ne yaptığınızı biliyor olduğunuz durumlarda kapatmanız önerilir.", "upload.verbose": " Ayrıntılı yükleme çıktısı için açın. Varsayılan: Kapalı", + "upload.verify": "Yüklemeden sonra, kart üzerindeki belleğin içeriğini yüklenen ikili dosya ile doğrula.", "verifyAfterUpload": "Yüklemeden sonra kodu doğrula", "window.autoScale": "Kullanıcı arayüzü yazı tipi boyutu ile otomatik olarak ölçeklenecekse açın", "window.zoomLevel": { diff --git a/i18n/uk.json b/i18n/uk.json index 8aec50d7e..408b39bbe 100644 --- a/i18n/uk.json +++ b/i18n/uk.json @@ -13,6 +13,7 @@ "board": { "board": "Плата {0}", "boardConfigDialogTitle": "Оберіть іншу плату або порт", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Інформація про плату", "boards": "плати", "configDialog1": "Оберіть плату та порт якщо бажаєте завантажити скетч", @@ -31,10 +32,12 @@ "port": "Порт{0}", "ports": "порти", "programmer": "Програматор", + "reloadBoardData": "Reload Board Data", "reselectLater": "Переобрати пізніше", "revertBoardsConfig": "Використовувати '{0}' знайдену на '{1}'", "searchBoard": "Шукати плату", "selectBoard": "Оберіть плату", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Оберіть порт для оновлення інформації про плату.", "showAllAvailablePorts": "Відображати усі доступні порти коли увімкнено", "showAllPorts": "Показати всі порти", @@ -412,7 +415,9 @@ "survey.notification": "\"Так\", якщо треба повідомляти про доступні опитування користувачів. \"Так\" за замовчуванням.", "unofficialBoardSupport": "Клацніть, щоб переглянути список неофіційних форумів підтримки", "upload": "завантажити", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "\"Так\" для докладного виводу процесу завантаження. \"Ні\" за замовчуванням.", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Перевіряти код після завантаження", "window.autoScale": "\"Так\", якщо інтерфейс користувача автоматично масштабується відповідно до розміру шрифту.", "window.zoomLevel": { diff --git a/i18n/vi.json b/i18n/vi.json index e650cc5bb..3105486f0 100644 --- a/i18n/vi.json +++ b/i18n/vi.json @@ -13,6 +13,7 @@ "board": { "board": "Bo mạch {0}", "boardConfigDialogTitle": "Chọn Bảng và Cổng khác", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "Thông tin bo mạch", "boards": "bảng", "configDialog1": "Chọn đồng thời một bo mạch và một cổng nếu bạn muốn nạp một sketch.", @@ -31,10 +32,12 @@ "port": "Cổng {0}", "ports": "cổng", "programmer": "Programmer", + "reloadBoardData": "Reload Board Data", "reselectLater": "Chọn lại sau", "revertBoardsConfig": "Use '{0}' discovered on '{1}'", "searchBoard": "Tìm kiếm bảng", "selectBoard": "Lựa chọn bo mạch", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "Hãy chọn một cổng để lấy thông tin bo mạch.", "showAllAvailablePorts": "Hiển thị tất cả các cổng khả dụng khi được kích hoạt", "showAllPorts": "Hiển thị tất cả các cổng", @@ -412,7 +415,9 @@ "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Nhấp vào đây để hiển thị danh sách các URLs hỗ trợ các bo mạch không chính thức", "upload": "nạp ", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "'True' để bật đầu ra nạp lệnh chi tiết (verbose upload output). Mặc định là 'false'", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Xác minh mã sau khi nạp", "window.autoScale": "'True' nếu giao diện người dùng tự động thay đổi theo cỡ chữ.", "window.zoomLevel": { diff --git a/i18n/zh-Hant.json b/i18n/zh-Hant.json index a6d3ce1c7..17eb473ce 100644 --- a/i18n/zh-Hant.json +++ b/i18n/zh-Hant.json @@ -13,6 +13,7 @@ "board": { "board": "{0} 開發板", "boardConfigDialogTitle": "選擇其他開發板及連接埠", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "開發板資訊", "boards": "開發板", "configDialog1": "若要上傳 Sketch 請選擇開發板及連接埠", @@ -31,10 +32,12 @@ "port": "連接埠: {0}", "ports": "連接埠", "programmer": "燒錄器", + "reloadBoardData": "Reload Board Data", "reselectLater": "請稍後再選擇", "revertBoardsConfig": "使用在 '{1}' 發現的 '{0}'", "searchBoard": "搜尋開發板", "selectBoard": "選擇開發版", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "請選定連接埠以便取得開發板的資訊", "showAllAvailablePorts": "當開啟時,顯示所有可用的埠", "showAllPorts": "顯示所有連接埠", @@ -412,7 +415,9 @@ "survey.notification": "有新問卷時會通知使用者, 預設為: true。", "unofficialBoardSupport": "點擊來取得非官方開發版的支援網址", "upload": "上傳", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "上傳時輸出的詳細資訊。預設: False", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "上傳後驗證程式碼", "window.autoScale": "使用者介面隨字體大小自動縮放。", "window.zoomLevel": { diff --git a/i18n/zh.json b/i18n/zh.json index d06007f7b..68fd336c7 100644 --- a/i18n/zh.json +++ b/i18n/zh.json @@ -13,6 +13,7 @@ "board": { "board": "开发板 {0}", "boardConfigDialogTitle": "选择其他开发板和端口", + "boardDataReloaded": "Board data reloaded.", "boardInfo": "开发板信息", "boards": "开发板", "configDialog1": "如果要上传项目,请选择开发板和端口。", @@ -31,10 +32,12 @@ "port": "端口 {0}", "ports": "端口", "programmer": "编程器", + "reloadBoardData": "Reload Board Data", "reselectLater": "稍后重新选择", "revertBoardsConfig": "使用在 '{1}' 上发现的 '{0}'", "searchBoard": "搜索开发坂", "selectBoard": "选择开发板", + "selectBoardToReload": "Please select a board first.", "selectPortForInfo": "请选择一个端口以获取开发板信息。", "showAllAvailablePorts": "启用时显示所有可用端口", "showAllPorts": "显示所有端口", @@ -412,7 +415,9 @@ "survey.notification": "True 则在有调查时应通知用户。默认为 True。", "unofficialBoardSupport": "点击获取支持的非官方开发板地址列表", "upload": "上传", + "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", "upload.verbose": "True 则输出详细上传信息。默认情况下为 False。", + "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "上传后验证代码", "window.autoScale": "True 则用户界面随字体大小自动缩放。", "window.zoomLevel": { diff --git a/i18n/zh_TW.json b/i18n/zh_TW.json index 268b010cb..ffad200de 100644 --- a/i18n/zh_TW.json +++ b/i18n/zh_TW.json @@ -13,6 +13,7 @@ "board": { "board": "{0} 開發板", "boardConfigDialogTitle": "選擇其他開發板及連接埠", + "boardDataReloaded": "開發板資料已重新載入。", "boardInfo": "開發板資訊", "boards": "開發板", "configDialog1": "若要上傳 Sketch 請選擇開發板及連接埠", @@ -31,10 +32,12 @@ "port": "連接埠: {0}", "ports": "連接埠", "programmer": "燒錄器", + "reloadBoardData": "重新載入開發板資料", "reselectLater": "請稍後再選擇", "revertBoardsConfig": "使用在 '{1}' 發現的 '{0}'", "searchBoard": "搜尋開發板", "selectBoard": "選擇開發板", + "selectBoardToReload": "請先選取開發板。", "selectPortForInfo": "請選定連接埠以便取得開發板的資訊", "showAllAvailablePorts": "當開啟時,顯示所有可用的埠", "showAllPorts": "顯示所有連接埠", @@ -368,7 +371,7 @@ "cloud.pull.warn": "讀取雲端 sketch 前會警告使用者。預設: 開啟。", "cloud.push.warn": "推送雲端 sketch 前會警告使用者。預設: 開啟。", "cloud.pushpublic.warn": "推送公開的 sketch 到雲端前會警告使用者。預設: 開啟。", - "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sharedSpaceId": "用來載入 sketchbook 的 Arduino 雲共享空間帳號。如留白,只會使用您的私人空間。", "cloud.sketchSyncEndpoint": "用來從後台讀取或推送 sketch 的端點。預設: Arduino 雲 API。", "compile": "編譯", "compile.experimental": "IDE 處理多個編譯器錯誤。 預設: 關閉", @@ -412,7 +415,9 @@ "survey.notification": "有新問卷時會通知使用者, 預設為: true。", "unofficialBoardSupport": "點擊來取得非官方開發板的支援網址", "upload": "上傳", + "upload.autoVerify": "預設為是,IDE會在上載前自動驗証。如選否,IDE在上載前不會重編譯程式碼。強烈建議除非你知道自己在幹嘛才這麼做。", "upload.verbose": "上傳時輸出的詳細資訊。預設: False", + "upload.verify": "上載後,驗証開發板上的記憶體內容和上傳的二進位碼是一致的。", "verifyAfterUpload": "上傳後驗證程式碼", "window.autoScale": "使用者介面隨字體大小自動縮放。", "window.zoomLevel": { From 6eef09efd8f49827cabb4eabd8cb2ff99ffae09a Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:21:25 +0100 Subject: [PATCH 67/87] chore: switch to version `2.3.5` after the release (#2587) To produce a correctly versioned nightly build. See the [docs](https://github.com/arduino/arduino-ide/blob/1b9c7e93e029e65765010eb84e1604b5e483a963/docs/internal/release-procedure.md#7-%EF%B8%8F-bump-version-metadata-of-packages) for more details. --- arduino-ide-extension/package.json | 2 +- electron-app/package.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 79d087742..45e852988 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.4", + "version": "2.3.5", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { diff --git a/electron-app/package.json b/electron-app/package.json index c959f3548..d9a6e3682 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.4", + "version": "2.3.5", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.41.0", "@theia/terminal": "1.41.0", "@theia/workspace": "1.41.0", - "arduino-ide-extension": "2.3.4" + "arduino-ide-extension": "2.3.5" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/package.json b/package.json index 88ebc27c1..6f66bf55a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.4", + "version": "2.3.5", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA", From 1712f9ea9dfb3b93b5d50b6fa967dd568eb39e88 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Tue, 25 Feb 2025 15:49:36 +0100 Subject: [PATCH 68/87] fix: install missing linux dependencies Install `libx11-dev`, `libxkbfile-dev`, `libsecret-1-dev` libraries as the most recent update to ubuntu-latest does not include them Signed-off-by: dankeboy36 --- .github/workflows/check-i18n-task.yml | 6 ++++++ .github/workflows/check-javascript.yml | 6 ++++++ .github/workflows/check-yarn.yml | 6 ++++++ .github/workflows/i18n-nightly-push.yml | 6 ++++++ .github/workflows/i18n-weekly-pull.yml | 6 ++++++ .github/workflows/test-javascript.yml | 6 ++++++ .github/workflows/themes-weekly-pull.yml | 6 ++++++ 7 files changed, 42 insertions(+) diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index 22426313a..3064dc602 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -76,6 +76,12 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install dependencies run: yarn install --immutable env: diff --git a/.github/workflows/check-javascript.yml b/.github/workflows/check-javascript.yml index 23162a19e..26720d48b 100644 --- a/.github/workflows/check-javascript.yml +++ b/.github/workflows/check-javascript.yml @@ -73,6 +73,12 @@ jobs: cache: yarn node-version: ${{ env.NODE_VERSION }} + - name: Install Dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install npm package dependencies env: # Avoid failure of @vscode/ripgrep installation due to GitHub API rate limiting: diff --git a/.github/workflows/check-yarn.yml b/.github/workflows/check-yarn.yml index 3b2efe92c..019cfec88 100644 --- a/.github/workflows/check-yarn.yml +++ b/.github/workflows/check-yarn.yml @@ -72,6 +72,12 @@ jobs: cache: yarn node-version: ${{ env.NODE_VERSION }} + - name: Install Dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install npm package dependencies env: # Avoid failure of @vscode/ripgrep installation due to GitHub API rate limiting: diff --git a/.github/workflows/i18n-nightly-push.yml b/.github/workflows/i18n-nightly-push.yml index 6f401a526..7b3ba2efc 100644 --- a/.github/workflows/i18n-nightly-push.yml +++ b/.github/workflows/i18n-nightly-push.yml @@ -34,6 +34,12 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install dependencies run: yarn install --immutable diff --git a/.github/workflows/i18n-weekly-pull.yml b/.github/workflows/i18n-weekly-pull.yml index ef87c8bbb..6d75556d3 100644 --- a/.github/workflows/i18n-weekly-pull.yml +++ b/.github/workflows/i18n-weekly-pull.yml @@ -34,6 +34,12 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install dependencies run: yarn install --immutable diff --git a/.github/workflows/test-javascript.yml b/.github/workflows/test-javascript.yml index 2ae001c7d..a1665f4f5 100644 --- a/.github/workflows/test-javascript.yml +++ b/.github/workflows/test-javascript.yml @@ -107,6 +107,12 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install Dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install npm package dependencies env: # Avoid failure of @vscode/ripgrep installation due to GitHub API rate limiting: diff --git a/.github/workflows/themes-weekly-pull.yml b/.github/workflows/themes-weekly-pull.yml index 0590e421f..4daa767ba 100644 --- a/.github/workflows/themes-weekly-pull.yml +++ b/.github/workflows/themes-weekly-pull.yml @@ -36,6 +36,12 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install dependencies run: yarn install --immutable From 6d96e227eb9471ce923fcad4400c26c27cc32ed1 Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Wed, 26 Feb 2025 12:33:32 -0800 Subject: [PATCH 69/87] Bump built-in example sketches version to 1.10.2 The Arduino IDE installation includes a collection of example sketches demonstrating fundamental concepts. These examples are hosted in a dedicated repository, which is a dependency of this project. A new release has been made in that `arduino/arduino-examples` repository. The infrastructure for downloading the examples during the Arduino IDE build is hereby updated to use the latest release of the `arduino/arduino-examples` repository. --- arduino-ide-extension/scripts/download-examples.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arduino-ide-extension/scripts/download-examples.js b/arduino-ide-extension/scripts/download-examples.js index 557c34089..f58b465e2 100644 --- a/arduino-ide-extension/scripts/download-examples.js +++ b/arduino-ide-extension/scripts/download-examples.js @@ -1,7 +1,7 @@ // @ts-check // The version to use. -const version = '1.10.1'; +const version = '1.10.2'; (async () => { const os = require('node:os'); From 5ec191500028582e687c950b78966e4b7aefaad8 Mon Sep 17 00:00:00 2001 From: dankeboy36 <111981763+dankeboy36@users.noreply.github.com> Date: Mon, 10 Mar 2025 09:20:22 +0100 Subject: [PATCH 70/87] fix(plugin): decouple state update from the LS (#2643) * fix(plugin): decouple state update from the LS To enhance the reliability of Arduino IDE extensions, the update process for `ArduinoState` has been modified to ensure independence from the language server's availability. This change addresses issues caused by `compileSummary` being `undefined` due to potential startup failures of the Arduino Language Server, as noted in https://github.com/dankeboy36/esp-exception-decoder/issues/28#issuecomment-2681800772. The `compile` command now resolves with a `CompileSummary` rather than `void`, facilitating a more reliable way for extensions to access necessary data. Furthermore, the command has been adjusted to allow resolution with `undefined` when the compiled data is partial. By transitioning to direct usage of the resolved compile value for state updates, the reliance on executed commands for extensions is eliminated. This update also moves the VSIX command execution to the frontend without altering existing IDE behavior. Closes arduino/arduino-ide#2642 Signed-off-by: dankeboy36 * fix: install missing libx11-dev and libxkbfile-dev Signed-off-by: dankeboy36 * fix: pick better GH step name Signed-off-by: dankeboy36 * fix: install the required dependencies on Linux Signed-off-by: dankeboy36 * fix(revert): do not manually install deps on Linux Signed-off-by: dankeboy36 * chore: pin `ubuntu-22.04` for linux actions * fix: restore accidentally removed dispose on finally Signed-off-by: dankeboy36 * fix(test): align mock naming :lipstick: Signed-off-by: dankeboy36 * fix: let the ino contribution notify the LS + event emitter dispatches the new state. Signed-off-by: dankeboy36 * fix(test): emit the new compiler summary state Signed-off-by: dankeboy36 * chore(revert): unpin linux version, use latest revert of https://github.com/arduino/arduino-ide/commit/b11bde1c473322c86dfde2dd3cec3ebbf92011fa Signed-off-by: dankeboy36 --------- Signed-off-by: dankeboy36 Co-authored-by: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> --- .../browser/arduino-ide-frontend-module.ts | 7 ++- .../src/browser/contributions/ino-language.ts | 39 +++++++++++++ .../contributions/update-arduino-state.ts | 25 ++++---- .../browser/contributions/verify-sketch.ts | 39 +++++++++++-- .../src/common/protocol/core-service.ts | 2 +- .../src/node/core-service-impl.ts | 55 +++++------------- .../test/browser/update-arduino-state.test.ts | 18 ++++-- .../test/node/core-service-impl.slow-test.ts | 58 +++---------------- 8 files changed, 132 insertions(+), 111 deletions(-) diff --git a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts index d6779c302..342516c0d 100644 --- a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts +++ b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts @@ -131,7 +131,10 @@ import { OpenSketch } from './contributions/open-sketch'; import { Close } from './contributions/close'; import { SaveAsSketch } from './contributions/save-as-sketch'; import { SaveSketch } from './contributions/save-sketch'; -import { VerifySketch } from './contributions/verify-sketch'; +import { + CompileSummaryProvider, + VerifySketch, +} from './contributions/verify-sketch'; import { UploadSketch } from './contributions/upload-sketch'; import { CommonFrontendContribution } from './theia/core/common-frontend-contribution'; import { EditContributions } from './contributions/edit-contributions'; @@ -788,6 +791,8 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { Contribution.configure(bind, BoardsDataMenuUpdater); Contribution.configure(bind, AutoSelectProgrammer); + bind(CompileSummaryProvider).toService(VerifySketch); + bindContributionProvider(bind, StartupTaskProvider); bind(StartupTaskProvider).toService(BoardsServiceProvider); // to reuse the boards config in another window diff --git a/arduino-ide-extension/src/browser/contributions/ino-language.ts b/arduino-ide-extension/src/browser/contributions/ino-language.ts index 4f336ef3d..4f42d399c 100644 --- a/arduino-ide-extension/src/browser/contributions/ino-language.ts +++ b/arduino-ide-extension/src/browser/contributions/ino-language.ts @@ -8,6 +8,7 @@ import { ArduinoDaemon, BoardIdentifier, BoardsService, + CompileSummary, ExecutableService, isBoardIdentifierChangeEvent, sanitizeFqbn, @@ -23,6 +24,7 @@ import { HostedPluginEvents } from '../hosted/hosted-plugin-events'; import { NotificationCenter } from '../notification-center'; import { CurrentSketch } from '../sketches-service-client-impl'; import { SketchContribution, URI } from './contribution'; +import { CompileSummaryProvider } from './verify-sketch'; interface DaemonAddress { /** @@ -107,6 +109,8 @@ export class InoLanguage extends SketchContribution { private readonly notificationCenter: NotificationCenter; @inject(BoardsDataStore) private readonly boardDataStore: BoardsDataStore; + @inject(CompileSummaryProvider) + private readonly compileSummaryProvider: CompileSummaryProvider; private readonly toDispose = new DisposableCollection(); private readonly languageServerStartMutex = new Mutex(); @@ -173,6 +177,13 @@ export class InoLanguage extends SketchContribution { } } }), + this.compileSummaryProvider.onDidChangeCompileSummary( + (compileSummary) => { + if (compileSummary) { + this.fireBuildDidComplete(compileSummary); + } + } + ), ]); Promise.all([ this.boardsServiceProvider.ready, @@ -317,4 +328,32 @@ export class InoLanguage extends SketchContribution { params ); } + + // Execute the a command contributed by the Arduino Tools VSIX to send the `ino/buildDidComplete` notification to the language server + private async fireBuildDidComplete( + compileSummary: CompileSummary + ): Promise { + const params = { + ...compileSummary, + }; + console.info( + `Executing 'arduino.languageserver.notifyBuildDidComplete' with ${JSON.stringify( + params.buildOutputUri + )}` + ); + + try { + await this.commandService.executeCommand( + 'arduino.languageserver.notifyBuildDidComplete', + params + ); + } catch (err) { + console.error( + `Unexpected error when firing event on build did complete. ${JSON.stringify( + params.buildOutputUri + )}`, + err + ); + } + } } diff --git a/arduino-ide-extension/src/browser/contributions/update-arduino-state.ts b/arduino-ide-extension/src/browser/contributions/update-arduino-state.ts index 767fbbf8c..bce3fa850 100644 --- a/arduino-ide-extension/src/browser/contributions/update-arduino-state.ts +++ b/arduino-ide-extension/src/browser/contributions/update-arduino-state.ts @@ -1,13 +1,11 @@ import { DisposableCollection } from '@theia/core/lib/common/disposable'; import URI from '@theia/core/lib/common/uri'; import { inject, injectable } from '@theia/core/shared/inversify'; -import { HostedPluginSupport } from '../hosted/hosted-plugin-support'; import type { ArduinoState } from 'vscode-arduino-api'; import { + BoardsConfig, BoardsService, CompileSummary, - isCompileSummary, - BoardsConfig, PortIdentifier, resolveDetectedPort, } from '../../common/protocol'; @@ -18,8 +16,10 @@ import { } from '../../common/protocol/arduino-context-mapper'; import { BoardsDataStore } from '../boards/boards-data-store'; import { BoardsServiceProvider } from '../boards/boards-service-provider'; +import { HostedPluginSupport } from '../hosted/hosted-plugin-support'; import { CurrentSketch } from '../sketches-service-client-impl'; import { SketchContribution } from './contribution'; +import { CompileSummaryProvider } from './verify-sketch'; /** * (non-API) exported for tests @@ -43,6 +43,8 @@ export class UpdateArduinoState extends SketchContribution { private readonly boardsDataStore: BoardsDataStore; @inject(HostedPluginSupport) private readonly hostedPluginSupport: HostedPluginSupport; + @inject(CompileSummaryProvider) + private readonly compileSummaryProvider: CompileSummaryProvider; private readonly toDispose = new DisposableCollection(); @@ -60,14 +62,13 @@ export class UpdateArduinoState extends SketchContribution { this.configService.onDidChangeSketchDirUri((userDirUri) => this.updateUserDirPath(userDirUri) ), - this.commandService.onDidExecuteCommand(({ commandId, args }) => { - if ( - commandId === 'arduino.languageserver.notifyBuildDidComplete' && - isCompileSummary(args[0]) - ) { - this.updateCompileSummary(args[0]); + this.compileSummaryProvider.onDidChangeCompileSummary( + (compilerSummary) => { + if (compilerSummary) { + this.updateCompileSummary(compilerSummary); + } } - }), + ), this.boardsDataStore.onDidChange((event) => { const selectedFqbn = this.boardsServiceProvider.boardsConfig.selectedBoard?.fqbn; @@ -88,6 +89,10 @@ export class UpdateArduinoState extends SketchContribution { this.updateSketchPath(this.sketchServiceClient.tryGetCurrentSketch()); this.updateUserDirPath(this.configService.tryGetSketchDirUri()); this.updateDataDirPath(this.configService.tryGetDataDirUri()); + const { compileSummary } = this.compileSummaryProvider; + if (compileSummary) { + this.updateCompileSummary(compileSummary); + } } onStop(): void { diff --git a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts index 4d8b445e3..22693085e 100644 --- a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts @@ -1,7 +1,7 @@ -import { Emitter } from '@theia/core/lib/common/event'; +import { Emitter, Event } from '@theia/core/lib/common/event'; import { nls } from '@theia/core/lib/common/nls'; import { inject, injectable } from '@theia/core/shared/inversify'; -import type { CoreService } from '../../common/protocol'; +import type { CompileSummary, CoreService } from '../../common/protocol'; import { ArduinoMenus } from '../menu/arduino-menus'; import { CurrentSketch } from '../sketches-service-client-impl'; import { ArduinoToolbar } from '../toolbar/arduino-toolbar'; @@ -15,6 +15,12 @@ import { } from './contribution'; import { CoreErrorHandler } from './core-error-handler'; +export const CompileSummaryProvider = Symbol('CompileSummaryProvider'); +export interface CompileSummaryProvider { + readonly compileSummary: CompileSummary | undefined; + readonly onDidChangeCompileSummary: Event; +} + export type VerifySketchMode = /** * When the user explicitly triggers the verify command from the primary UI: menu, toolbar, or keybinding. The UI shows the output, updates the toolbar items state, etc. @@ -46,13 +52,20 @@ export interface VerifySketchParams { type VerifyProgress = 'idle' | VerifySketchMode; @injectable() -export class VerifySketch extends CoreServiceContribution { +export class VerifySketch + extends CoreServiceContribution + implements CompileSummaryProvider +{ @inject(CoreErrorHandler) private readonly coreErrorHandler: CoreErrorHandler; private readonly onDidChangeEmitter = new Emitter(); private readonly onDidChange = this.onDidChangeEmitter.event; + private readonly onDidChangeCompileSummaryEmitter = new Emitter< + CompileSummary | undefined + >(); private verifyProgress: VerifyProgress = 'idle'; + private _compileSummary: CompileSummary | undefined; override registerCommands(registry: CommandRegistry): void { registry.registerCommand(VerifySketch.Commands.VERIFY_SKETCH, { @@ -117,6 +130,21 @@ export class VerifySketch extends CoreServiceContribution { super.handleError(error); } + get compileSummary(): CompileSummary | undefined { + return this._compileSummary; + } + + private updateCompileSummary( + compileSummary: CompileSummary | undefined + ): void { + this._compileSummary = compileSummary; + this.onDidChangeCompileSummaryEmitter.fire(this._compileSummary); + } + + get onDidChangeCompileSummary(): Event { + return this.onDidChangeCompileSummaryEmitter.event; + } + private async verifySketch( params?: VerifySketchParams ): Promise { @@ -141,7 +169,7 @@ export class VerifySketch extends CoreServiceContribution { return options; } - await this.doWithProgress({ + const compileSummary = await this.doWithProgress({ progressText: nls.localize( 'arduino/sketch/compile', 'Compiling sketch...' @@ -160,6 +188,9 @@ export class VerifySketch extends CoreServiceContribution { nls.localize('arduino/sketch/doneCompiling', 'Done compiling.'), { timeout: 3000 } ); + + this.updateCompileSummary(compileSummary); + // Returns with the used options for the compilation // so that follow-up tasks (such as upload) can reuse the compiled code. // Note that the `fqbn` is already decorated with the board settings, if any. diff --git a/arduino-ide-extension/src/common/protocol/core-service.ts b/arduino-ide-extension/src/common/protocol/core-service.ts index 2b4a07652..f4b0d8f02 100644 --- a/arduino-ide-extension/src/common/protocol/core-service.ts +++ b/arduino-ide-extension/src/common/protocol/core-service.ts @@ -171,7 +171,7 @@ export interface CoreService { compile( options: CoreService.Options.Compile, cancellationToken?: CancellationToken - ): Promise; + ): Promise; upload( options: CoreService.Options.Upload, cancellationToken?: CancellationToken diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index 285c05f72..2e2eb21a2 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -1,7 +1,6 @@ import { type ClientReadableStream } from '@grpc/grpc-js'; import { ApplicationError } from '@theia/core/lib/common/application-error'; import type { CancellationToken } from '@theia/core/lib/common/cancellation'; -import { CommandService } from '@theia/core/lib/common/command'; import { Disposable, DisposableCollection, @@ -69,15 +68,13 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { private readonly responseService: ResponseService; @inject(MonitorManager) private readonly monitorManager: MonitorManager; - @inject(CommandService) - private readonly commandService: CommandService; @inject(BoardDiscovery) private readonly boardDiscovery: BoardDiscovery; async compile( options: CoreService.Options.Compile, cancellationToken?: CancellationToken - ): Promise { + ): Promise { const coreClient = await this.coreClient; const { client, instance } = coreClient; const request = this.compileRequest(options, instance); @@ -91,7 +88,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { ); const toDisposeOnFinally = new DisposableCollection(handler); - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { let hasRetried = false; const handleUnexpectedError = (error: Error) => { @@ -164,50 +161,26 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService { call .on('data', handler.onData) .on('error', handleError) - .on('end', resolve); + .on('end', () => { + if (isCompileSummary(compileSummary)) { + resolve(compileSummary); + } else { + console.error( + `Have not received the full compile summary from the CLI while running the compilation. ${JSON.stringify( + compileSummary + )}` + ); + resolve(undefined); + } + }); }; startCompileStream(); }).finally(() => { toDisposeOnFinally.dispose(); - if (!isCompileSummary(compileSummary)) { - if (cancellationToken && cancellationToken.isCancellationRequested) { - // NOOP - return; - } - console.error( - `Have not received the full compile summary from the CLI while running the compilation. ${JSON.stringify( - compileSummary - )}` - ); - } else { - this.fireBuildDidComplete(compileSummary); - } }); } - // This executes on the frontend, the VS Code extension receives it, and sends an `ino/buildDidComplete` notification to the language server. - private fireBuildDidComplete(compileSummary: CompileSummary): void { - const params = { - ...compileSummary, - }; - console.info( - `Executing 'arduino.languageserver.notifyBuildDidComplete' with ${JSON.stringify( - params.buildOutputUri - )}` - ); - this.commandService - .executeCommand('arduino.languageserver.notifyBuildDidComplete', params) - .catch((err) => - console.error( - `Unexpected error when firing event on build did complete. ${JSON.stringify( - params.buildOutputUri - )}`, - err - ) - ); - } - private compileRequest( options: CoreService.Options.Compile & { exportBinaries?: boolean; diff --git a/arduino-ide-extension/src/test/browser/update-arduino-state.test.ts b/arduino-ide-extension/src/test/browser/update-arduino-state.test.ts index 31a534f33..fbbf17510 100644 --- a/arduino-ide-extension/src/test/browser/update-arduino-state.test.ts +++ b/arduino-ide-extension/src/test/browser/update-arduino-state.test.ts @@ -31,6 +31,7 @@ import { UpdateArduinoState, UpdateStateParams, } from '../../browser/contributions/update-arduino-state'; +import { CompileSummaryProvider } from '../../browser/contributions/verify-sketch'; import { NotificationCenter } from '../../browser/notification-center'; import { CurrentSketch, @@ -61,10 +62,12 @@ describe('update-arduino-state', function () { let currentSketchMock: CurrentSketch | undefined; let sketchDirUriMock: URI | undefined; let dataDirUriMock: URI | undefined; + let compileSummaryMock: CompileSummary | undefined; let onCurrentSketchDidChangeEmitter: Emitter; let onDataDirDidChangeEmitter: Emitter; let onSketchDirDidChangeEmitter: Emitter; let onDataStoreDidChangeEmitter: Emitter; + let compileSummaryDidChangeEmitter: Emitter; beforeEach(async () => { toDisposeAfterEach = new DisposableCollection(); @@ -76,15 +79,18 @@ describe('update-arduino-state', function () { currentSketchMock = undefined; sketchDirUriMock = undefined; dataDirUriMock = undefined; + compileSummaryMock = undefined; onCurrentSketchDidChangeEmitter = new Emitter(); onDataDirDidChangeEmitter = new Emitter(); onSketchDirDidChangeEmitter = new Emitter(); onDataStoreDidChangeEmitter = new Emitter(); + compileSummaryDidChangeEmitter = new Emitter(); toDisposeAfterEach.pushAll([ onCurrentSketchDidChangeEmitter, onDataDirDidChangeEmitter, onSketchDirDidChangeEmitter, onDataStoreDidChangeEmitter, + compileSummaryDidChangeEmitter, ]); const container = createContainer(); @@ -418,10 +424,8 @@ describe('update-arduino-state', function () { buildPlatform: undefined, buildOutputUri: 'file:///path/to/build', }; - await commandRegistry.executeCommand( - 'arduino.languageserver.notifyBuildDidComplete', - summary - ); + compileSummaryMock = summary; + compileSummaryDidChangeEmitter.fire(compileSummaryMock); await wait(50); const params = stateUpdateParams.filter( @@ -585,6 +589,12 @@ describe('update-arduino-state', function () { new ContainerModule((bind, unbind, isBound, rebind) => { bindSketchesContribution(bind, unbind, isBound, rebind); bind(UpdateArduinoState).toSelf().inSingletonScope(); + bind(CompileSummaryProvider).toConstantValue({ + get compileSummary(): CompileSummary | undefined { + return compileSummaryMock; + }, + onDidChangeCompileSummary: compileSummaryDidChangeEmitter.event, + }); rebind(BoardsService).toConstantValue({ getDetectedPorts() { return {}; diff --git a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts index dd80bca56..52b0d0444 100644 --- a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts @@ -1,12 +1,11 @@ -import { CancellationTokenSource } from '@theia/core/lib/common/cancellation'; -import { CommandRegistry } from '@theia/core/lib/common/command'; import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { isWindows } from '@theia/core/lib/common/os'; import { FileUri } from '@theia/core/lib/node/file-uri'; -import { Container, injectable } from '@theia/core/shared/inversify'; +import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; import { BoardsService, + CompileSummary, CoreService, SketchesService, isCompileSummary, @@ -36,11 +35,9 @@ describe('core-service-impl', () => { this.timeout(testTimeout); const coreService = container.get(CoreService); const sketchesService = container.get(SketchesService); - const commandService = - container.get(TestCommandRegistry); const sketch = await sketchesService.createNewSketch(); - await coreService.compile({ + const compileSummary = await coreService.compile({ fqbn: uno, sketch, optimizeForDebug: false, @@ -48,18 +45,9 @@ describe('core-service-impl', () => { verbose: true, }); - const executedBuildDidCompleteCommands = - commandService.executedCommands.filter( - ([command]) => - command === 'arduino.languageserver.notifyBuildDidComplete' - ); - expect(executedBuildDidCompleteCommands.length).to.be.equal(1); - const [, args] = executedBuildDidCompleteCommands[0]; - expect(args.length).to.be.equal(1); - const arg = args[0]; - expect(isCompileSummary(arg)).to.be.true; - expect('buildOutputUri' in arg).to.be.true; - expect(arg.buildOutputUri).to.be.not.undefined; + expect(isCompileSummary(compileSummary)).to.be.true; + expect((compileSummary).buildOutputUri).to.be.not + .undefined; const tempBuildPaths = await sketchesService.getBuildPath(sketch); if (isWindows) { @@ -68,7 +56,7 @@ describe('core-service-impl', () => { expect(tempBuildPaths.length).to.be.equal(1); } - const { buildOutputUri } = arg; + const { buildOutputUri } = compileSummary; const buildOutputPath = FileUri.fsPath(buildOutputUri).toString(); expect(tempBuildPaths.includes(buildOutputPath)).to.be.true; }); @@ -91,35 +79,5 @@ async function start( } async function createContainer(): Promise { - return createBaseContainer({ - additionalBindings: (bind, rebind) => { - bind(TestCommandRegistry).toSelf().inSingletonScope(); - rebind(CommandRegistry).toService(TestCommandRegistry); - }, - }); -} - -@injectable() -class TestCommandRegistry extends CommandRegistry { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - readonly executedCommands: [string, any[]][] = []; - - override async executeCommand( - commandId: string, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - ...args: any[] - ): Promise { - const { token } = new CancellationTokenSource(); - this.onWillExecuteCommandEmitter.fire({ - commandId, - args, - token, - waitUntil: () => { - // NOOP - }, - }); - this.executedCommands.push([commandId, args]); - this.onDidExecuteCommandEmitter.fire({ commandId, args }); - return undefined; - } + return createBaseContainer(); } From 9ab87bf8b5740e3126088a738af2aa0c16935dd0 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Wed, 5 Mar 2025 21:46:08 +0700 Subject: [PATCH 71/87] chore: use AWS OpenID Connect for S3 publish --- .github/workflows/build.yml | 51 ++++++++++++-------- .github/workflows/compose-full-changelog.yml | 21 +++++--- 2 files changed, 43 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e4e09b73f..5bb25811a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -203,7 +203,7 @@ jobs: echo "is-nightly=$is_nightly" >> $GITHUB_OUTPUT echo "channel-name=$channel_name" >> $GITHUB_OUTPUT # Only attempt upload to Amazon S3 if the credentials are available. - echo "publish-to-s3=${{ secrets.AWS_SECRET_ACCESS_KEY != '' }}" >> $GITHUB_OUTPUT + echo "publish-to-s3=${{ secrets.AWS_ROLE_ARN != '' }}" >> $GITHUB_OUTPUT select-targets: needs: build-type-determination @@ -284,8 +284,6 @@ jobs: - build-type-determination - select-targets env: - # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true # Location of artifacts generated by build. BUILD_ARTIFACTS_PATH: electron-app/dist/build-artifacts # to skip passing signing credentials to electron-builder @@ -363,8 +361,6 @@ jobs: AC_USERNAME: ${{ secrets.AC_USERNAME }} AC_PASSWORD: ${{ secrets.AC_PASSWORD }} AC_TEAM_ID: ${{ secrets.AC_TEAM_ID }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} IS_NIGHTLY: ${{ needs.build-type-determination.outputs.is-nightly }} IS_RELEASE: ${{ needs.build-type-determination.outputs.is-release }} CAN_SIGN: ${{ secrets[matrix.config.certificate-secret] != '' }} @@ -588,6 +584,12 @@ jobs: env: ARTIFACTS_FOLDER: build-artifacts + environment: production + + permissions: + id-token: write + contents: read + steps: - name: Download all job transfer artifacts uses: actions/download-artifact@v4 @@ -596,15 +598,15 @@ jobs: path: ${{ env.ARTIFACTS_FOLDER }} pattern: ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}* + - name: Configure AWS Credentials for Nightly [S3] + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: us-east-1 + - name: Publish Nightly [S3] - uses: docker://plugins/s3 - env: - PLUGIN_SOURCE: '${{ env.ARTIFACTS_FOLDER }}/*' - PLUGIN_STRIP_PREFIX: '${{ env.ARTIFACTS_FOLDER }}/' - PLUGIN_TARGET: '/arduino-ide/nightly' - PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: | + aws s3 sync ${{ env.ARTIFACTS_FOLDER }} s3://${{ secrets.DOWNLOADS_BUCKET }}/arduino-ide/nightly release: needs: @@ -625,6 +627,12 @@ jobs: env: ARTIFACTS_FOLDER: build-artifacts + environment: production + + permissions: + id-token: write + contents: read + steps: - name: Download all job transfer artifacts uses: actions/download-artifact@v4 @@ -648,16 +656,17 @@ jobs: file_glob: true body: ${{ needs.changelog.outputs.BODY }} + - name: Configure AWS Credentials for Release [S3] + if: needs.build-type-determination.outputs.publish-to-s3 == 'true' + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: us-east-1 + - name: Publish Release [S3] if: needs.build-type-determination.outputs.publish-to-s3 == 'true' - uses: docker://plugins/s3 - env: - PLUGIN_SOURCE: '${{ env.ARTIFACTS_FOLDER }}/*' - PLUGIN_STRIP_PREFIX: '${{ env.ARTIFACTS_FOLDER }}/' - PLUGIN_TARGET: '/arduino-ide' - PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: | + aws s3 sync ${{ env.ARTIFACTS_FOLDER }} s3://${{ secrets.DOWNLOADS_BUCKET }}/arduino-ide clean: # This job must run after all jobs that use the transfer artifact. diff --git a/.github/workflows/compose-full-changelog.yml b/.github/workflows/compose-full-changelog.yml index d126f37f4..2c328e52e 100644 --- a/.github/workflows/compose-full-changelog.yml +++ b/.github/workflows/compose-full-changelog.yml @@ -14,6 +14,11 @@ jobs: create-changelog: if: github.repository == 'arduino/arduino-ide' runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + environment: production + steps: - name: Checkout uses: actions/checkout@v4 @@ -44,12 +49,12 @@ jobs: # Compose changelog yarn run compose-changelog "${{ github.workspace }}/${{ env.CHANGELOG_ARTIFACTS }}/$CHANGELOG_FILE_NAME" + - name: Configure AWS Credentials for Changelog [S3] + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: us-east-1 + - name: Publish Changelog [S3] - uses: docker://plugins/s3 - env: - PLUGIN_SOURCE: '${{ env.CHANGELOG_ARTIFACTS }}/*' - PLUGIN_STRIP_PREFIX: '${{ env.CHANGELOG_ARTIFACTS }}/' - PLUGIN_TARGET: '/arduino-ide/changelog' - PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: | + aws s3 sync ${{ env.CHANGELOG_ARTIFACTS }} s3://${{ secrets.DOWNLOADS_BUCKET }}/arduino-ide/changelog \ No newline at end of file From d298b3ffc94008e89066cd999d891e84190da18f Mon Sep 17 00:00:00 2001 From: Christian Sarnataro Date: Mon, 24 Mar 2025 11:42:48 +0000 Subject: [PATCH 72/87] fix: sanitize message in notification component (#2664) fix: sanitize messages in notification component --- .../src/browser/theia/messages/notification-component.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arduino-ide-extension/src/browser/theia/messages/notification-component.tsx b/arduino-ide-extension/src/browser/theia/messages/notification-component.tsx index 2f1203b97..8cfe66543 100644 --- a/arduino-ide-extension/src/browser/theia/messages/notification-component.tsx +++ b/arduino-ide-extension/src/browser/theia/messages/notification-component.tsx @@ -2,6 +2,7 @@ import React from '@theia/core/shared/react'; import { NotificationComponent as TheiaNotificationComponent } from '@theia/messages/lib/browser/notification-component'; import { nls } from '@theia/core/lib/common'; import { codicon } from '@theia/core/lib/browser'; +import { sanitize } from 'dompurify'; export class NotificationComponent extends TheiaNotificationComponent { override render(): React.ReactNode { @@ -20,7 +21,7 @@ export class NotificationComponent extends TheiaNotificationComponent { />
From 859d29d41af2146537abedb42c9798011b452983 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Sat, 29 Mar 2025 01:33:25 +0900 Subject: [PATCH 73/87] feat: use `theia@1.57.0` (#2654) --- .github/workflows/build.yml | 1 + arduino-ide-extension/package.json | 50 +- .../browser/arduino-frontend-contribution.tsx | 2 +- .../browser/arduino-ide-frontend-module.ts | 91 +- .../src/browser/arduino-preferences.ts | 9 - .../auth/authentication-client-service.ts | 2 +- .../browser/boards/boards-auto-installer.ts | 2 +- .../browser/boards/boards-config-dialog.tsx | 3 +- .../src/browser/boards/boards-data-store.ts | 2 +- .../browser/boards/boards-service-provider.ts | 2 +- .../browser/config/config-service-client.ts | 2 +- .../contributions/check-for-ide-updates.ts | 2 +- .../src/browser/contributions/close.ts | 6 +- .../browser/contributions/compiler-errors.ts | 2 +- .../src/browser/contributions/contribution.ts | 6 +- .../contributions/edit-contributions.ts | 17 +- .../contributions/open-boards-config.ts | 2 +- .../contributions/survey-notification.ts | 78 - .../src/browser/create/create-features.ts | 2 +- .../src/browser/create/create-fs-provider.ts | 2 +- .../ide-updater/ide-updater-dialog.tsx | 3 +- .../ide-updater/ide-updater-commands.ts | 2 +- .../src/browser/notification-center.ts | 2 +- .../browser/sketches-service-client-impl.ts | 5 +- .../src/browser/style/cloud-sketchbook.css | 8 +- .../core/common-frontend-contribution.ts | 2 +- .../theia/core/connection-status-service.ts | 18 +- .../theia/core/sidebar-bottom-menu-widget.tsx | 47 +- .../theia/debug/debug-session-contribution.ts | 11 +- .../browser/theia/editor/editor-command.ts | 21 - .../theia/editor/editor-contribution.ts | 9 +- .../browser/theia/filesystem/file-resource.ts | 2 +- .../theia/monaco/monaco-editor-provider.ts | 2 +- .../theia/monaco/monaco-text-model-service.ts | 2 +- .../theia/monaco/monaco-theming-service.ts | 2 +- .../browser/theia/plugin-ext/hosted-plugin.ts | 10 +- .../theia/plugin-ext/tree-view-widget.tsx | 241 - .../theia/test/test-view-contribution.ts | 9 + .../src/browser/toolbar/arduino-toolbar.tsx | 23 +- .../list-widget-frontend-contribution.ts | 2 +- .../sketchbook-widget-contribution.ts | 2 +- .../src/common/protocol/survey-service.ts | 7 - .../theia/core/electron-main-menu-factory.ts | 28 +- .../theia/core/electron-window-service.ts | 11 +- .../arduino-electron-main-module.ts | 6 +- .../theia/electron-main-application.ts | 116 +- .../theia/theia-electron-window.ts | 2 +- .../src/node/arduino-daemon-impl.ts | 2 +- .../src/node/arduino-ide-backend-module.ts | 28 +- .../src/node/clang-formatter.ts | 2 +- .../src/node/cli-error-parser.ts | 2 +- .../src/node/config-service-impl.ts | 2 +- .../src/node/core-service-impl.ts | 6 +- .../src/node/examples-service-impl.ts | 2 +- .../src/node/executable-service-impl.ts | 2 +- .../monitor-settings-provider-impl.ts | 2 +- .../src/node/node-filesystem-ext.ts | 2 +- .../src/node/settings-reader.ts | 2 +- .../src/node/sketches-service-impl.ts | 2 +- .../src/node/survey-service-impl.ts | 20 - ...-contribution.ts => websocket-endpoint.ts} | 5 +- .../env-variables/env-variables-server.ts | 2 +- .../node/theia/filesystem/nsfw-bindings.ts | 42 - .../node/theia/filesystem/parcel-bindings.ts | 42 + .../{nsfw-watcher => parcel-watcher}/index.ts | 4 +- .../parcel-filesystem-service.ts} | 12 +- .../node/theia/plugin-ext/plugin-reader.ts | 4 +- .../src/test/node/clang-formatter.test.ts | 2 +- .../node/core-client-provider.slow-test.ts | 16 +- .../test/node/core-service-impl.slow-test.ts | 2 +- .../src/test/node/node-test-bindings.ts | 2 +- .../node/sketches-service-impl.slow-test.ts | 6 +- .../test/node/sketches-service-impl.test.ts | 2 +- arduino-ide-extension/tsconfig.json | 1 - electron-app/package.json | 72 +- electron-app/scripts/package.js | 2 +- electron-app/webpack.config.js | 4 +- i18n/en.json | 6 - package.json | 15 +- yarn.lock | 7544 +++++++++-------- 80 files changed, 4307 insertions(+), 4428 deletions(-) delete mode 100644 arduino-ide-extension/src/browser/contributions/survey-notification.ts delete mode 100644 arduino-ide-extension/src/browser/theia/editor/editor-command.ts delete mode 100644 arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx create mode 100644 arduino-ide-extension/src/browser/theia/test/test-view-contribution.ts delete mode 100644 arduino-ide-extension/src/common/protocol/survey-service.ts delete mode 100644 arduino-ide-extension/src/node/survey-service-impl.ts rename arduino-ide-extension/src/node/theia/core/{messaging-contribution.ts => websocket-endpoint.ts} (58%) delete mode 100644 arduino-ide-extension/src/node/theia/filesystem/nsfw-bindings.ts create mode 100644 arduino-ide-extension/src/node/theia/filesystem/parcel-bindings.ts rename arduino-ide-extension/src/node/theia/filesystem/{nsfw-watcher => parcel-watcher}/index.ts (83%) rename arduino-ide-extension/src/node/theia/filesystem/{nsfw-watcher/nsfw-filesystem-service.ts => parcel-watcher/parcel-filesystem-service.ts} (71%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5bb25811a..a4dcfa052 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -294,6 +294,7 @@ jobs: SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" WIN_CERT_PASSWORD: ${{ secrets[matrix.config.certificate-password-secret] }} WIN_CERT_CONTAINER_NAME: ${{ secrets[matrix.config.certificate-container] }} + PUPPETEER_SKIP_DOWNLOAD: true strategy: matrix: diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 45e852988..603398edb 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -24,28 +24,29 @@ }, "dependencies": { "@grpc/grpc-js": "^1.8.14", - "@theia/application-package": "1.41.0", - "@theia/core": "1.41.0", - "@theia/debug": "1.41.0", - "@theia/editor": "1.41.0", - "@theia/electron": "1.41.0", - "@theia/filesystem": "1.41.0", - "@theia/keymaps": "1.41.0", - "@theia/markers": "1.41.0", - "@theia/messages": "1.41.0", - "@theia/monaco": "1.41.0", - "@theia/monaco-editor-core": "1.72.3", - "@theia/navigator": "1.41.0", - "@theia/outline-view": "1.41.0", - "@theia/output": "1.41.0", - "@theia/plugin-ext": "1.41.0", - "@theia/plugin-ext-vscode": "1.41.0", - "@theia/preferences": "1.41.0", - "@theia/scm": "1.41.0", - "@theia/search-in-workspace": "1.41.0", - "@theia/terminal": "1.41.0", - "@theia/typehierarchy": "1.41.0", - "@theia/workspace": "1.41.0", + "@theia/application-package": "1.57.0", + "@theia/core": "1.57.0", + "@theia/debug": "1.57.0", + "@theia/editor": "1.57.0", + "@theia/electron": "1.57.0", + "@theia/filesystem": "1.57.0", + "@theia/keymaps": "1.57.0", + "@theia/markers": "1.57.0", + "@theia/messages": "1.57.0", + "@theia/monaco": "1.57.0", + "@theia/monaco-editor-core": "1.83.101", + "@theia/navigator": "1.57.0", + "@theia/outline-view": "1.57.0", + "@theia/output": "1.57.0", + "@theia/plugin-ext": "1.57.0", + "@theia/plugin-ext-vscode": "1.57.0", + "@theia/preferences": "1.57.0", + "@theia/scm": "1.57.0", + "@theia/search-in-workspace": "1.57.0", + "@theia/terminal": "1.57.0", + "@theia/test": "1.57.0", + "@theia/typehierarchy": "1.57.0", + "@theia/workspace": "1.57.0", "@tippyjs/react": "^4.2.5", "@types/auth0-js": "^9.21.3", "@types/btoa": "^1.2.3", @@ -57,7 +58,6 @@ "@types/node-fetch": "^2.5.7", "@types/p-queue": "^2.3.1", "@types/ps-tree": "^1.1.0", - "@types/react-tabs": "^2.3.2", "@types/temp": "^0.8.34", "arduino-serial-plotter-webapp": "0.2.0", "async-mutex": "^0.3.0", @@ -99,7 +99,7 @@ "react-markdown": "^8.0.0", "react-perfect-scrollbar": "^1.5.8", "react-select": "^5.6.0", - "react-tabs": "^3.1.2", + "react-tabs": "^6.1.0", "react-window": "^1.8.6", "semver": "^7.3.2", "string-natural-compare": "^2.0.3", @@ -126,7 +126,7 @@ "mockdate": "^3.0.5", "moment": "^2.24.0", "ncp": "^2.0.0", - "rimraf": "^2.6.1" + "rimraf": "^5.0.0" }, "optionalDependencies": { "@pingghost/protoc": "^1.0.2", diff --git a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx index 9ca0a9c61..d5969aedf 100644 --- a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx +++ b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx @@ -1,7 +1,7 @@ import { ColorContribution } from '@theia/core/lib/browser/color-application-contribution'; import { ColorRegistry } from '@theia/core/lib/browser/color-registry'; import { CommonMenus } from '@theia/core/lib/browser/common-frontend-contribution'; -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state'; import { TabBarToolbarContribution, diff --git a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts index 342516c0d..9625ffae5 100644 --- a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts +++ b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts @@ -1,18 +1,12 @@ import '../../src/browser/style/index.css'; -import { - Container, - ContainerModule, - interfaces, -} from '@theia/core/shared/inversify'; +import { Container, ContainerModule } from '@theia/core/shared/inversify'; import { WidgetFactory } from '@theia/core/lib/browser/widget-manager'; import { CommandContribution } from '@theia/core/lib/common/command'; import { bindViewContribution } from '@theia/core/lib/browser/shell/view-contribution'; import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar-toolbar'; import { WebSocketConnectionProvider } from '@theia/core/lib/browser/messaging/ws-connection-provider'; -import { - FrontendApplicationContribution, - FrontendApplication as TheiaFrontendApplication, -} from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplication as TheiaFrontendApplication } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { LibraryListWidget } from './library/library-list-widget'; import { ArduinoFrontendContribution } from './arduino-frontend-contribution'; import { @@ -57,8 +51,6 @@ import { DockPanelRenderer as TheiaDockPanelRenderer, TabBarRendererFactory, ContextMenuRenderer, - createTreeContainer, - TreeWidget, } from '@theia/core/lib/browser'; import { MenuContribution } from '@theia/core/lib/common/menu'; import { @@ -97,7 +89,6 @@ import { ArduinoDaemonPath, ArduinoDaemon, } from '../common/protocol/arduino-daemon'; -import { EditorCommandContribution as TheiaEditorCommandContribution } from '@theia/editor/lib/browser'; import { FrontendConnectionStatusService, ApplicationConnectionStatusContribution, @@ -186,7 +177,6 @@ import { import { About } from './contributions/about'; import { IconThemeService } from '@theia/core/lib/browser/icon-theme-service'; import { TabBarRenderer } from './theia/core/tab-bars'; -import { EditorCommandContribution } from './theia/editor/editor-command'; import { NavigatorTabBarDecorator as TheiaNavigatorTabBarDecorator } from '@theia/navigator/lib/browser/navigator-tab-bar-decorator'; import { NavigatorTabBarDecorator } from './theia/navigator/navigator-tab-bar-decorator'; import { Debug, DebugDisabledStatusMessageSource } from './contributions/debug'; @@ -275,7 +265,7 @@ import { IDEUpdaterDialog, IDEUpdaterDialogProps, } from './dialogs/ide-updater/ide-updater-dialog'; -import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-provider'; +import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-source'; import { MonitorModel } from './monitor-model'; import { MonitorManagerProxyClientImpl } from './monitor-manager-proxy-client-impl'; import { EditorManager as TheiaEditorManager } from '@theia/editor/lib/browser/editor-manager'; @@ -295,10 +285,6 @@ import { PreferenceTreeGenerator } from './theia/preferences/preference-tree-gen import { PreferenceTreeGenerator as TheiaPreferenceTreeGenerator } from '@theia/preferences/lib/browser/util/preference-tree-generator'; import { AboutDialog } from './theia/core/about-dialog'; import { AboutDialog as TheiaAboutDialog } from '@theia/core/lib/browser/about-dialog'; -import { - SurveyNotificationService, - SurveyNotificationServicePath, -} from '../common/protocol/survey-service'; import { WindowContribution } from './theia/core/window-contribution'; import { WindowContribution as TheiaWindowContribution } from '@theia/core/lib/browser/window-contribution'; import { CoreErrorHandler } from './contributions/core-error-handler'; @@ -381,19 +367,13 @@ import { DebugSessionWidget } from '@theia/debug/lib/browser/view/debug-session- import { DebugConfigurationWidget } from './theia/debug/debug-configuration-widget'; import { DebugConfigurationWidget as TheiaDebugConfigurationWidget } from '@theia/debug/lib/browser/view/debug-configuration-widget'; import { DebugToolBar } from '@theia/debug/lib/browser/view/debug-toolbar-widget'; -import { - PluginTree, - PluginTreeModel, - TreeViewWidgetOptions, - VIEW_ITEM_CONTEXT_MENU, -} from '@theia/plugin-ext/lib/main/browser/view/tree-view-widget'; -import { TreeViewDecoratorService } from '@theia/plugin-ext/lib/main/browser/view/tree-view-decorator-service'; -import { PLUGIN_VIEW_DATA_FACTORY_ID } from '@theia/plugin-ext/lib/main/browser/view/plugin-view-registry'; -import { TreeViewWidget } from './theia/plugin-ext/tree-view-widget'; + import { VersionWelcomeDialog, VersionWelcomeDialogProps, } from './dialogs/version-welcome-dialog'; +import { TestViewContribution as TheiaTestViewContribution } from '@theia/test/lib/browser/view/test-view-contribution'; +import { TestViewContribution } from './theia/test/test-view-contribution'; // Hack to fix copy/cut/paste issue after electron version update in Theia. // https://github.com/eclipse-theia/theia/issues/12487 @@ -574,15 +554,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { WorkspaceVariableContribution ); - bind(SurveyNotificationService) - .toDynamicValue((context) => { - return ElectronIpcConnectionProvider.createProxy( - context.container, - SurveyNotificationServicePath - ); - }) - .inSingletonScope(); - // Layout and shell customizations. rebind(TheiaOutlineViewContribution) .to(OutlineViewContribution) @@ -856,13 +827,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { ); }); - // Workaround for https://github.com/eclipse-theia/theia/issues/8722 - // Do not trigger a save on IDE startup if `"editor.autoSave": "on"` was set as a preference. - // Note: `"editor.autoSave" was renamed to `"files.autoSave" and `"on"` was replaced with three - // different cases, but we treat `!== 'off'` as auto save enabled. (https://github.com/eclipse-theia/theia/issues/10812) - bind(EditorCommandContribution).toSelf().inSingletonScope(); - rebind(TheiaEditorCommandContribution).toService(EditorCommandContribution); - // Silent the badge decoration in the Explorer view. bind(NavigatorTabBarDecorator).toSelf().inSingletonScope(); rebind(TheiaNavigatorTabBarDecorator).toService(NavigatorTabBarDecorator); @@ -1112,42 +1076,7 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { TerminalFrontendContribution ); - bindViewsWelcome_TheiaGH14309({ bind, widget: TreeViewWidget }); + // Hides the Test Explorer from the side-bar + bind(TestViewContribution).toSelf().inSingletonScope(); + rebind(TheiaTestViewContribution).toService(TestViewContribution); }); - -// Align the viewsWelcome rendering with VS Code (https://github.com/eclipse-theia/theia/issues/14309) -// Copied from Theia code but with customized TreeViewWidget with the customized viewsWelcome rendering -// https://github.com/eclipse-theia/theia/blob/0c5f69455d9ee355b1a7ca510ffa63d2b20f0c77/packages/plugin-ext/src/main/browser/plugin-ext-frontend-module.ts#L159-L181 -function bindViewsWelcome_TheiaGH14309({ - bind, - widget, -}: { - bind: interfaces.Bind; - widget: interfaces.Newable; -}) { - bind(WidgetFactory) - .toDynamicValue(({ container }) => ({ - id: PLUGIN_VIEW_DATA_FACTORY_ID, - createWidget: (options: TreeViewWidgetOptions) => { - const props = { - contextMenuPath: VIEW_ITEM_CONTEXT_MENU, - expandOnlyOnExpansionToggleClick: true, - expansionTogglePadding: 22, - globalSelection: true, - leftPadding: 8, - search: true, - multiSelect: options.multiSelect, - }; - const child = createTreeContainer(container, { - props, - tree: PluginTree, - model: PluginTreeModel, - widget, - decoratorService: TreeViewDecoratorService, - }); - child.bind(TreeViewWidgetOptions).toConstantValue(options); - return child.get(TreeWidget); - }, - })) - .inSingletonScope(); -} diff --git a/arduino-ide-extension/src/browser/arduino-preferences.ts b/arduino-ide-extension/src/browser/arduino-preferences.ts index 40ae222d1..77c65cbbe 100644 --- a/arduino-ide-extension/src/browser/arduino-preferences.ts +++ b/arduino-ide-extension/src/browser/arduino-preferences.ts @@ -280,14 +280,6 @@ const properties: ArduinoPreferenceSchemaProperties = { ), default: 'https://auth.arduino.cc/login#/register', }, - 'arduino.survey.notification': { - type: 'boolean', - description: nls.localize( - 'arduino/preferences/survey.notification', - 'True if users should be notified if a survey is available. True by default.' - ), - default: true, - }, 'arduino.cli.daemon.debug': { type: 'boolean', description: nls.localize( @@ -355,7 +347,6 @@ export interface ArduinoConfiguration { 'arduino.auth.domain': string; 'arduino.auth.audience': string; 'arduino.auth.registerUri': string; - 'arduino.survey.notification': boolean; 'arduino.cli.daemon.debug': boolean; 'arduino.sketch.inoBlueprint': string; 'arduino.checkForUpdates': boolean; diff --git a/arduino-ide-extension/src/browser/auth/authentication-client-service.ts b/arduino-ide-extension/src/browser/auth/authentication-client-service.ts index bf92eb1c7..9f1b05b1c 100644 --- a/arduino-ide-extension/src/browser/auth/authentication-client-service.ts +++ b/arduino-ide-extension/src/browser/auth/authentication-client-service.ts @@ -3,7 +3,7 @@ import { Emitter } from '@theia/core/lib/common/event'; import { JsonRpcProxy } from '@theia/core/lib/common/messaging/proxy-factory'; import { WindowService } from '@theia/core/lib/browser/window/window-service'; import { DisposableCollection } from '@theia/core/lib/common/disposable'; -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { CommandRegistry, CommandContribution, diff --git a/arduino-ide-extension/src/browser/boards/boards-auto-installer.ts b/arduino-ide-extension/src/browser/boards/boards-auto-installer.ts index 4b0f45e69..d5b548556 100644 --- a/arduino-ide-extension/src/browser/boards/boards-auto-installer.ts +++ b/arduino-ide-extension/src/browser/boards/boards-auto-installer.ts @@ -1,4 +1,4 @@ -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { MessageService } from '@theia/core/lib/common/message-service'; import { MessageType } from '@theia/core/lib/common/message-service-protocol'; diff --git a/arduino-ide-extension/src/browser/boards/boards-config-dialog.tsx b/arduino-ide-extension/src/browser/boards/boards-config-dialog.tsx index 79e5e9183..39aebaadd 100644 --- a/arduino-ide-extension/src/browser/boards/boards-config-dialog.tsx +++ b/arduino-ide-extension/src/browser/boards/boards-config-dialog.tsx @@ -98,6 +98,7 @@ export class BoardsConfigDialog extends ReactDialog { } override async open( + disposeOnResolve = true, params?: EditBoardsConfigActionParams ): Promise { this._searchSet = undefined; @@ -119,7 +120,7 @@ export class BoardsConfigDialog extends ReactDialog { this._searchSet = params.searchSet.slice(); } } - return super.open(); + return super.open(disposeOnResolve); } protected override onAfterAttach(msg: Message): void { diff --git a/arduino-ide-extension/src/browser/boards/boards-data-store.ts b/arduino-ide-extension/src/browser/boards/boards-data-store.ts index d4204c703..65fd90290 100644 --- a/arduino-ide-extension/src/browser/boards/boards-data-store.ts +++ b/arduino-ide-extension/src/browser/boards/boards-data-store.ts @@ -1,4 +1,4 @@ -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state'; import { StorageService } from '@theia/core/lib/browser/storage-service'; import type { diff --git a/arduino-ide-extension/src/browser/boards/boards-service-provider.ts b/arduino-ide-extension/src/browser/boards/boards-service-provider.ts index 29bccb242..864bae190 100644 --- a/arduino-ide-extension/src/browser/boards/boards-service-provider.ts +++ b/arduino-ide-extension/src/browser/boards/boards-service-provider.ts @@ -1,4 +1,4 @@ -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state'; import { StorageService } from '@theia/core/lib/browser/storage-service'; import { diff --git a/arduino-ide-extension/src/browser/config/config-service-client.ts b/arduino-ide-extension/src/browser/config/config-service-client.ts index 65e678180..ff671da20 100644 --- a/arduino-ide-extension/src/browser/config/config-service-client.ts +++ b/arduino-ide-extension/src/browser/config/config-service-client.ts @@ -1,4 +1,4 @@ -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state'; import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Emitter, Event } from '@theia/core/lib/common/event'; diff --git a/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts b/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts index 7ac57ac01..a2f76d15f 100644 --- a/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts +++ b/arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts @@ -70,7 +70,7 @@ export class CheckForIDEUpdates extends Contribution { SKIP_IDE_VERSION ); if (versionToSkip === updateInfo.version) return; - this.updaterDialog.open(updateInfo); + this.updaterDialog.open(true, updateInfo); }) .catch((e) => { this.messageService.error( diff --git a/arduino-ide-extension/src/browser/contributions/close.ts b/arduino-ide-extension/src/browser/contributions/close.ts index c5bab561f..93b4a62e4 100644 --- a/arduino-ide-extension/src/browser/contributions/close.ts +++ b/arduino-ide-extension/src/browser/contributions/close.ts @@ -1,8 +1,6 @@ import { Dialog } from '@theia/core/lib/browser/dialogs'; -import type { - FrontendApplication, - OnWillStopAction, -} from '@theia/core/lib/browser/frontend-application'; +import type { FrontendApplication } from '@theia/core/lib/browser/frontend-application'; +import type { OnWillStopAction } from '@theia/core/lib/browser/frontend-application-contribution'; import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell'; import { nls } from '@theia/core/lib/common/nls'; import type { MaybePromise } from '@theia/core/lib/common/types'; diff --git a/arduino-ide-extension/src/browser/contributions/compiler-errors.ts b/arduino-ide-extension/src/browser/contributions/compiler-errors.ts index a689ea3df..19c322d21 100644 --- a/arduino-ide-extension/src/browser/contributions/compiler-errors.ts +++ b/arduino-ide-extension/src/browser/contributions/compiler-errors.ts @@ -779,7 +779,7 @@ export class CompilerErrors return undefined; } else { return this.editorManager - .getByUri(new URI(uriOrWidget)) + .getByUri(new URI(uriOrWidget.toString())) .then((editor) => { if (editor) { return this.monacoEditor(editor); diff --git a/arduino-ide-extension/src/browser/contributions/contribution.ts b/arduino-ide-extension/src/browser/contributions/contribution.ts index 1a8ff5798..781b832fc 100644 --- a/arduino-ide-extension/src/browser/contributions/contribution.ts +++ b/arduino-ide-extension/src/browser/contributions/contribution.ts @@ -1,8 +1,6 @@ import { ClipboardService } from '@theia/core/lib/browser/clipboard-service'; -import { - FrontendApplication, - FrontendApplicationContribution, -} from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplication } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state'; import { KeybindingContribution, diff --git a/arduino-ide-extension/src/browser/contributions/edit-contributions.ts b/arduino-ide-extension/src/browser/contributions/edit-contributions.ts index d8e439088..1e6414a34 100644 --- a/arduino-ide-extension/src/browser/contributions/edit-contributions.ts +++ b/arduino-ide-extension/src/browser/contributions/edit-contributions.ts @@ -1,7 +1,11 @@ +import { nls } from '@theia/core/lib/common'; import { inject, injectable } from '@theia/core/shared/inversify'; import { CommonCommands } from '@theia/core/lib/browser/common-frontend-contribution'; import { ClipboardService } from '@theia/core/lib/browser/clipboard-service'; -import { MonacoEditorService } from '@theia/monaco/lib/browser/monaco-editor-service'; +import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices'; +import { ICodeEditorService } from '@theia/monaco-editor-core/esm/vs/editor/browser/services/codeEditorService'; +import type { ICodeEditor } from '@theia/monaco-editor-core/esm/vs/editor/browser/editorBrowser'; +import type { StandaloneCodeEditor } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneCodeEditor'; import { Contribution, Command, @@ -10,17 +14,11 @@ import { CommandRegistry, } from './contribution'; import { ArduinoMenus } from '../menu/arduino-menus'; -import { nls } from '@theia/core/lib/common'; -import type { ICodeEditor } from '@theia/monaco-editor-core/esm/vs/editor/browser/editorBrowser'; -import type { StandaloneCodeEditor } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneCodeEditor'; // TODO: [macOS]: to remove `Start Dictation...` and `Emoji & Symbol` see this thread: https://github.com/electron/electron/issues/8283#issuecomment-269522072 // Depends on https://github.com/eclipse-theia/theia/pull/7964 @injectable() export class EditContributions extends Contribution { - @inject(MonacoEditorService) - private readonly codeEditorService: MonacoEditorService; - @inject(ClipboardService) private readonly clipboardService: ClipboardService; @@ -208,9 +206,10 @@ ${value} protected async current(): Promise< ICodeEditor | StandaloneCodeEditor | undefined > { + const codeEditorService = StandaloneServices.get(ICodeEditorService); return ( - this.codeEditorService.getFocusedCodeEditor() || - this.codeEditorService.getActiveCodeEditor() || + codeEditorService.getFocusedCodeEditor() || + codeEditorService.getActiveCodeEditor() || undefined ); } diff --git a/arduino-ide-extension/src/browser/contributions/open-boards-config.ts b/arduino-ide-extension/src/browser/contributions/open-boards-config.ts index 443c3e5e4..90210b5fa 100644 --- a/arduino-ide-extension/src/browser/contributions/open-boards-config.ts +++ b/arduino-ide-extension/src/browser/contributions/open-boards-config.ts @@ -12,7 +12,7 @@ export class OpenBoardsConfig extends Contribution { override registerCommands(registry: CommandRegistry): void { registry.registerCommand(OpenBoardsConfig.Commands.OPEN_DIALOG, { execute: async (params?: EditBoardsConfigActionParams) => - this.boardsConfigDialog.open(params), + this.boardsConfigDialog.open(true, params), }); } } diff --git a/arduino-ide-extension/src/browser/contributions/survey-notification.ts b/arduino-ide-extension/src/browser/contributions/survey-notification.ts deleted file mode 100644 index e1a4817a6..000000000 --- a/arduino-ide-extension/src/browser/contributions/survey-notification.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { MessageService } from '@theia/core'; -import { FrontendApplicationContribution } from '@theia/core/lib/browser'; -import { inject, injectable } from '@theia/core/shared/inversify'; -import { LocalStorageService } from '@theia/core/lib/browser'; -import { nls } from '@theia/core/lib/common'; -import { WindowService } from '@theia/core/lib/browser/window/window-service'; -import { ArduinoPreferences } from '../arduino-preferences'; -import { SurveyNotificationService } from '../../common/protocol/survey-service'; - -const SURVEY_MESSAGE = nls.localize( - 'arduino/survey/surveyMessage', - 'Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better.' -); -const DO_NOT_SHOW_AGAIN = nls.localize( - 'arduino/survey/dismissSurvey', - "Don't show again" -); -const GO_TO_SURVEY = nls.localize( - 'arduino/survey/answerSurvey', - 'Answer survey' -); - -const SURVEY_BASE_URL = 'https://surveys.hotjar.com/'; -const surveyId = '17887b40-e1f0-4bd6-b9f0-a37f229ccd8b'; - -@injectable() -export class SurveyNotification implements FrontendApplicationContribution { - @inject(MessageService) - private readonly messageService: MessageService; - - @inject(LocalStorageService) - private readonly localStorageService: LocalStorageService; - - @inject(WindowService) - private readonly windowService: WindowService; - - @inject(ArduinoPreferences) - private readonly arduinoPreferences: ArduinoPreferences; - - @inject(SurveyNotificationService) - private readonly surveyNotificationService: SurveyNotificationService; - - onStart(): void { - this.arduinoPreferences.ready.then(async () => { - if ( - (await this.surveyNotificationService.isFirstInstance()) && - this.arduinoPreferences.get('arduino.survey.notification') - ) { - const surveyAnswered = await this.localStorageService.getData( - this.surveyKey(surveyId) - ); - if (surveyAnswered !== undefined) { - return; - } - const answer = await this.messageService.info( - SURVEY_MESSAGE, - DO_NOT_SHOW_AGAIN, - GO_TO_SURVEY - ); - switch (answer) { - case GO_TO_SURVEY: - this.windowService.openNewWindow(SURVEY_BASE_URL + surveyId, { - external: true, - }); - this.localStorageService.setData(this.surveyKey(surveyId), true); - break; - case DO_NOT_SHOW_AGAIN: - this.localStorageService.setData(this.surveyKey(surveyId), false); - break; - } - } - }); - } - - private surveyKey(id: string): string { - return `answered_survey:${id}`; - } -} diff --git a/arduino-ide-extension/src/browser/create/create-features.ts b/arduino-ide-extension/src/browser/create/create-features.ts index 2bbb32170..e49b3c576 100644 --- a/arduino-ide-extension/src/browser/create/create-features.ts +++ b/arduino-ide-extension/src/browser/create/create-features.ts @@ -1,4 +1,4 @@ -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Emitter, Event } from '@theia/core/lib/common/event'; import URI from '@theia/core/lib/common/uri'; diff --git a/arduino-ide-extension/src/browser/create/create-fs-provider.ts b/arduino-ide-extension/src/browser/create/create-fs-provider.ts index 7908d0556..1deaa9d6c 100644 --- a/arduino-ide-extension/src/browser/create/create-fs-provider.ts +++ b/arduino-ide-extension/src/browser/create/create-fs-provider.ts @@ -5,7 +5,7 @@ import { Disposable, DisposableCollection, } from '@theia/core/lib/common/disposable'; -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { Stat, FileType, diff --git a/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx b/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx index 0598b2853..52eebd9c5 100644 --- a/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx +++ b/arduino-ide-extension/src/browser/dialogs/ide-updater/ide-updater-dialog.tsx @@ -261,6 +261,7 @@ export class IDEUpdaterDialog extends ReactDialog { } override async open( + disposeOnResolve = true, data: UpdateInfo | undefined = undefined ): Promise { if (data && data.version) { @@ -271,7 +272,7 @@ export class IDEUpdaterDialog extends ReactDialog { error: undefined, }); this.updateInfo = data; - return super.open(); + return super.open(disposeOnResolve); } } diff --git a/arduino-ide-extension/src/browser/ide-updater/ide-updater-commands.ts b/arduino-ide-extension/src/browser/ide-updater/ide-updater-commands.ts index 167c83120..7e9c2c75f 100644 --- a/arduino-ide-extension/src/browser/ide-updater/ide-updater-commands.ts +++ b/arduino-ide-extension/src/browser/ide-updater/ide-updater-commands.ts @@ -30,7 +30,7 @@ export class IDEUpdaterCommands implements CommandContribution { try { const updateInfo = await this.updater.checkForUpdates(initialCheck); if (!!updateInfo) { - this.updaterDialog.open(updateInfo); + this.updaterDialog.open(true, updateInfo); } else { this.messageService.info( nls.localize( diff --git a/arduino-ide-extension/src/browser/notification-center.ts b/arduino-ide-extension/src/browser/notification-center.ts index 9bb0e2ae4..f74ee3cf2 100644 --- a/arduino-ide-extension/src/browser/notification-center.ts +++ b/arduino-ide-extension/src/browser/notification-center.ts @@ -6,7 +6,7 @@ import { import { Emitter } from '@theia/core/lib/common/event'; import { JsonRpcProxy } from '@theia/core/lib/common/messaging/proxy-factory'; import { DisposableCollection } from '@theia/core/lib/common/disposable'; -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { IndexUpdateDidCompleteParams, IndexUpdateDidFailParams, diff --git a/arduino-ide-extension/src/browser/sketches-service-client-impl.ts b/arduino-ide-extension/src/browser/sketches-service-client-impl.ts index 9b3cdac94..6955f080c 100644 --- a/arduino-ide-extension/src/browser/sketches-service-client-impl.ts +++ b/arduino-ide-extension/src/browser/sketches-service-client-impl.ts @@ -9,7 +9,7 @@ import { Disposable, DisposableCollection, } from '@theia/core/lib/common/disposable'; -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { Sketch, SketchesService } from '../common/protocol'; import { ConfigServiceClient } from './config/config-service-client'; import { @@ -74,6 +74,7 @@ export class SketchesServiceClientImpl const sketchDirUri = this.configService.tryGetSketchDirUri(); this.watchSketchbookDir(sketchDirUri); const refreshCurrentSketch = async () => { + await this.workspaceService.ready; const currentSketch = await this.loadCurrentSketch(); const ideTempFolderUri = await this.getIdeTempFolderUriForSketch( currentSketch @@ -287,7 +288,7 @@ export class SketchesServiceClientImpl * `true` if the `uri` is not contained in any of the opened workspaces. Otherwise, `false`. */ isReadOnly(uri: URI | monaco.Uri | string): boolean { - const toCheck = uri instanceof URI ? uri : new URI(uri); + const toCheck = uri instanceof URI ? uri : new URI(uri.toString()); if (toCheck.scheme === 'user-storage') { return false; } diff --git a/arduino-ide-extension/src/browser/style/cloud-sketchbook.css b/arduino-ide-extension/src/browser/style/cloud-sketchbook.css index 62938e219..e905a315a 100644 --- a/arduino-ide-extension/src/browser/style/cloud-sketchbook.css +++ b/arduino-ide-extension/src/browser/style/cloud-sketchbook.css @@ -98,16 +98,12 @@ color: var(--theia-textLink-foreground); } -.account-icon { +img.arduino-account-picture { width: var(--theia-private-sidebar-icon-size); height: var(--theia-private-sidebar-icon-size); - border-radius: 50%; - overflow: hidden; -} - -.account-icon > img { max-width: 100%; max-height: 100%; + border-radius: 50%; } .connected-status-icon { diff --git a/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts b/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts index 3affee1f4..34ea17187 100644 --- a/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts +++ b/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts @@ -2,7 +2,7 @@ import { CommonCommands, CommonFrontendContribution as TheiaCommonFrontendContribution, } from '@theia/core/lib/browser/common-frontend-contribution'; -import type { OnWillStopAction } from '@theia/core/lib/browser/frontend-application'; +import type { OnWillStopAction } from '@theia/core/lib/browser/frontend-application-contribution'; import type { KeybindingRegistry } from '@theia/core/lib/browser/keybinding'; import type { CommandRegistry } from '@theia/core/lib/common/command'; import type { MenuModelRegistry } from '@theia/core/lib/common/menu'; diff --git a/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts b/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts index f876f7c0a..f892d7eb8 100644 --- a/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts +++ b/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts @@ -1,10 +1,10 @@ import { - ApplicationConnectionStatusContribution as TheiaApplicationConnectionStatusContribution, ConnectionStatus, + ApplicationConnectionStatusContribution as TheiaApplicationConnectionStatusContribution, FrontendConnectionStatusService as TheiaFrontendConnectionStatusService, } from '@theia/core/lib/browser/connection-status-service'; -import type { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; -import { WebSocketConnectionProvider } from '@theia/core/lib/browser/index'; +import type { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; +import { WebSocketConnectionSource } from '@theia/core/lib/browser/messaging/ws-connection-source'; import { StatusBarAlignment } from '@theia/core/lib/browser/status-bar/status-bar'; import { Disposable } from '@theia/core/lib/common/disposable'; import { Emitter, Event } from '@theia/core/lib/common/event'; @@ -114,8 +114,8 @@ export class FrontendConnectionStatusService extends TheiaFrontendConnectionStat private readonly daemonPort: DaemonPort; @inject(IsOnline) private readonly isOnline: IsOnline; - @inject(WebSocketConnectionProvider) - private readonly connectionProvider: WebSocketConnectionProvider; + @inject(WebSocketConnectionSource) + private readonly connectionSource: WebSocketConnectionSource; @postConstruct() protected override init(): void { @@ -128,7 +128,7 @@ export class FrontendConnectionStatusService extends TheiaFrontendConnectionStat } protected override async performPingRequest(): Promise { - if (!this.connectionProvider['socket'].connected) { + if (!this.connectionSource['socket'].connected) { this.updateStatus(false); return; } @@ -171,8 +171,8 @@ export class ApplicationConnectionStatusContribution extends TheiaApplicationCon private readonly notificationManager: NotificationManager; @inject(CreateFeatures) private readonly createFeatures: CreateFeatures; - @inject(WebSocketConnectionProvider) - private readonly connectionProvider: WebSocketConnectionProvider; + @inject(WebSocketConnectionSource) + private readonly connectionSource: WebSocketConnectionSource; private readonly offlineStatusDidChangeEmitter = new Emitter< OfflineConnectionStatus | undefined @@ -202,7 +202,7 @@ export class ApplicationConnectionStatusContribution extends TheiaApplicationCon const params = { port: this.daemonPort.port, online: this.isOnline.online, - backendConnected: this.connectionProvider['socket'].connected, // https://github.com/arduino/arduino-ide/issues/2081 + backendConnected: this.connectionSource['socket'].connected, // https://github.com/arduino/arduino-ide/issues/2081 }; this._offlineStatus = offlineConnectionStatusType(params); const { text, tooltip } = offlineMessage(params); diff --git a/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx b/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx index 042e9a01f..124604098 100644 --- a/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx +++ b/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx @@ -1,5 +1,5 @@ import { SidebarBottomMenuWidget as TheiaSidebarBottomMenuWidget } from '@theia/core/lib/browser/shell/sidebar-bottom-menu-widget'; -import type { SidebarMenu } from '@theia/core/lib/browser/shell/sidebar-menu-widget'; +import type { SidebarMenuItem } from '@theia/core/lib/browser/shell/sidebar-menu-widget'; import type { MenuPath } from '@theia/core/lib/common/menu'; import { nls } from '@theia/core/lib/common/nls'; import { @@ -46,46 +46,45 @@ export class SidebarBottomMenuWidget extends TheiaSidebarBottomMenuWidget { this.contextMenuRenderer.render(options); } - protected override render(): React.ReactNode { - return ( - - {this.menus.map((menu) => this.renderMenu(menu))} - - ); - } - - private renderMenu(menu: SidebarMenu): React.ReactNode { + override renderItem(item: SidebarMenuItem): React.ReactNode { // Removes the _Settings_ (cog) icon from the left sidebar - if (menu.id === 'settings-menu') { + if (item.menu.id === 'settings-menu') { return undefined; } - const arduinoAccount = menu.id === accountMenu.id; - const picture = + const arduinoAccount = item.menu.id === accountMenu.id; + const arduinoAccountPicture = arduinoAccount && this.connectionStatue.offlineStatus !== 'internet' && this.createFeatures.session?.account.picture; - const className = typeof picture === 'string' ? undefined : menu.iconClass; + return ( - this.onClick(e, menu.menuPath)} +
this.onClick(e, item.menu.menuPath)} onMouseDown={this.onMouseDown} + onMouseEnter={(e) => this.onMouseEnter(e, item.menu.title)} onMouseOut={this.onMouseOut} > - {picture && ( -
+ {arduinoAccountPicture ? ( + {nls.localize( -
+ + ) : ( + + )} + {item.badge && ( +
{item.badge}
)} -
+
); } } diff --git a/arduino-ide-extension/src/browser/theia/debug/debug-session-contribution.ts b/arduino-ide-extension/src/browser/theia/debug/debug-session-contribution.ts index 769c3c930..92f5fa960 100644 --- a/arduino-ide-extension/src/browser/theia/debug/debug-session-contribution.ts +++ b/arduino-ide-extension/src/browser/theia/debug/debug-session-contribution.ts @@ -1,6 +1,7 @@ import { injectable } from '@theia/core/shared/inversify'; import { DebugSessionConnection } from '@theia/debug/lib/browser/debug-session-connection'; import { DefaultDebugSessionFactory as TheiaDefaultDebugSessionFactory } from '@theia/debug/lib/browser/debug-session-contribution'; +import { DebugSessionManager } from '@theia/debug/lib/browser/debug-session-manager'; import { DebugConfigurationSessionOptions } from '@theia/debug/lib/browser/debug-session-options'; import { DebugAdapterPath, @@ -12,6 +13,7 @@ import { DebugSession } from './debug-session'; @injectable() export class DefaultDebugSessionFactory extends TheiaDefaultDebugSessionFactory { override get( + manager: DebugSessionManager, sessionId: string, options: DebugConfigurationSessionOptions, parentSession?: DebugSession @@ -20,12 +22,12 @@ export class DefaultDebugSessionFactory extends TheiaDefaultDebugSessionFactory sessionId, () => new Promise((resolve) => - this.connectionProvider.openChannel( + this.connectionProvider.listen( `${DebugAdapterPath}/${sessionId}`, - (wsChannel) => { + (_, wsChannel) => { resolve(new ForwardingDebugChannel(wsChannel)); }, - { reconnecting: false } + false ) ), this.getTraceOutputChannel() @@ -35,6 +37,9 @@ export class DefaultDebugSessionFactory extends TheiaDefaultDebugSessionFactory sessionId, options, parentSession, + this.testService, + options.testRun, + manager, connection, this.terminalService, this.editorManager, diff --git a/arduino-ide-extension/src/browser/theia/editor/editor-command.ts b/arduino-ide-extension/src/browser/theia/editor/editor-command.ts deleted file mode 100644 index 9f4a3ffc5..000000000 --- a/arduino-ide-extension/src/browser/theia/editor/editor-command.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { injectable, postConstruct } from '@theia/core/shared/inversify'; -import { EditorCommandContribution as TheiaEditorCommandContribution } from '@theia/editor/lib/browser/editor-command'; - -@injectable() -export class EditorCommandContribution extends TheiaEditorCommandContribution { - @postConstruct() - protected override init(): void { - // Workaround for https://github.com/eclipse-theia/theia/issues/8722. - this.editorPreferences.onPreferenceChanged( - ({ preferenceName, newValue, oldValue }) => { - if (preferenceName === 'files.autoSave') { - const autoSaveWasOnBeforeChange = !oldValue || oldValue !== 'off'; - const autoSaveIsOnAfterChange = !newValue || newValue !== 'off'; - if (!autoSaveWasOnBeforeChange && autoSaveIsOnAfterChange) { - this.shell.saveAll(); - } - } - } - ); - } -} diff --git a/arduino-ide-extension/src/browser/theia/editor/editor-contribution.ts b/arduino-ide-extension/src/browser/theia/editor/editor-contribution.ts index 9ff0bd46e..1905ccc72 100644 --- a/arduino-ide-extension/src/browser/theia/editor/editor-contribution.ts +++ b/arduino-ide-extension/src/browser/theia/editor/editor-contribution.ts @@ -1,19 +1,18 @@ import { injectable } from '@theia/core/shared/inversify'; -import { TextEditor } from '@theia/editor/lib/browser'; import { EditorContribution as TheiaEditorContribution } from '@theia/editor/lib/browser/editor-contribution'; @injectable() export class EditorContribution extends TheiaEditorContribution { protected override updateLanguageStatus( - // eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars - editor: TextEditor | undefined + // eslint-disable-next-line @typescript-eslint/no-unused-vars + ..._: Parameters ): void { // NOOP } protected override updateEncodingStatus( - // eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars - editor: TextEditor | undefined + // eslint-disable-next-line @typescript-eslint/no-unused-vars + ..._: Parameters ): void { // https://github.com/arduino/arduino-ide/issues/1393 // NOOP diff --git a/arduino-ide-extension/src/browser/theia/filesystem/file-resource.ts b/arduino-ide-extension/src/browser/theia/filesystem/file-resource.ts index 9812aa1da..f1b49cfe5 100644 --- a/arduino-ide-extension/src/browser/theia/filesystem/file-resource.ts +++ b/arduino-ide-extension/src/browser/theia/filesystem/file-resource.ts @@ -36,7 +36,7 @@ export class FileResourceResolver extends TheiaFileResourceResolver { ); } return new WriteQueuedFileResource(uri, this.fileService, { - isReadonly: stat?.isReadonly ?? false, + readOnly: stat?.isReadonly ?? false, shouldOverwrite: () => this.shouldOverwrite(uri), shouldOpenAsText: (error) => this.shouldOpenAsText(uri, error), }); diff --git a/arduino-ide-extension/src/browser/theia/monaco/monaco-editor-provider.ts b/arduino-ide-extension/src/browser/theia/monaco/monaco-editor-provider.ts index 871cf8504..0080d447c 100644 --- a/arduino-ide-extension/src/browser/theia/monaco/monaco-editor-provider.ts +++ b/arduino-ide-extension/src/browser/theia/monaco/monaco-editor-provider.ts @@ -117,7 +117,7 @@ export function maybeUpdateReadOnlyState( const model = editor.document; const oldReadOnly = model.readOnly; const resource = model['resource']; - const newReadOnly = Boolean(resource.isReadonly) || isReadOnly(resource.uri); + const newReadOnly = Boolean(resource.readOnly) || isReadOnly(resource.uri); if (oldReadOnly !== newReadOnly) { editor.getControl().updateOptions({ readOnly: newReadOnly }); if (newReadOnly) { diff --git a/arduino-ide-extension/src/browser/theia/monaco/monaco-text-model-service.ts b/arduino-ide-extension/src/browser/theia/monaco/monaco-text-model-service.ts index 2943d4580..9d3eebe4b 100644 --- a/arduino-ide-extension/src/browser/theia/monaco/monaco-text-model-service.ts +++ b/arduino-ide-extension/src/browser/theia/monaco/monaco-text-model-service.ts @@ -20,7 +20,7 @@ export class MonacoTextModelService extends TheiaMonacoTextModelService { .getContributions() .find(({ scheme }) => resource.uri.scheme === scheme); const readOnly = - Boolean(resource.isReadonly) || + Boolean(resource.readOnly) || this.sketchesServiceClient.isReadOnly(resource.uri); return factory ? factory.createModel(resource) diff --git a/arduino-ide-extension/src/browser/theia/monaco/monaco-theming-service.ts b/arduino-ide-extension/src/browser/theia/monaco/monaco-theming-service.ts index 2604c3caf..0ed8e475b 100644 --- a/arduino-ide-extension/src/browser/theia/monaco/monaco-theming-service.ts +++ b/arduino-ide-extension/src/browser/theia/monaco/monaco-theming-service.ts @@ -1,4 +1,4 @@ -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { ThemeService } from '@theia/core/lib/browser/theming'; import { Disposable, diff --git a/arduino-ide-extension/src/browser/theia/plugin-ext/hosted-plugin.ts b/arduino-ide-extension/src/browser/theia/plugin-ext/hosted-plugin.ts index 8edf46383..97437335b 100644 --- a/arduino-ide-extension/src/browser/theia/plugin-ext/hosted-plugin.ts +++ b/arduino-ide-extension/src/browser/theia/plugin-ext/hosted-plugin.ts @@ -1,11 +1,9 @@ -import { DisposableCollection } from '@theia/core/lib/common/disposable'; +import type { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Emitter, Event } from '@theia/core/lib/common/event'; import { injectable, interfaces } from '@theia/core/shared/inversify'; -import { - PluginContributions, - HostedPluginSupport as TheiaHostedPluginSupport, -} from '@theia/plugin-ext/lib/hosted/browser/hosted-plugin'; -import { HostedPluginSupport } from '../../hosted/hosted-plugin-support'; +import { HostedPluginSupport as TheiaHostedPluginSupport } from '@theia/plugin-ext/lib/hosted/browser/hosted-plugin'; +import type { PluginContributions } from '@theia/plugin-ext/lib/hosted/common/hosted-plugin'; +import type { HostedPluginSupport } from '../../hosted/hosted-plugin-support'; @injectable() export class HostedPluginSupportImpl diff --git a/arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx b/arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx deleted file mode 100644 index dc83272c2..000000000 --- a/arduino-ide-extension/src/browser/theia/plugin-ext/tree-view-widget.tsx +++ /dev/null @@ -1,241 +0,0 @@ -import { LabelIcon } from '@theia/core/lib/browser/label-parser'; -import { OpenerService, open } from '@theia/core/lib/browser/opener-service'; -import { codicon } from '@theia/core/lib/browser/widgets/widget'; -import { DisposableCollection } from '@theia/core/lib/common/disposable'; -import { URI } from '@theia/core/lib/common/uri'; -import { inject, injectable } from '@theia/core/shared/inversify'; -import React from '@theia/core/shared/react'; -import { URI as CodeUri } from '@theia/core/shared/vscode-uri'; -import { TreeViewWidget as TheiaTreeViewWidget } from '@theia/plugin-ext/lib/main/browser/view/tree-view-widget'; - -// Copied back from https://github.com/eclipse-theia/theia/pull/14391 -// Remove the patching when Arduino uses Eclipse Theia >1.55.0 -// https://github.com/eclipse-theia/theia/blob/8d3c5a11af65448b6700bedd096f8d68f0675541/packages/core/src/browser/tree/tree-view-welcome-widget.tsx#L37-L54 -// https://github.com/eclipse-theia/theia/blob/8d3c5a11af65448b6700bedd096f8d68f0675541/packages/core/src/browser/tree/tree-view-welcome-widget.tsx#L146-L298 - -interface ViewWelcome { - readonly view: string; - readonly content: string; - readonly when?: string; - readonly enablement?: string; - readonly order: number; -} - -export interface IItem { - readonly welcomeInfo: ViewWelcome; - visible: boolean; -} - -export interface ILink { - readonly label: string; - readonly href: string; - readonly title?: string; -} - -type LinkedTextItem = string | ILink; - -@injectable() -export class TreeViewWidget extends TheiaTreeViewWidget { - @inject(OpenerService) - private readonly openerService: OpenerService; - - private readonly toDisposeBeforeUpdateViewWelcomeNodes = - new DisposableCollection(); - - protected override updateViewWelcomeNodes(): void { - this.viewWelcomeNodes = []; - this.toDisposeBeforeUpdateViewWelcomeNodes.dispose(); - const items = this.visibleItems.sort((a, b) => a.order - b.order); - - const enablementKeys: Set[] = []; - // the plugin-view-registry will push the changes when there is a change in the `when` prop which controls the visibility - // this listener is to update the enablement of the components in the view welcome - this.toDisposeBeforeUpdateViewWelcomeNodes.push( - this.contextService.onDidChange((event) => { - if (enablementKeys.some((keys) => event.affects(keys))) { - this.updateViewWelcomeNodes(); - this.update(); - } - }) - ); - // Note: VS Code does not support the `renderSecondaryButtons` prop in welcome content either. - for (const item of items) { - const { content } = item; - const enablement = isEnablementAware(item) ? item.enablement : undefined; - const itemEnablementKeys = enablement - ? this.contextService.parseKeys(enablement) - : undefined; - if (itemEnablementKeys) { - enablementKeys.push(itemEnablementKeys); - } - const lines = content.split('\n'); - - for (let line of lines) { - line = line.trim(); - - if (!line) { - continue; - } - - const linkedTextItems = this.parseLinkedText_patch14309(line); - - if ( - linkedTextItems.length === 1 && - typeof linkedTextItems[0] !== 'string' - ) { - const node = linkedTextItems[0]; - this.viewWelcomeNodes.push( - this.renderButtonNode_patch14309( - node, - this.viewWelcomeNodes.length, - enablement - ) - ); - } else { - const renderNode = (item: LinkedTextItem, index: number) => - typeof item == 'string' - ? this.renderTextNode_patch14309(item, index) - : this.renderLinkNode_patch14309(item, index, enablement); - - this.viewWelcomeNodes.push( -

- {...linkedTextItems.flatMap(renderNode)} -

- ); - } - } - } - } - - private renderButtonNode_patch14309( - node: ILink, - lineKey: string | number, - enablement: string | undefined - ): React.ReactNode { - return ( -
- -
- ); - } - - private renderTextNode_patch14309( - node: string, - textKey: string | number - ): React.ReactNode { - return ( - - {this.labelParser - .parse(node) - .map((segment, index) => - LabelIcon.is(segment) ? ( - - ) : ( - {segment} - ) - )} - - ); - } - - private renderLinkNode_patch14309( - node: ILink, - linkKey: string | number, - enablement: string | undefined - ): React.ReactNode { - return ( - this.openLinkOrCommand_patch14309(e, node.href)} - > - {node.label} - - ); - } - - private getLinkClassName_patch14309( - href: string, - enablement: string | undefined - ): string { - const classNames = ['theia-WelcomeViewCommandLink']; - // Only command-backed links can be disabled. All other, https:, file: remain enabled - if ( - href.startsWith('command:') && - !this.isEnabledClick_patch14309(enablement) - ) { - classNames.push('disabled'); - } - return classNames.join(' '); - } - - private isEnabledClick_patch14309(enablement: string | undefined): boolean { - return typeof enablement === 'string' - ? this.contextService.match(enablement) - : true; - } - - private openLinkOrCommand_patch14309 = ( - event: React.MouseEvent, - value: string - ): void => { - event.stopPropagation(); - - if (value.startsWith('command:')) { - const command = value.replace('command:', ''); - this.commands.executeCommand(command); - } else if (value.startsWith('file:')) { - const uri = value.replace('file:', ''); - open(this.openerService, new URI(CodeUri.file(uri).toString())); - } else { - this.windowService.openNewWindow(value, { external: true }); - } - }; - - private parseLinkedText_patch14309(text: string): LinkedTextItem[] { - const result: LinkedTextItem[] = []; - - const linkRegex = - /\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi; - let index = 0; - let match: RegExpExecArray | null; - - while ((match = linkRegex.exec(text))) { - if (match.index - index > 0) { - result.push(text.substring(index, match.index)); - } - - const [, label, href, , title] = match; - - if (title) { - result.push({ label, href, title }); - } else { - result.push({ label, href }); - } - - index = match.index + match[0].length; - } - - if (index < text.length) { - result.push(text.substring(index)); - } - - return result; - } -} - -interface EnablementAware { - readonly enablement: string | undefined; -} - -function isEnablementAware(arg: unknown): arg is EnablementAware { - return !!arg && typeof arg === 'object' && 'enablement' in arg; -} diff --git a/arduino-ide-extension/src/browser/theia/test/test-view-contribution.ts b/arduino-ide-extension/src/browser/theia/test/test-view-contribution.ts new file mode 100644 index 000000000..d15466f0b --- /dev/null +++ b/arduino-ide-extension/src/browser/theia/test/test-view-contribution.ts @@ -0,0 +1,9 @@ +import { TestViewContribution as TheiaTestViewContribution } from '@theia/test/lib/browser/view/test-view-contribution'; +import { injectable } from 'inversify'; + +@injectable() +export class TestViewContribution extends TheiaTestViewContribution { + override async initializeLayout(): Promise { + // NOOP + } +} diff --git a/arduino-ide-extension/src/browser/toolbar/arduino-toolbar.tsx b/arduino-ide-extension/src/browser/toolbar/arduino-toolbar.tsx index 4f1878f09..4458b8fc6 100644 --- a/arduino-ide-extension/src/browser/toolbar/arduino-toolbar.tsx +++ b/arduino-ide-extension/src/browser/toolbar/arduino-toolbar.tsx @@ -4,6 +4,7 @@ import { TabBarToolbarRegistry, TabBarToolbarItem, ReactTabBarToolbarItem, + RenderedToolbarItem, } from '@theia/core/lib/browser/shell/tab-bar-toolbar'; import { CommandRegistry } from '@theia/core/lib/common/command'; import { ReactWidget } from '@theia/core/lib/browser'; @@ -14,7 +15,7 @@ export const ARDUINO_TOOLBAR_ITEM_CLASS = 'arduino-tool-item'; export namespace ArduinoToolbarComponent { export interface Props { side: 'left' | 'right'; - items: (TabBarToolbarItem | ReactTabBarToolbarItem)[]; + items: TabBarToolbarItem[]; commands: CommandRegistry; labelParser: LabelParser; commandIsEnabled: (id: string) => boolean; @@ -34,7 +35,7 @@ export class ArduinoToolbarComponent extends React.Component< this.state = { tooltip: '' }; } - protected renderItem = (item: TabBarToolbarItem) => { + protected renderItem = (item: RenderedToolbarItem) => { let innerText = ''; let className = `arduino-tool-icon ${item.id}-icon`; if (item.text) { @@ -46,7 +47,8 @@ export class ArduinoToolbarComponent extends React.Component< } } } - const command = this.props.commands.getCommand(item.command); + const command = + item.command && this.props.commands.getCommand(item.command); const cls = `${ARDUINO_TOOLBAR_ITEM_CLASS} ${ TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM } ${command && this.props.commandIsEnabled(command.id) ? 'enabled' : ''} ${ @@ -80,7 +82,9 @@ export class ArduinoToolbarComponent extends React.Component< const items = [ {[...this.props.items].map((item) => - TabBarToolbarItem.is(item) ? this.renderItem(item) : item.render() + ReactTabBarToolbarItem.is(item) + ? item.render() + : this.renderItem(item) )} , ]; @@ -94,10 +98,7 @@ export class ArduinoToolbarComponent extends React.Component< } export class ArduinoToolbar extends ReactWidget { - protected items = new Map< - string, - TabBarToolbarItem | ReactTabBarToolbarItem - >(); + protected items = new Map(); constructor( protected readonly tabBarToolbarRegistry: TabBarToolbarRegistry, @@ -112,9 +113,7 @@ export class ArduinoToolbar extends ReactWidget { this.tabBarToolbarRegistry.onDidChange(() => this.updateToolbar()); } - protected updateItems( - items: Array - ): void { + protected updateItems(items: Array): void { this.items.clear(); const revItems = items .sort(TabBarToolbarItem.PRIORITY_COMPARATOR) @@ -163,7 +162,7 @@ export class ArduinoToolbar extends ReactWidget { protected executeCommand = (e: React.MouseEvent) => { const item = this.items.get(e.currentTarget.id); - if (TabBarToolbarItem.is(item)) { + if (item && item.command) { this.commands.executeCommand(item.command, this, e.target); } }; diff --git a/arduino-ide-extension/src/browser/widgets/component-list/list-widget-frontend-contribution.ts b/arduino-ide-extension/src/browser/widgets/component-list/list-widget-frontend-contribution.ts index 56dec744d..205dac9ed 100644 --- a/arduino-ide-extension/src/browser/widgets/component-list/list-widget-frontend-contribution.ts +++ b/arduino-ide-extension/src/browser/widgets/component-list/list-widget-frontend-contribution.ts @@ -1,4 +1,4 @@ -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { OpenerOptions, OpenHandler, diff --git a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts index e73bb7e2f..e3ce5b136 100644 --- a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts +++ b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts @@ -3,7 +3,7 @@ import { CommandRegistry } from '@theia/core/lib/common/command'; import { MenuModelRegistry } from '@theia/core/lib/common/menu'; import { PreferenceService } from '@theia/core/lib/browser/preferences/preference-service'; import { AbstractViewContribution } from '@theia/core/lib/browser/shell/view-contribution'; -import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution'; import { MainMenuManager } from '../../../common/main-menu-manager'; import { ArduinoPreferences } from '../../arduino-preferences'; import { SketchbookWidget } from './sketchbook-widget'; diff --git a/arduino-ide-extension/src/common/protocol/survey-service.ts b/arduino-ide-extension/src/common/protocol/survey-service.ts deleted file mode 100644 index 3ab53b230..000000000 --- a/arduino-ide-extension/src/common/protocol/survey-service.ts +++ /dev/null @@ -1,7 +0,0 @@ -export const SurveyNotificationServicePath = - '/services/survey-notification-service'; -export const SurveyNotificationService = Symbol('SurveyNotificationService'); - -export interface SurveyNotificationService { - isFirstInstance(): Promise; -} diff --git a/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts b/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts index 77fd74a68..cec3f54e6 100644 --- a/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts +++ b/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts @@ -38,33 +38,33 @@ export class ElectronMainMenuFactory extends TheiaElectronMainMenuFactory { this.preferencesService.onPreferenceChanged( debounce((e) => { if (e.preferenceName === 'window.menuBarVisibility') { - this.setMenuBar(); + this.doSetMenuBar(); } - if (this._menu) { - for (const cmd of this._toggledCommands) { - const menuItem = this.findMenuById(this._menu, cmd); + if (this.menu) { + for (const cmd of this.toggledCommands) { + const menuItem = this.findMenuById(this.menu, cmd); if (menuItem) { menuItem.checked = this.commandRegistry.isToggled(cmd); } } - window.electronArduino.setMenu(this._menu); // calls the IDE2-specific implementation + window.electronArduino.setMenu(this.menu); // calls the IDE2-specific implementation } }, 10) ); this.keybindingRegistry.onKeybindingsChanged(() => { - this.setMenuBar(); + this.doSetMenuBar(); }); // #endregion Theia `postConstruct` this.appStateService.reachedState('ready').then(() => { this.appReady = true; if (this.updateWhenReady) { - this.setMenuBar(); + this.doSetMenuBar(); } }); } override createElectronMenuBar(): MenuDto[] { - this._toggledCommands.clear(); // https://github.com/eclipse-theia/theia/issues/8977 + this.toggledCommands.clear(); // https://github.com/eclipse-theia/theia/issues/8977 const menuModel = this.menuProvider.getMenu(MAIN_MENU_BAR); const menu = this.fillMenuTemplate([], menuModel, [], { rootMenuPath: MAIN_MENU_BAR, @@ -73,11 +73,11 @@ export class ElectronMainMenuFactory extends TheiaElectronMainMenuFactory { menu.unshift(this.createOSXMenu()); } const escapedMenu = this.escapeAmpersand(menu); - this._menu = escapedMenu; + this.menu = escapedMenu; return escapedMenu; } - override async setMenuBar(): Promise { + override async doSetMenuBar(): Promise { // Avoid updating menu items when the app is not ready. // Getting the current electron window is not free and synchronous. // Here, we defer all menu update requests, and fire one when the app is ready. @@ -124,17 +124,17 @@ export class ElectronMainMenuFactory extends TheiaElectronMainMenuFactory { ...args ); if ( - this._menu && + this.menu && this.menuCommandExecutor.isVisible(menuPath, commandId, ...args) ) { - const item = this.findMenuById(this._menu, commandId); + const item = this.findMenuById(this.menu, commandId); if (item) { item.checked = this.menuCommandExecutor.isToggled( menuPath, commandId, ...args ); - window.electronArduino.setMenu(this._menu); // overridden to call the IDE2-specific implementation. + window.electronArduino.setMenu(this.menu); // overridden to call the IDE2-specific implementation. } } } @@ -342,7 +342,7 @@ export class ElectronMainMenuFactory extends TheiaElectronMainMenuFactory { parentItems.push(menuItem); if (this.commandRegistry.getToggledHandler(commandId, ...args)) { - this._toggledCommands.add(commandId); + this.toggledCommands.add(commandId); } } return parentItems; diff --git a/arduino-ide-extension/src/electron-browser/theia/core/electron-window-service.ts b/arduino-ide-extension/src/electron-browser/theia/core/electron-window-service.ts index f1f594783..67adac604 100644 --- a/arduino-ide-extension/src/electron-browser/theia/core/electron-window-service.ts +++ b/arduino-ide-extension/src/electron-browser/theia/core/electron-window-service.ts @@ -7,6 +7,7 @@ import { hasStartupTasks, StartupTasks, } from '../../../electron-common/startup-task'; +import { WindowReloadOptions } from '@theia/core/lib/browser/window/window-service'; @injectable() export class ElectronWindowService @@ -17,8 +18,12 @@ export class ElectronWindowService @postConstruct() protected override init(): void { - // NOOP + // Overridden to avoid calling the zoom level listener in super. // IDE2 listens on the zoom level changes in `ArduinoFrontendContribution#onStart` + + window.electronTheiaCore.onAboutToClose(() => { + this.connectionCloseService.markForClose(this.frontendIdProvider.getId()); + }); } async isFirstWindow(): Promise { @@ -38,11 +43,11 @@ export class ElectronWindowService } // Overridden to support optional task owner params and make `tsc` happy. - override reload(options?: StartupTasks): void { + override reload(options?: StartupTasks | WindowReloadOptions): void { if (hasStartupTasks(options)) { window.electronArduino.requestReload(options); } else { - window.electronTheiaCore.requestReload(); + super.reload(options); } } diff --git a/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts b/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts index 04f8b50fa..b6fd604e4 100644 --- a/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts +++ b/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts @@ -1,10 +1,10 @@ +import { ConnectionHandler } from '@theia/core/lib/common/messaging/handler'; import { JsonRpcConnectionHandler } from '@theia/core/lib/common/messaging/proxy-factory'; import { ElectronMainWindowService } from '@theia/core/lib/electron-common/electron-main-window-service'; -import { ElectronConnectionHandler } from '@theia/core/lib/electron-common/messaging/electron-connection-handler'; import { TheiaMainApi } from '@theia/core/lib/electron-main/electron-api-main'; import { - ElectronMainApplication as TheiaElectronMainApplication, ElectronMainApplicationContribution, + ElectronMainApplication as TheiaElectronMainApplication, } from '@theia/core/lib/electron-main/electron-main-application'; import { TheiaElectronWindow as DefaultTheiaElectronWindow } from '@theia/core/lib/electron-main/theia-electron-window'; import { ContainerModule } from '@theia/core/shared/inversify'; @@ -33,7 +33,7 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { bind(IDEUpdaterImpl).toSelf().inSingletonScope(); bind(IDEUpdater).toService(IDEUpdaterImpl); bind(ElectronMainApplicationContribution).toService(IDEUpdater); - bind(ElectronConnectionHandler) + bind(ConnectionHandler) .toDynamicValue( (context) => new JsonRpcConnectionHandler( diff --git a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts index 35063bc8f..e6f91f5b9 100644 --- a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts +++ b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts @@ -11,16 +11,16 @@ import { Disposable, DisposableCollection, } from '@theia/core/lib/common/disposable'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { isOSX } from '@theia/core/lib/common/os'; import { Deferred } from '@theia/core/lib/common/promise-util'; import { isObject, MaybePromise, Mutable } from '@theia/core/lib/common/types'; import { ElectronSecurityToken } from '@theia/core/lib/electron-common/electron-token'; import { - ElectronMainExecutionParams, + ElectronMainCommandOptions, ElectronMainApplication as TheiaElectronMainApplication, } from '@theia/core/lib/electron-main/electron-main-application'; import type { TheiaBrowserWindowOptions } from '@theia/core/lib/electron-main/theia-electron-window'; -import { FileUri } from '@theia/core/lib/node/file-uri'; import { inject, injectable } from '@theia/core/shared/inversify'; import { URI } from '@theia/core/shared/vscode-uri'; import { log as logToFile, setup as setupFileLog } from 'node-log-rotate'; @@ -28,6 +28,7 @@ import { fork } from 'node:child_process'; import { promises as fs, readFileSync, rm, rmSync } from 'node:fs'; import type { AddressInfo } from 'node:net'; import { isAbsolute, join, resolve } from 'node:path'; +import type { Argv } from 'yargs'; import { Sketch } from '../../common/protocol'; import { AppInfo, @@ -129,6 +130,11 @@ const APP_STARTED_WITH_CONTENT_TRACE = typeof process !== 'undefined' && process.argv.indexOf('--content-trace') !== -1; +const createYargs: ( + argv?: string[], + cwd?: string +) => Argv = require('yargs/yargs'); + @injectable() export class ElectronMainApplication extends TheiaElectronMainApplication { @inject(IsTempSketch) @@ -171,29 +177,59 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { private readonly scheduledDeletions: Disposable[] = []; override async start(config: FrontendApplicationConfig): Promise { - // Explicitly set the app name to have better menu items on macOS. ("About", "Hide", and "Quit") - // See: https://github.com/electron-userland/electron-builder/issues/2468 - // Regression in Theia: https://github.com/eclipse-theia/theia/issues/8701 - console.log(`${config.applicationName} ${app.getVersion()}`); - app.on('ready', () => app.setName(config.applicationName)); - const cwd = process.cwd(); - this.attachFileAssociations(cwd); - this.useNativeWindowFrame = this.getTitleBarStyle(config) === 'native'; - this._config = await updateFrontendApplicationConfigFromPackageJson(config); - this._appInfo = updateAppInfo(this._appInfo, this._config); - this.hookApplicationEvents(); - const [port] = await Promise.all([this.startBackend(), app.whenReady()]); - this.startContentTracing(); - this._backendPort.resolve(port); - await Promise.all([ - this.attachElectronSecurityToken(port), - this.startContributions(), - ]); - return this.launch({ - secondInstance: false, - argv: this.processArgv.getProcessArgvWithoutBin(process.argv), - cwd, - }); + createYargs(this.argv, process.cwd()) + .command( + '$0 [file]', + false, + (cmd) => + cmd + .option('electronUserData', { + type: 'string', + describe: + 'The area where the electron main process puts its data', + }) + .positional('file', { type: 'string' }), + async (args) => { + if (args.electronUserData) { + console.info( + `using electron user data area : '${args.electronUserData}'` + ); + await fs.mkdir(args.electronUserData, { recursive: true }); + app.setPath('userData', args.electronUserData); + } + // Explicitly set the app name to have better menu items on macOS. ("About", "Hide", and "Quit") + // See: https://github.com/electron-userland/electron-builder/issues/2468 + // Regression in Theia: https://github.com/eclipse-theia/theia/issues/8701 + console.log(`${config.applicationName} ${app.getVersion()}`); + app.on('ready', () => app.setName(config.applicationName)); + const cwd = process.cwd(); + this.attachFileAssociations(cwd); + this.useNativeWindowFrame = + this.getTitleBarStyle(config) === 'native'; + this._config = await updateFrontendApplicationConfigFromPackageJson( + config + ); + this._appInfo = updateAppInfo(this._appInfo, this._config); + this.hookApplicationEvents(); + this.showInitialWindow(undefined); + const [port] = await Promise.all([ + this.startBackend(), + app.whenReady(), + ]); + this.startContentTracing(); + this._backendPort.resolve(port); + await Promise.all([ + this.attachElectronSecurityToken(port), + this.startContributions(), + ]); + this.handleMainCommand({ + file: args.file, + cwd, + secondInstance: false, + }); + } + ) + .parse(); } private startContentTracing(): void { @@ -284,8 +320,8 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { } } - protected override async launch( - params: ElectronMainExecutionParams + protected override async handleMainCommand( + options: ElectronMainCommandOptions ): Promise { try { // When running on MacOS, we either have to wait until @@ -300,7 +336,7 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { throw err; } - if (await this.launchFromArgs(params)) { + if (await this.launchFromArgs(options)) { // Application has received a file in its arguments and will skip the default application launch return; } @@ -314,7 +350,10 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { `Restoring workspace roots: ${workspaces.map(({ file }) => file)}` ); for (const workspace of workspaces) { - const resolvedPath = await this.resolvePath(workspace.file, params.cwd); + const resolvedPath = await this.resolvePath( + workspace.file, + options.cwd + ); if (!resolvedPath) { continue; } @@ -337,15 +376,19 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { } this.startup = false; if (useDefault) { - super.launch(params); + super.handleMainCommand(options); } } + private get argv(): string[] { + return this.processArgv.getProcessArgvWithoutBin(process.argv).slice(); + } + private async launchFromArgs( - params: ElectronMainExecutionParams + params: ElectronMainCommandOptions ): Promise { // Copy to prevent manipulation of original array - const argCopy = [...params.argv]; + const argCopy = [...this.argv]; let path: string | undefined; for (const maybePath of argCopy) { const resolvedPath = await this.resolvePath(maybePath, params.cwd); @@ -383,7 +426,7 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { } const [uri, electronWindow] = await Promise.all([ this.createWindowUri(), - this.createWindow(options), + this.reuseOrCreateWindow(options), ]); electronWindow.loadURL(uri.withFragment(encodeURI(file)).toString(true)); return electronWindow; @@ -483,7 +526,7 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { argv: string[], cwd: string ): Promise { - if (await this.launchFromArgs({ cwd, argv, secondInstance: true })) { + if (await this.launchFromArgs({ cwd, secondInstance: true })) { // Application has received a file in its arguments return; } @@ -779,7 +822,7 @@ class InterruptWorkspaceRestoreError extends Error { // but it's the `package.json` inside the `resources/app/` folder if it's the final bundled app. // See https://github.com/arduino/arduino-ide/pull/2144#pullrequestreview-1556343430. async function updateFrontendApplicationConfigFromPackageJson( - config: FrontendApplicationConfig + config: Mutable ): Promise { if (!isProductionMode) { console.debug( @@ -846,7 +889,8 @@ const fallbackFrontendAppConfig: FrontendApplicationConfig = { defaultIconTheme: 'none', validatePreferencesSchema: false, defaultLocale: '', - electron: {}, + electron: { showWindowEarly: true, uriScheme: 'custom://arduino-ide' }, + reloadOnReconnect: true, }; // When the package.json must go from `./lib/backend/electron-main.js` to `./package.json` when the app is webpacked. diff --git a/arduino-ide-extension/src/electron-main/theia/theia-electron-window.ts b/arduino-ide-extension/src/electron-main/theia/theia-electron-window.ts index ab2843550..3d3f6629b 100644 --- a/arduino-ide-extension/src/electron-main/theia/theia-electron-window.ts +++ b/arduino-ide-extension/src/electron-main/theia/theia-electron-window.ts @@ -8,7 +8,7 @@ import { ElectronArduinoRenderer } from '../electron-arduino'; @injectable() export class TheiaElectronWindow extends DefaultTheiaElectronWindow { protected override reload(args?: unknown): void { - this.handleStopRequest(() => { + this.handleStopRequest(async () => { this.applicationState = 'init'; if (hasStartupTasks(args)) { const { webContents } = this._window; diff --git a/arduino-ide-extension/src/node/arduino-daemon-impl.ts b/arduino-ide-extension/src/node/arduino-daemon-impl.ts index 13e9bc18e..fef3c3c4d 100644 --- a/arduino-ide-extension/src/node/arduino-daemon-impl.ts +++ b/arduino-ide-extension/src/node/arduino-daemon-impl.ts @@ -1,7 +1,7 @@ import { join } from 'node:path'; import { inject, injectable, named } from '@theia/core/shared/inversify'; import { spawn, ChildProcess } from 'node:child_process'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { ILogger } from '@theia/core/lib/common/logger'; import { Deferred, retry } from '@theia/core/lib/common/promise-util'; import { diff --git a/arduino-ide-extension/src/node/arduino-ide-backend-module.ts b/arduino-ide-extension/src/node/arduino-ide-backend-module.ts index 4eb572b3b..9367d4aa9 100644 --- a/arduino-ide-extension/src/node/arduino-ide-backend-module.ts +++ b/arduino-ide-extension/src/node/arduino-ide-backend-module.ts @@ -105,14 +105,8 @@ import { ClangFormatter } from './clang-formatter'; import { FormatterPath } from '../common/protocol/formatter'; import { HostedPluginLocalizationService } from './theia/plugin-ext/hosted-plugin-localization-service'; import { HostedPluginLocalizationService as TheiaHostedPluginLocalizationService } from '@theia/plugin-ext/lib/hosted/node/hosted-plugin-localization-service'; -import { SurveyNotificationServiceImpl } from './survey-service-impl'; -import { - SurveyNotificationService, - SurveyNotificationServicePath, -} from '../common/protocol/survey-service'; import { IsTempSketch } from './is-temp-sketch'; -import { rebindNsfwFileSystemWatcher } from './theia/filesystem/nsfw-bindings'; -import { MessagingContribution } from './theia/core/messaging-contribution'; +import { WebsocketEndpoint } from './theia/core/websocket-endpoint'; import { MessagingService } from '@theia/core/lib/node/messaging/messaging-service'; import { HostedPluginReader } from './theia/plugin-ext/plugin-reader'; import { HostedPluginReader as TheiaHostedPluginReader } from '@theia/plugin-ext/lib/hosted/node/plugin-reader'; @@ -126,6 +120,7 @@ import { } from './theia/plugin-ext/plugin-deployer'; import { SettingsReader } from './settings-reader'; import { VsCodePluginScanner } from './theia/plugin-ext-vscode/scanner-vscode'; +import { rebindParcelFileSystemWatcher } from './theia/filesystem/parcel-bindings'; export default new ContainerModule((bind, unbind, isBound, rebind) => { bind(BackendApplication).toSelf().inSingletonScope(); @@ -305,7 +300,7 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { ) ) .inSingletonScope(); - rebindNsfwFileSystemWatcher(rebind); + rebindParcelFileSystemWatcher(rebind); // Output service per connection. bind(ConnectionContainerModule).toConstantValue( @@ -383,23 +378,8 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { HostedPluginLocalizationService ); - // Survey notification bindings - // It's currently unused. https://github.com/arduino/arduino-ide/pull/1150 - bind(SurveyNotificationServiceImpl).toSelf().inSingletonScope(); - bind(SurveyNotificationService).toService(SurveyNotificationServiceImpl); - bind(ConnectionHandler) - .toDynamicValue( - ({ container }) => - new JsonRpcConnectionHandler(SurveyNotificationServicePath, () => - container.get(SurveyNotificationService) - ) - ) - .inSingletonScope(); - bind(IsTempSketch).toSelf().inSingletonScope(); - rebind(MessagingService.Identifier) - .to(MessagingContribution) - .inSingletonScope(); + rebind(MessagingService.Identifier).to(WebsocketEndpoint).inSingletonScope(); // Removed undesired contributions from VS Code extensions // Such as the RTOS view from the `cortex-debug` extension diff --git a/arduino-ide-extension/src/node/clang-formatter.ts b/arduino-ide-extension/src/node/clang-formatter.ts index d29778b45..c2b778e61 100644 --- a/arduino-ide-extension/src/node/clang-formatter.ts +++ b/arduino-ide-extension/src/node/clang-formatter.ts @@ -1,6 +1,6 @@ import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { MaybePromise } from '@theia/core/lib/common/types'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { inject, injectable } from '@theia/core/shared/inversify'; import { constants, promises as fs } from 'node:fs'; import { join } from 'node:path'; diff --git a/arduino-ide-extension/src/node/cli-error-parser.ts b/arduino-ide-extension/src/node/cli-error-parser.ts index d60ecb88e..9fbdaa8cd 100644 --- a/arduino-ide-extension/src/node/cli-error-parser.ts +++ b/arduino-ide-extension/src/node/cli-error-parser.ts @@ -1,6 +1,6 @@ import { notEmpty } from '@theia/core/lib/common/objects'; import { nls } from '@theia/core/lib/common/nls'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { Range, Position, diff --git a/arduino-ide-extension/src/node/config-service-impl.ts b/arduino-ide-extension/src/node/config-service-impl.ts index c1a2adc6f..6686db1a3 100644 --- a/arduino-ide-extension/src/node/config-service-impl.ts +++ b/arduino-ide-extension/src/node/config-service-impl.ts @@ -4,7 +4,7 @@ import yaml from 'js-yaml'; import { injectable, inject, named } from '@theia/core/shared/inversify'; import URI from '@theia/core/lib/common/uri'; import { ILogger } from '@theia/core/lib/common/logger'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { Event, Emitter } from '@theia/core/lib/common/event'; import { BackendApplicationContribution } from '@theia/core/lib/node/backend-application'; import { diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index 2e2eb21a2..6789ffc11 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -5,12 +5,13 @@ import { Disposable, DisposableCollection, } from '@theia/core/lib/common/disposable'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { nls } from '@theia/core/lib/common/nls'; import type { Mutable } from '@theia/core/lib/common/types'; -import { FileUri } from '@theia/core/lib/node/file-uri'; import { inject, injectable } from '@theia/core/shared/inversify'; import * as jspb from 'google-protobuf'; import path from 'node:path'; +import { userAbort } from '../common/nls'; import { UploadResponse as ApiUploadResponse, OutputMessage, @@ -26,6 +27,7 @@ import { isCompileSummary, isUploadResponse, } from '../common/protocol/core-service'; +import { UserAbortApplicationError } from '../common/protocol/progressible'; import { ResponseService } from '../common/protocol/response-service'; import { firstToUpperCase, notEmpty } from '../common/utils'; import { BoardDiscovery, createApiPort } from './board-discovery'; @@ -52,8 +54,6 @@ import { ExecuteWithProgress, ProgressResponse } from './grpc-progressible'; import { MonitorManager } from './monitor-manager'; import { ServiceError } from './service-error'; import { AutoFlushingBuffer } from './utils/buffers'; -import { userAbort } from '../common/nls'; -import { UserAbortApplicationError } from '../common/protocol/progressible'; namespace Uploadable { export type Request = UploadRequest | UploadUsingProgrammerRequest; diff --git a/arduino-ide-extension/src/node/examples-service-impl.ts b/arduino-ide-extension/src/node/examples-service-impl.ts index 1199f729e..b9e94450a 100644 --- a/arduino-ide-extension/src/node/examples-service-impl.ts +++ b/arduino-ide-extension/src/node/examples-service-impl.ts @@ -5,7 +5,7 @@ import { } from '@theia/core/shared/inversify'; import { join } from 'node:path'; import fs from 'node:fs'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { SketchRef, SketchContainer, diff --git a/arduino-ide-extension/src/node/executable-service-impl.ts b/arduino-ide-extension/src/node/executable-service-impl.ts index 9501079d1..4f1eaf567 100644 --- a/arduino-ide-extension/src/node/executable-service-impl.ts +++ b/arduino-ide-extension/src/node/executable-service-impl.ts @@ -1,4 +1,4 @@ -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { injectable } from '@theia/core/shared/inversify'; import { ExecutableService } from '../common/protocol/executable-service'; import { diff --git a/arduino-ide-extension/src/node/monitor-settings/monitor-settings-provider-impl.ts b/arduino-ide-extension/src/node/monitor-settings/monitor-settings-provider-impl.ts index a9df01209..92d78ae47 100644 --- a/arduino-ide-extension/src/node/monitor-settings/monitor-settings-provider-impl.ts +++ b/arduino-ide-extension/src/node/monitor-settings/monitor-settings-provider-impl.ts @@ -6,7 +6,7 @@ import { postConstruct, } from '@theia/core/shared/inversify'; import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { promisify } from 'util'; import { MonitorSettingsProvider } from './monitor-settings-provider'; import { Deferred } from '@theia/core/lib/common/promise-util'; diff --git a/arduino-ide-extension/src/node/node-filesystem-ext.ts b/arduino-ide-extension/src/node/node-filesystem-ext.ts index ee728b89e..732b40c5b 100644 --- a/arduino-ide-extension/src/node/node-filesystem-ext.ts +++ b/arduino-ide-extension/src/node/node-filesystem-ext.ts @@ -1,5 +1,5 @@ import { injectable } from '@theia/core/shared/inversify'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { FileSystemExt } from '../common/protocol/filesystem-ext'; @injectable() diff --git a/arduino-ide-extension/src/node/settings-reader.ts b/arduino-ide-extension/src/node/settings-reader.ts index c58e9751f..61c3b335e 100644 --- a/arduino-ide-extension/src/node/settings-reader.ts +++ b/arduino-ide-extension/src/node/settings-reader.ts @@ -1,5 +1,5 @@ import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { inject, injectable } from '@theia/core/shared/inversify'; import { promises as fs } from 'node:fs'; import { diff --git a/arduino-ide-extension/src/node/sketches-service-impl.ts b/arduino-ide-extension/src/node/sketches-service-impl.ts index bbd511bd1..85836ac53 100644 --- a/arduino-ide-extension/src/node/sketches-service-impl.ts +++ b/arduino-ide-extension/src/node/sketches-service-impl.ts @@ -6,7 +6,7 @@ import { Deferred } from '@theia/core/lib/common/promise-util'; import { escapeRegExpCharacters } from '@theia/core/lib/common/strings'; import type { Mutable } from '@theia/core/lib/common/types'; import URI from '@theia/core/lib/common/uri'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { inject, injectable, named } from '@theia/core/shared/inversify'; import { glob } from 'glob'; import crypto from 'node:crypto'; diff --git a/arduino-ide-extension/src/node/survey-service-impl.ts b/arduino-ide-extension/src/node/survey-service-impl.ts deleted file mode 100644 index aea8c0472..000000000 --- a/arduino-ide-extension/src/node/survey-service-impl.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { injectable } from '@theia/core/shared/inversify'; -import { SurveyNotificationService } from '../common/protocol/survey-service'; - -/** - * Service for checking if it is the first instance of the IDE, in this case it sets a flag to true. - * This flag is used to prevent the survey notification from being visible in every open window. It must only be shown on one window. - */ -@injectable() -export class SurveyNotificationServiceImpl - implements SurveyNotificationService -{ - private surveyDidShow = false; - async isFirstInstance(): Promise { - if (this.surveyDidShow) { - return false; - } - this.surveyDidShow = true; - return this.surveyDidShow; - } -} diff --git a/arduino-ide-extension/src/node/theia/core/messaging-contribution.ts b/arduino-ide-extension/src/node/theia/core/websocket-endpoint.ts similarity index 58% rename from arduino-ide-extension/src/node/theia/core/messaging-contribution.ts rename to arduino-ide-extension/src/node/theia/core/websocket-endpoint.ts index 7c03c7697..c70ec23dc 100644 --- a/arduino-ide-extension/src/node/theia/core/messaging-contribution.ts +++ b/arduino-ide-extension/src/node/theia/core/websocket-endpoint.ts @@ -1,7 +1,8 @@ -import { MessagingContribution as TheiaMessagingContribution } from '@theia/core/lib/node/messaging/messaging-contribution'; +import { WebsocketEndpoint as TheiaWebsocketEndpoint } from '@theia/core/lib/node/messaging/websocket-endpoint'; import { injectable } from '@theia/core/shared/inversify'; + @injectable() -export class MessagingContribution extends TheiaMessagingContribution { +export class WebsocketEndpoint extends TheiaWebsocketEndpoint { // https://github.com/eclipse-theia/theia/discussions/11543 protected override checkAliveTimeout = process.argv.includes( '--no-ping-timeout' diff --git a/arduino-ide-extension/src/node/theia/env-variables/env-variables-server.ts b/arduino-ide-extension/src/node/theia/env-variables/env-variables-server.ts index 40bf3662b..30a849308 100644 --- a/arduino-ide-extension/src/node/theia/env-variables/env-variables-server.ts +++ b/arduino-ide-extension/src/node/theia/env-variables/env-variables-server.ts @@ -5,7 +5,7 @@ import { import { isWindows } from '@theia/core/lib/common/os'; import URI from '@theia/core/lib/common/uri'; import { BackendApplicationConfigProvider } from '@theia/core/lib/node/backend-application-config-provider'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { inject, injectable, diff --git a/arduino-ide-extension/src/node/theia/filesystem/nsfw-bindings.ts b/arduino-ide-extension/src/node/theia/filesystem/nsfw-bindings.ts deleted file mode 100644 index 176f52cf9..000000000 --- a/arduino-ide-extension/src/node/theia/filesystem/nsfw-bindings.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { join } from 'node:path'; -import { interfaces } from '@theia/core/shared/inversify'; -import { - NsfwFileSystemWatcherServiceProcessOptions, - NSFW_SINGLE_THREADED, - spawnNsfwFileSystemWatcherServiceProcess, -} from '@theia/filesystem/lib/node/filesystem-backend-module'; -import { FileSystemWatcherService } from '@theia/filesystem/lib/common/filesystem-watcher-protocol'; -import { NsfwFileSystemWatcherServerOptions } from '@theia/filesystem/lib/node/nsfw-watcher/nsfw-filesystem-service'; -import { FileSystemWatcherServiceDispatcher } from '@theia/filesystem/lib/node/filesystem-watcher-dispatcher'; -import { NoDelayDisposalTimeoutNsfwFileSystemWatcherService } from './nsfw-watcher/nsfw-filesystem-service'; - -export function rebindNsfwFileSystemWatcher(rebind: interfaces.Rebind): void { - rebind( - NsfwFileSystemWatcherServiceProcessOptions - ).toConstantValue({ - entryPoint: join(__dirname, 'nsfw-watcher'), - }); - rebind(FileSystemWatcherService) - .toDynamicValue((context) => - NSFW_SINGLE_THREADED - ? createNsfwFileSystemWatcherService(context) - : spawnNsfwFileSystemWatcherServiceProcess(context) - ) - .inSingletonScope(); -} - -function createNsfwFileSystemWatcherService({ - container, -}: interfaces.Context): FileSystemWatcherService { - const options = container.get( - NsfwFileSystemWatcherServerOptions - ); - const dispatcher = container.get( - FileSystemWatcherServiceDispatcher - ); - const server = new NoDelayDisposalTimeoutNsfwFileSystemWatcherService( - options - ); - server.setClient(dispatcher); - return server; -} diff --git a/arduino-ide-extension/src/node/theia/filesystem/parcel-bindings.ts b/arduino-ide-extension/src/node/theia/filesystem/parcel-bindings.ts new file mode 100644 index 000000000..ed969263a --- /dev/null +++ b/arduino-ide-extension/src/node/theia/filesystem/parcel-bindings.ts @@ -0,0 +1,42 @@ +import { join } from 'node:path'; +import { interfaces } from '@theia/core/shared/inversify'; +import { + FileSystemWatcherServiceProcessOptions, + WATCHER_SINGLE_THREADED, + spawnParcelFileSystemWatcherServiceProcess, +} from '@theia/filesystem/lib/node/filesystem-backend-module'; +import { FileSystemWatcherService } from '@theia/filesystem/lib/common/filesystem-watcher-protocol'; +import { ParcelFileSystemWatcherServerOptions } from '@theia/filesystem/lib/node/parcel-watcher/parcel-filesystem-service'; +import { FileSystemWatcherServiceDispatcher } from '@theia/filesystem/lib/node/filesystem-watcher-dispatcher'; +import { NoDelayDisposalTimeoutParcelFileSystemWatcherService } from './parcel-watcher/parcel-filesystem-service'; + +export function rebindParcelFileSystemWatcher(rebind: interfaces.Rebind): void { + rebind( + FileSystemWatcherServiceProcessOptions + ).toConstantValue({ + entryPoint: join(__dirname, 'parcel-watcher'), + }); + rebind(FileSystemWatcherService) + .toDynamicValue((context) => + WATCHER_SINGLE_THREADED + ? createParcelFileSystemWatcherService(context) + : spawnParcelFileSystemWatcherServiceProcess(context) + ) + .inSingletonScope(); +} + +function createParcelFileSystemWatcherService({ + container, +}: interfaces.Context): FileSystemWatcherService { + const options = container.get( + ParcelFileSystemWatcherServerOptions + ); + const dispatcher = container.get( + FileSystemWatcherServiceDispatcher + ); + const server = new NoDelayDisposalTimeoutParcelFileSystemWatcherService( + options + ); + server.setClient(dispatcher); + return server; +} diff --git a/arduino-ide-extension/src/node/theia/filesystem/nsfw-watcher/index.ts b/arduino-ide-extension/src/node/theia/filesystem/parcel-watcher/index.ts similarity index 83% rename from arduino-ide-extension/src/node/theia/filesystem/nsfw-watcher/index.ts rename to arduino-ide-extension/src/node/theia/filesystem/parcel-watcher/index.ts index 472019ca1..49342eb64 100644 --- a/arduino-ide-extension/src/node/theia/filesystem/nsfw-watcher/index.ts +++ b/arduino-ide-extension/src/node/theia/filesystem/parcel-watcher/index.ts @@ -1,6 +1,6 @@ import * as yargs from '@theia/core/shared/yargs'; import { JsonRpcProxyFactory } from '@theia/core/lib/common/messaging/proxy-factory'; -import { NoDelayDisposalTimeoutNsfwFileSystemWatcherService } from './nsfw-filesystem-service'; +import { NoDelayDisposalTimeoutParcelFileSystemWatcherService } from './parcel-filesystem-service'; import type { IPCEntryPoint } from '@theia/core/lib/node/messaging/ipc-protocol'; import type { FileSystemWatcherServiceClient } from '@theia/filesystem/lib/common/filesystem-watcher-protocol'; @@ -20,7 +20,7 @@ const options: { }).argv as any; export default ((connection) => { - const server = new NoDelayDisposalTimeoutNsfwFileSystemWatcherService( + const server = new NoDelayDisposalTimeoutParcelFileSystemWatcherService( options ); const factory = new JsonRpcProxyFactory( diff --git a/arduino-ide-extension/src/node/theia/filesystem/nsfw-watcher/nsfw-filesystem-service.ts b/arduino-ide-extension/src/node/theia/filesystem/parcel-watcher/parcel-filesystem-service.ts similarity index 71% rename from arduino-ide-extension/src/node/theia/filesystem/nsfw-watcher/nsfw-filesystem-service.ts rename to arduino-ide-extension/src/node/theia/filesystem/parcel-watcher/parcel-filesystem-service.ts index 6bf40ead2..2282391f9 100644 --- a/arduino-ide-extension/src/node/theia/filesystem/nsfw-watcher/nsfw-filesystem-service.ts +++ b/arduino-ide-extension/src/node/theia/filesystem/parcel-watcher/parcel-filesystem-service.ts @@ -1,26 +1,26 @@ import { Minimatch } from 'minimatch'; import type { WatchOptions } from '@theia/filesystem/lib/common/filesystem-watcher-protocol'; import { - NsfwFileSystemWatcherService, - NsfwWatcher, -} from '@theia/filesystem/lib/node/nsfw-watcher/nsfw-filesystem-service'; + ParcelFileSystemWatcherService, + ParcelWatcher, +} from '@theia/filesystem/lib/node/parcel-watcher/parcel-filesystem-service'; // Dispose the watcher immediately when the last reference is removed. By default, Theia waits 10 sec. // https://github.com/eclipse-theia/theia/issues/11639#issuecomment-1238980708 const NoDelay = 0; -export class NoDelayDisposalTimeoutNsfwFileSystemWatcherService extends NsfwFileSystemWatcherService { +export class NoDelayDisposalTimeoutParcelFileSystemWatcherService extends ParcelFileSystemWatcherService { protected override createWatcher( clientId: number, fsPath: string, options: WatchOptions - ): NsfwWatcher { + ): ParcelWatcher { const watcherOptions = { ignored: options.ignored.map( (pattern) => new Minimatch(pattern, { dot: true }) ), }; - return new NsfwWatcher( + return new ParcelWatcher( clientId, fsPath, watcherOptions, diff --git a/arduino-ide-extension/src/node/theia/plugin-ext/plugin-reader.ts b/arduino-ide-extension/src/node/theia/plugin-ext/plugin-reader.ts index 9ad7625b3..a5e60ced2 100644 --- a/arduino-ide-extension/src/node/theia/plugin-ext/plugin-reader.ts +++ b/arduino-ide-extension/src/node/theia/plugin-ext/plugin-reader.ts @@ -83,7 +83,9 @@ const cortexDebugMapper: PluginContributionMapper = ( } for (const _debugger of contribution.debuggers ?? []) { if (_debugger.type === 'cortex-debug') { - for (const attributes of _debugger.configurationAttributes ?? []) { + for (const attributes of Object.values( + _debugger.configurationAttributes ?? {} + )) { if (attributes.properties) { // Patch the cortex-debug debug config schema to allow the in-house `configId`. attributes.properties['configId'] = { diff --git a/arduino-ide-extension/src/test/node/clang-formatter.test.ts b/arduino-ide-extension/src/test/node/clang-formatter.test.ts index 10e5dc543..92a38f326 100644 --- a/arduino-ide-extension/src/test/node/clang-formatter.test.ts +++ b/arduino-ide-extension/src/test/node/clang-formatter.test.ts @@ -2,7 +2,7 @@ import { Disposable, DisposableCollection, } from '@theia/core/lib/common/disposable'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { expect } from 'chai'; import { promises as fs } from 'node:fs'; import path from 'node:path'; diff --git a/arduino-ide-extension/src/test/node/core-client-provider.slow-test.ts b/arduino-ide-extension/src/test/node/core-client-provider.slow-test.ts index 1bc09c929..b24b98b69 100644 --- a/arduino-ide-extension/src/test/node/core-client-provider.slow-test.ts +++ b/arduino-ide-extension/src/test/node/core-client-provider.slow-test.ts @@ -1,12 +1,12 @@ import { DisposableCollection } from '@theia/core/lib/common/disposable'; import type { MaybePromise } from '@theia/core/lib/common/types'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; import { dump, load } from 'js-yaml'; import { promises as fs } from 'node:fs'; import { join } from 'node:path'; -import { sync as deleteSync } from 'rimraf'; +import { rimrafSync } from 'rimraf'; import { BoardsService, CoreService, @@ -65,7 +65,7 @@ describe('core-client-provider', () => { it("should recover when the 'directories.data' folder is missing", async function () { this.timeout(timeout); const configDirPath = await prepareTestConfigDir(); - deleteSync(join(configDirPath, 'data')); + rimrafSync(join(configDirPath, 'data')); const container = await startCli(configDirPath, toDispose); await assertFunctionalCli(container, ({ coreClientProvider }) => { @@ -84,7 +84,7 @@ describe('core-client-provider', () => { 'Arduino15', 'package_index.json' ); - deleteSync(primaryPackageIndexPath); + rimrafSync(primaryPackageIndexPath); const container = await startCli(configDirPath, toDispose); await assertFunctionalCli(container, ({ coreClientProvider }) => { @@ -118,7 +118,7 @@ describe('core-client-provider', () => { 'tools', tool ); - deleteSync(builtinToolsPath); + rimrafSync(builtinToolsPath); const container = await startCli(configDirPath, toDispose); await assertFunctionalCli(container, ({ coreClientProvider }) => { @@ -140,7 +140,7 @@ describe('core-client-provider', () => { 'Arduino15', 'library_index.json' ); - deleteSync(libraryPackageIndexPath); + rimrafSync(libraryPackageIndexPath); const container = await startCli(configDirPath, toDispose); await assertFunctionalCli(container, ({ coreClientProvider }) => { @@ -176,7 +176,7 @@ describe('core-client-provider', () => { 'Arduino15', 'package_teensy_index.json' ); - deleteSync(thirdPartyPackageIndexPath); + rimrafSync(thirdPartyPackageIndexPath); const container = await startCli(configDirPath, toDispose); await assertFunctionalCli( @@ -193,7 +193,7 @@ describe('core-client-provider', () => { it("should recover when invalid 3rd package URL is defined in the CLI config and the 'directories.data' folder is missing", async function () { this.timeout(timeout); const configDirPath = await prepareTestConfigDir(); - deleteSync(join(configDirPath, 'data')); + rimrafSync(join(configDirPath, 'data')); // set an invalid URL so the CLI will try to download it const cliConfigPath = join(configDirPath, 'arduino-cli.yaml'); diff --git a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts index 52b0d0444..0b6ce3956 100644 --- a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts @@ -1,6 +1,6 @@ import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { isWindows } from '@theia/core/lib/common/os'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; import { diff --git a/arduino-ide-extension/src/test/node/node-test-bindings.ts b/arduino-ide-extension/src/test/node/node-test-bindings.ts index 690d19442..dfa762c68 100644 --- a/arduino-ide-extension/src/test/node/node-test-bindings.ts +++ b/arduino-ide-extension/src/test/node/node-test-bindings.ts @@ -5,7 +5,7 @@ import { import { EnvVariablesServer as TheiaEnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { waitForEvent } from '@theia/core/lib/common/promise-util'; import URI from '@theia/core/lib/common/uri'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { ProcessUtils } from '@theia/core/lib/node/process-utils'; import { Container, diff --git a/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts index 802c546cd..c97387743 100644 --- a/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts @@ -2,15 +2,15 @@ import { Disposable, DisposableCollection, } from '@theia/core/lib/common/disposable'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import { isWindows } from '@theia/core/lib/common/os'; import { URI } from '@theia/core/lib/common/uri'; -import { FileUri } from '@theia/core/lib/node/file-uri'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; import { rejects } from 'node:assert/strict'; import { promises as fs } from 'node:fs'; import path, { basename, join } from 'node:path'; -import { sync as rimrafSync } from 'rimraf'; +import { rimrafSync } from 'rimraf'; import temp from 'temp'; import { Sketch, SketchesError, SketchesService } from '../../common/protocol'; import { @@ -574,7 +574,7 @@ function disposeSketch(...sketch: Sketch[]): Disposable { function disposeFolder(...paths: string[]): Disposable { return new DisposableCollection( ...paths.map((path) => - Disposable.create(() => rimrafSync(path, { maxBusyTries: 5 })) + Disposable.create(() => rimrafSync(path, { maxRetries: 5 })) ) ); } diff --git a/arduino-ide-extension/src/test/node/sketches-service-impl.test.ts b/arduino-ide-extension/src/test/node/sketches-service-impl.test.ts index 1b752e142..e679b9217 100644 --- a/arduino-ide-extension/src/test/node/sketches-service-impl.test.ts +++ b/arduino-ide-extension/src/test/node/sketches-service-impl.test.ts @@ -1,5 +1,5 @@ import type { Mutable } from '@theia/core/lib/common/types'; -import { FileUri } from '@theia/core/lib/node/file-uri'; +import { FileUri } from '@theia/core/lib/common/file-uri'; import stableJsonStringify from 'fast-json-stable-stringify'; import assert from 'node:assert/strict'; import { basename, join } from 'node:path'; diff --git a/arduino-ide-extension/tsconfig.json b/arduino-ide-extension/tsconfig.json index 35c426010..00bb386a7 100644 --- a/arduino-ide-extension/tsconfig.json +++ b/arduino-ide-extension/tsconfig.json @@ -20,5 +20,4 @@ "skipLibCheck": true }, "include": ["src"], - "files": ["../node_modules/nsfw/index.d.ts"] } diff --git a/electron-app/package.json b/electron-app/package.json index d9a6e3682..bee426096 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -5,30 +5,30 @@ "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { - "@theia/core": "1.41.0", - "@theia/debug": "1.41.0", - "@theia/editor": "1.41.0", - "@theia/electron": "1.41.0", - "@theia/filesystem": "1.41.0", - "@theia/keymaps": "1.41.0", - "@theia/messages": "1.41.0", - "@theia/monaco": "1.41.0", - "@theia/navigator": "1.41.0", - "@theia/plugin-ext": "1.41.0", - "@theia/plugin-ext-vscode": "1.41.0", - "@theia/preferences": "1.41.0", - "@theia/terminal": "1.41.0", - "@theia/workspace": "1.41.0", + "@theia/core": "1.57.0", + "@theia/debug": "1.57.0", + "@theia/editor": "1.57.0", + "@theia/electron": "1.57.0", + "@theia/filesystem": "1.57.0", + "@theia/keymaps": "1.57.0", + "@theia/messages": "1.57.0", + "@theia/monaco": "1.57.0", + "@theia/navigator": "1.57.0", + "@theia/plugin-ext": "1.57.0", + "@theia/plugin-ext-vscode": "1.57.0", + "@theia/preferences": "1.57.0", + "@theia/terminal": "1.57.0", + "@theia/workspace": "1.57.0", "arduino-ide-extension": "2.3.5" }, "devDependencies": { - "@theia/cli": "1.41.0", + "@theia/cli": "1.57.0", "7zip-min": "^1.4.4", "chmodr": "^1.2.0", "compression-webpack-plugin": "^9.0.0", "copy-webpack-plugin": "^8.1.1", "dateformat": "^5.0.3", - "electron": "^27.0.3", + "electron": "30.1.2", "electron-builder": "^24.6.4", "electron-notarize": "^1.1.1", "execa": "^7.1.1", @@ -36,7 +36,7 @@ "glob": "^10.3.3", "is-ci": "^2.0.0", "resolve-package-path": "^4.0.3", - "rimraf": "^2.6.1", + "rimraf": "^5.0.0", "semver": "^7.3.2", "temp": "^0.9.1", "yaml": "^1.10.2" @@ -53,7 +53,7 @@ "prepackage": "rimraf dist", "package": "node ./scripts/package.js", "postpackage": "node ./scripts/post-package.js", - "rebuild": "theia rebuild:browser --cacheRoot ../.. && theia rebuild:electron --cacheRoot ../.." + "rebuild": "theia rebuild:browser --cacheRoot .. && theia rebuild:electron --cacheRoot .." }, "theia": { "target": "electron", @@ -66,6 +66,10 @@ }, "defaultIconTheme": "none", "validatePreferencesSchema": false, + "electron": { + "showWindowEarly": true + }, + "reloadOnReconnect": true, "preferences": { "window.title": "${rootName}${activeEditorShort}${appName}", "files.autoSave": "afterDelay", @@ -195,29 +199,29 @@ }, "theiaPluginsDir": "plugins", "theiaPlugins": { - "vscode-builtin-cpp": "https://open-vsx.org/api/vscode/cpp/1.52.1/file/vscode.cpp-1.52.1.vsix", + "vscode-builtin-cpp": "https://open-vsx.org/api/vscode/cpp/1.88.1/file/vscode.cpp-1.88.1.vsix", "vscode-arduino-api": "https://github.com/dankeboy36/vscode-arduino-api/releases/download/0.1.2/vscode-arduino-api-0.1.2.vsix", "vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.1.3.vsix", - "vscode-builtin-json": "https://open-vsx.org/api/vscode/json/1.46.1/file/vscode.json-1.46.1.vsix", - "vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.46.1/file/vscode.json-language-features-1.46.1.vsix", + "vscode-builtin-json": "https://open-vsx.org/api/vscode/json/1.88.1/file/vscode.json-1.88.1.vsix", + "vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.88.1/file/vscode.json-language-features-1.88.1.vsix", "cortex-debug": "https://downloads.arduino.cc/marus25.cortex-debug/marus25.cortex-debug-1.5.1.vsix", "vscode-language-pack-bg": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-bg/1.48.3/file/MS-CEINTL.vscode-language-pack-bg-1.48.3.vsix", - "vscode-language-pack-cs": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-cs/1.80.0/file/MS-CEINTL.vscode-language-pack-cs-1.80.0.vsix", - "vscode-language-pack-de": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-de/1.80.0/file/MS-CEINTL.vscode-language-pack-de-1.80.0.vsix", - "vscode-language-pack-es": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-es/1.80.0/file/MS-CEINTL.vscode-language-pack-es-1.80.0.vsix", - "vscode-language-pack-fr": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-fr/1.80.0/file/MS-CEINTL.vscode-language-pack-fr-1.80.0.vsix", + "vscode-language-pack-cs": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-cs/1.96.0/file/MS-CEINTL.vscode-language-pack-cs-1.96.0.vsix", + "vscode-language-pack-de": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-de/1.96.0/file/MS-CEINTL.vscode-language-pack-de-1.96.0.vsix", + "vscode-language-pack-es": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-es/1.96.0/file/MS-CEINTL.vscode-language-pack-es-1.96.0.vsix", + "vscode-language-pack-fr": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-fr/1.96.0/file/MS-CEINTL.vscode-language-pack-fr-1.96.0.vsix", "vscode-language-pack-hu": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-hu/1.48.3/file/MS-CEINTL.vscode-language-pack-hu-1.48.3.vsix", - "vscode-language-pack-it": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-it/1.80.0/file/MS-CEINTL.vscode-language-pack-it-1.80.0.vsix", - "vscode-language-pack-ja": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ja/1.80.0/file/MS-CEINTL.vscode-language-pack-ja-1.80.0.vsix", - "vscode-language-pack-ko": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ko/1.80.0/file/MS-CEINTL.vscode-language-pack-ko-1.80.0.vsix", + "vscode-language-pack-it": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-it/1.96.0/file/MS-CEINTL.vscode-language-pack-it-1.96.0.vsix", + "vscode-language-pack-ja": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ja/1.96.0/file/MS-CEINTL.vscode-language-pack-ja-1.96.0.vsix", + "vscode-language-pack-ko": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ko/1.96.0/file/MS-CEINTL.vscode-language-pack-ko-1.96.0.vsix", "vscode-language-pack-nl": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-nl/1.48.3/file/MS-CEINTL.vscode-language-pack-nl-1.48.3.vsix", - "vscode-language-pack-pl": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-pl/1.80.0/file/MS-CEINTL.vscode-language-pack-pl-1.80.0.vsix", - "vscode-language-pack-pt-BR": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-pt-BR/1.80.0/file/MS-CEINTL.vscode-language-pack-pt-BR-1.80.0.vsix", - "vscode-language-pack-ru": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ru/1.80.0/file/MS-CEINTL.vscode-language-pack-ru-1.80.0.vsix", - "vscode-language-pack-tr": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-tr/1.80.0/file/MS-CEINTL.vscode-language-pack-tr-1.80.0.vsix", + "vscode-language-pack-pl": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-pl/1.96.0/file/MS-CEINTL.vscode-language-pack-pl-1.96.0.vsix", + "vscode-language-pack-pt-BR": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-pt-BR/1.96.0/file/MS-CEINTL.vscode-language-pack-pt-BR-1.96.0.vsix", + "vscode-language-pack-ru": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ru/1.96.0/file/MS-CEINTL.vscode-language-pack-ru-1.96.0.vsix", + "vscode-language-pack-tr": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-tr/1.96.0/file/MS-CEINTL.vscode-language-pack-tr-1.96.0.vsix", "vscode-language-pack-uk": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-uk/1.48.3/file/MS-CEINTL.vscode-language-pack-uk-1.48.3.vsix", - "vscode-language-pack-zh-hans": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-zh-hans/1.80.0/file/MS-CEINTL.vscode-language-pack-zh-hans-1.80.0.vsix", - "vscode-language-pack-zh-hant": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-zh-hant/1.80.0/file/MS-CEINTL.vscode-language-pack-zh-hant-1.80.0.vsix" + "vscode-language-pack-zh-hans": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-zh-hans/1.96.0/file/MS-CEINTL.vscode-language-pack-zh-hans-1.96.0.vsix", + "vscode-language-pack-zh-hant": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-zh-hant/1.96.0/file/MS-CEINTL.vscode-language-pack-zh-hant-1.96.0.vsix" }, "mocha": { "reporter": "spec", diff --git a/electron-app/scripts/package.js b/electron-app/scripts/package.js index 87a597094..3baa1ea4c 100644 --- a/electron-app/scripts/package.js +++ b/electron-app/scripts/package.js @@ -18,7 +18,7 @@ async function run() { '--publish', 'never', '-c.electronVersion', - electronVersion.slice(1), // removes the leading ^ from the version. TODO: user `semver` to clean it. + semver.clean(electronVersion.replace(/^\^/, '')), '-c.extraMetadata.version', version, // overrides the `name` in the `package.json` to keep the `localStorage` location. (https://github.com/arduino/arduino-ide/pull/2144#pullrequestreview-1554005028) diff --git a/electron-app/webpack.config.js b/electron-app/webpack.config.js index 18a7c8969..d259e150e 100644 --- a/electron-app/webpack.config.js +++ b/electron-app/webpack.config.js @@ -30,9 +30,9 @@ backend.config.plugins.unshift( ); // Override the default entry from Theia as IDE2 has a customization of the module. -backend.config.entry['nsfw-watcher'] = { +backend.config.entry['parcel-watcher'] = { import: require.resolve( - 'arduino-ide-extension/lib/node/theia/filesystem/nsfw-watcher' + 'arduino-ide-extension/lib/node/theia/filesystem/parcel-watcher' ), library: { type: 'commonjs2', diff --git a/i18n/en.json b/i18n/en.json index b769cd868..e6dbab0c0 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -415,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -490,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", diff --git a/package.json b/package.json index 6f66bf55a..2215352d6 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,17 @@ "resolutions": { "@theia/cli/@babel/traverse": "^7.23.2", "@theia/cli/@theia/application-package/nano": "^10.1.3", + "**/@theia/application-manager/node-abi": "^3.0.0", "**/@theia/core/msgpackr": "^1.10.1", - "nx/axios": "^1.6.7", - "**/ip": "^2.0.1" + "**/@types/react-dom": "18.3.1", + "**/@types/react": "18.3.1", + "**/inversify": "6.0.2", + "**/ip": "^2.0.1", + "**/perfect-scrollbar": "1.5.5", + "nx/axios": "^1.6.7" }, "devDependencies": { - "@theia/cli": "1.41.0", + "@theia/cli": "1.57.0", "@typescript-eslint/eslint-plugin": "^5.59.0", "@typescript-eslint/parser": "^5.59.0", "@xhmikosr/downloader": "^13.0.1", @@ -36,10 +41,10 @@ "node-gyp": "^9.3.0", "prettier": "^2.3.1", "reflect-metadata": "^0.1.10", - "rimraf": "^2.6.1", + "rimraf": "^5.0.0", "semver": "^7.3.2", "style-dictionary": "^3.7.0", - "typescript": "^4.9.3", + "typescript": "^5.4.5", "xhr2": "^0.2.1" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index 0c3367a1b..87c12c1f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,40 +2,32 @@ # yarn lockfile v1 -"7zip-bin@5.1.1", "7zip-bin@~5.1.1": +"7zip-bin@5.1.1": version "5.1.1" resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== +"7zip-bin@~5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.2.0.tgz#7a03314684dd6572b7dfa89e68ce31d60286854d" + integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A== + "7zip-min@^1.4.4": - version "1.4.4" - resolved "https://registry.yarnpkg.com/7zip-min/-/7zip-min-1.4.4.tgz#82a50a8d3f0a2d86b4c908433c9ec35627f4138c" - integrity sha512-mYB1WW5tcXfZxUN4+2joKk4+6j8jp+mpO2YiMU5z1gNNFbACxI2ADasffsdNPovZSwn/E662ZIH5gRkFPMufmA== + version "1.4.5" + resolved "https://registry.yarnpkg.com/7zip-min/-/7zip-min-1.4.5.tgz#5d6962ae5f3539fbdf8083a0a9ea2ac353b9ef6d" + integrity sha512-S+FzNwJFKF5LgQYs+hPQo+qeffdi+259Ak63rWEfkHP9arsU8gbe5K+4HscuWN1ih1lP1gTjDNPddbU0qhPtHQ== dependencies: "7zip-bin" "5.1.1" -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.25.9": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.2": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -44,106 +36,87 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.5", "@babel/compat-data@^7.26.8": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" + integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== "@babel/core@^7.10.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.0.tgz#f8259ae0e52a123eb40f552551e647b506a94d83" - integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9" + integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.0" - "@babel/parser" "^7.23.0" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.10" + "@babel/helper-compilation-targets" "^7.26.5" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.10" + "@babel/parser" "^7.26.10" + "@babel/template" "^7.26.9" + "@babel/traverse" "^7.26.10" + "@babel/types" "^7.26.10" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== - dependencies: - "@babel/types" "^7.23.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/generator@^7.25.9": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" - integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== +"@babel/generator@^7.26.10": + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.10.tgz#a60d9de49caca16744e6340c3658dfef6138c3f7" + integrity sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang== dependencies: - "@babel/parser" "^7.26.2" - "@babel/types" "^7.26.0" + "@babel/parser" "^7.26.10" + "@babel/types" "^7.26.10" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== +"@babel/helper-annotate-as-pure@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" + integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== dependencies: - "@babel/types" "^7.22.15" + "@babel/types" "^7.25.9" -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": + version "7.26.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" + integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" + "@babel/compat-data" "^7.26.5" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" - integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" +"@babel/helper-create-class-features-plugin@^7.25.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz#d6f83e3039547fbb39967e78043cd3c8b7820c71" + integrity sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/helper-replace-supers" "^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/traverse" "^7.26.9" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz#5169756ecbe1d95f7866b90bb555b022595302a0" + integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" + "@babel/helper-annotate-as-pure" "^7.25.9" + regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz#82c825cadeeeee7aad237618ebbe8fa1710015d7" - integrity sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw== +"@babel/helper-define-polyfill-provider@^0.6.3": + version "0.6.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz#f4f2792fae2ef382074bc2d713522cf24e6ddb21" + integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -151,305 +124,165 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== +"@babel/helper-member-expression-to-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" + integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== dependencies: - "@babel/types" "^7.22.15" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" - integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== +"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== +"@babel/helper-optimise-call-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" + integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" + "@babel/types" "^7.25.9" -"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5": + version "7.26.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35" + integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== +"@babel/helper-remap-async-to-generator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" + integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== dependencies: - "@babel/types" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-wrap-function" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== +"@babel/helper-replace-supers@^7.25.9", "@babel/helper-replace-supers@^7.26.5": + version "7.26.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz#6cb04e82ae291dae8e72335dfe438b0725f14c8d" + integrity sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg== dependencies: - "@babel/types" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/traverse" "^7.26.5" -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== +"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" + integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" "@babel/helper-string-parser@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - "@babel/helper-validator-identifier@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== -"@babel/helper-validator-option@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" - integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== +"@babel/helper-wrap-function@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" + integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/helpers@^7.23.0": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.1.tgz#44e981e8ce2b9e99f8f0b703f3326a4636c16d15" - integrity sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA== +"@babel/helpers@^7.26.10": + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.10.tgz#6baea3cd62ec2d0c1068778d63cb1314f6637384" + integrity sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g== dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" + "@babel/template" "^7.26.9" + "@babel/types" "^7.26.10" -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== +"@babel/parser@^7.26.10", "@babel/parser@^7.26.9": + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.10.tgz#e9bdb82f14b97df6569b0b038edd436839c57749" + integrity sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA== dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" + "@babel/types" "^7.26.10" -"@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" + integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/parser@^7.25.9", "@babel/parser@^7.26.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" - integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" + integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== dependencies: - "@babel/types" "^7.26.0" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" - integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" + integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" - integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" + integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.15" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" + integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== +"@babel/plugin-syntax-import-assertions@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" + integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== +"@babel/plugin-syntax-import-attributes@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" + integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -459,490 +292,478 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== +"@babel/plugin-transform-arrow-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" + integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-async-generator-functions@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz#3b153af4a6b779f340d5b80d3f634f55820aefa3" - integrity sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w== +"@babel/plugin-transform-async-generator-functions@^7.26.8": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz#5e3991135e3b9c6eaaf5eff56d1ae5a11df45ff8" + integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-remap-async-to-generator" "^7.25.9" + "@babel/traverse" "^7.26.8" -"@babel/plugin-transform-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" - integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== +"@babel/plugin-transform-async-to-generator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" + integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== dependencies: - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-remap-async-to-generator" "^7.25.9" -"@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== +"@babel/plugin-transform-block-scoped-functions@^7.26.5": + version "7.26.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz#3dc4405d31ad1cbe45293aa57205a6e3b009d53e" + integrity sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-block-scoping@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" - integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== +"@babel/plugin-transform-block-scoping@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" + integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== +"@babel/plugin-transform-class-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" + integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-class-static-block@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" - integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== +"@babel/plugin-transform-class-static-block@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" + integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.11" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.10.0", "@babel/plugin-transform-classes@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" - integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" - "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-classes@^7.10.0", "@babel/plugin-transform-classes@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" + integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + "@babel/traverse" "^7.25.9" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" - integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== +"@babel/plugin-transform-computed-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" + integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/template" "^7.25.9" -"@babel/plugin-transform-destructuring@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" - integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== +"@babel/plugin-transform-destructuring@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" + integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-dotall-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== +"@babel/plugin-transform-dotall-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" + integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== +"@babel/plugin-transform-duplicate-keys@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" + integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-dynamic-import@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" - integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" + integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== +"@babel/plugin-transform-dynamic-import@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" + integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-export-namespace-from@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" - integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== +"@babel/plugin-transform-exponentiation-operator@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" + integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-for-of@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" - integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== +"@babel/plugin-transform-export-namespace-from@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" + integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" - integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== +"@babel/plugin-transform-for-of@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz#27231f79d5170ef33b5111f07fe5cafeb2c96a56" + integrity sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== dependencies: - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-json-strings@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" - integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== +"@babel/plugin-transform-function-name@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" + integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" - integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== +"@babel/plugin-transform-json-strings@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" + integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-logical-assignment-operators@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" - integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== +"@babel/plugin-transform-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" + integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== +"@babel/plugin-transform-logical-assignment-operators@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" + integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-amd@^7.22.5": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" - integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== +"@babel/plugin-transform-member-expression-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" + integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== dependencies: - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-commonjs@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" - integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== +"@babel/plugin-transform-modules-amd@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" + integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== dependencies: - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-systemjs@^7.22.11": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" - integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== +"@babel/plugin-transform-modules-commonjs@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" + integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== +"@babel/plugin-transform-modules-systemjs@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" + integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== dependencies: - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== +"@babel/plugin-transform-modules-umd@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" + integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" + integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" - integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== +"@babel/plugin-transform-new-target@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" + integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-numeric-separator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" - integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== +"@babel/plugin-transform-nullish-coalescing-operator@^7.26.6": + version "7.26.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz#fbf6b3c92cb509e7b319ee46e3da89c5bedd31fe" + integrity sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-object-rest-spread@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" - integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== +"@babel/plugin-transform-numeric-separator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" + integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.22.15" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== +"@babel/plugin-transform-object-rest-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" + integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" -"@babel/plugin-transform-optional-catch-binding@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" - integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== +"@babel/plugin-transform-object-super@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" + integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" -"@babel/plugin-transform-optional-chaining@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" - integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== +"@babel/plugin-transform-optional-catch-binding@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" + integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-parameters@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" - integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== +"@babel/plugin-transform-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" + integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-private-methods@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" - integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== +"@babel/plugin-transform-parameters@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" + integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-private-property-in-object@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" - integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== +"@babel/plugin-transform-private-methods@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" + integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.11" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== +"@babel/plugin-transform-private-property-in-object@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" + integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-regenerator@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" - integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== +"@babel/plugin-transform-property-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" + integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-regenerator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" + integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== +"@babel/plugin-transform-regexp-modifiers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" + integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-runtime@^7.10.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz#3a625c4c05a39e932d7d34f5d4895cdd0172fdc9" - integrity sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g== +"@babel/plugin-transform-reserved-words@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" + integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-runtime@^7.10.0": + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz#6b4504233de8238e7d666c15cde681dc62adff87" + integrity sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.26.5" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.11.0" + babel-plugin-polyfill-regenerator "^0.6.1" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== +"@babel/plugin-transform-shorthand-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" + integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" - integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== +"@babel/plugin-transform-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" + integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-sticky-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" - integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== +"@babel/plugin-transform-sticky-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" + integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== +"@babel/plugin-transform-template-literals@^7.26.8": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz#966b15d153a991172a540a69ad5e1845ced990b5" + integrity sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== +"@babel/plugin-transform-typeof-symbol@^7.26.7": + version "7.26.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz#d0e33acd9223744c1e857dbd6fa17bd0a3786937" + integrity sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-unicode-escapes@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" - integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== +"@babel/plugin-transform-unicode-escapes@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" + integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== +"@babel/plugin-transform-unicode-property-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" + integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" - integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== +"@babel/plugin-transform-unicode-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" + integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== +"@babel/plugin-transform-unicode-sets-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" + integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/preset-env@^7.10.0": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.20.tgz#de9e9b57e1127ce0a2f580831717f7fb677ceedb" - integrity sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg== - dependencies: - "@babel/compat-data" "^7.22.20" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15" + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.9.tgz#2ec64e903d0efe743699f77a10bdf7955c2123c3" + integrity sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== + dependencies: + "@babel/compat-data" "^7.26.8" + "@babel/helper-compilation-targets" "^7.26.5" + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-import-assertions" "^7.26.0" + "@babel/plugin-syntax-import-attributes" "^7.26.0" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.15" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.15" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.11" - "@babel/plugin-transform-classes" "^7.22.15" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.15" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.11" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.11" - "@babel/plugin-transform-for-of" "^7.22.15" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.11" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.15" - "@babel/plugin-transform-modules-systemjs" "^7.22.11" - "@babel/plugin-transform-modules-umd" "^7.22.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11" - "@babel/plugin-transform-numeric-separator" "^7.22.11" - "@babel/plugin-transform-object-rest-spread" "^7.22.15" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.11" - "@babel/plugin-transform-optional-chaining" "^7.22.15" - "@babel/plugin-transform-parameters" "^7.22.15" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.11" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.10" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.10" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/plugin-transform-arrow-functions" "^7.25.9" + "@babel/plugin-transform-async-generator-functions" "^7.26.8" + "@babel/plugin-transform-async-to-generator" "^7.25.9" + "@babel/plugin-transform-block-scoped-functions" "^7.26.5" + "@babel/plugin-transform-block-scoping" "^7.25.9" + "@babel/plugin-transform-class-properties" "^7.25.9" + "@babel/plugin-transform-class-static-block" "^7.26.0" + "@babel/plugin-transform-classes" "^7.25.9" + "@babel/plugin-transform-computed-properties" "^7.25.9" + "@babel/plugin-transform-destructuring" "^7.25.9" + "@babel/plugin-transform-dotall-regex" "^7.25.9" + "@babel/plugin-transform-duplicate-keys" "^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-dynamic-import" "^7.25.9" + "@babel/plugin-transform-exponentiation-operator" "^7.26.3" + "@babel/plugin-transform-export-namespace-from" "^7.25.9" + "@babel/plugin-transform-for-of" "^7.26.9" + "@babel/plugin-transform-function-name" "^7.25.9" + "@babel/plugin-transform-json-strings" "^7.25.9" + "@babel/plugin-transform-literals" "^7.25.9" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" + "@babel/plugin-transform-member-expression-literals" "^7.25.9" + "@babel/plugin-transform-modules-amd" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.26.3" + "@babel/plugin-transform-modules-systemjs" "^7.25.9" + "@babel/plugin-transform-modules-umd" "^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-new-target" "^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.26.6" + "@babel/plugin-transform-numeric-separator" "^7.25.9" + "@babel/plugin-transform-object-rest-spread" "^7.25.9" + "@babel/plugin-transform-object-super" "^7.25.9" + "@babel/plugin-transform-optional-catch-binding" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/plugin-transform-private-methods" "^7.25.9" + "@babel/plugin-transform-private-property-in-object" "^7.25.9" + "@babel/plugin-transform-property-literals" "^7.25.9" + "@babel/plugin-transform-regenerator" "^7.25.9" + "@babel/plugin-transform-regexp-modifiers" "^7.26.0" + "@babel/plugin-transform-reserved-words" "^7.25.9" + "@babel/plugin-transform-shorthand-properties" "^7.25.9" + "@babel/plugin-transform-spread" "^7.25.9" + "@babel/plugin-transform-sticky-regex" "^7.25.9" + "@babel/plugin-transform-template-literals" "^7.26.8" + "@babel/plugin-transform-typeof-symbol" "^7.26.7" + "@babel/plugin-transform-unicode-escapes" "^7.25.9" + "@babel/plugin-transform-unicode-property-regex" "^7.25.9" + "@babel/plugin-transform-unicode-regex" "^7.25.9" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.22.19" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" - core-js-compat "^3.31.0" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.11.0" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.40.0" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -954,78 +775,39 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - "@babel/runtime@^7.0.0", "@babel/runtime@^7.10.0", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" - integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.10.tgz#a07b4d8fa27af131a633d7b3524db803eb4764c2" + integrity sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.15", "@babel/template@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.23.0": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.23.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" - integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/template" "^7.25.9" - "@babel/types" "^7.25.9" +"@babel/template@^7.25.9", "@babel/template@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2" + integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/parser" "^7.26.9" + "@babel/types" "^7.26.9" + +"@babel/traverse@^7.23.2", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.26.9": + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.10.tgz#43cca33d76005dbaa93024fae536cc1946a4c380" + integrity sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.10" + "@babel/parser" "^7.26.10" + "@babel/template" "^7.26.9" + "@babel/types" "^7.26.10" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.4.4": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.25.9", "@babel/types@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" - integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== +"@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.26.9", "@babel/types@^7.4.4": + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.10.tgz#396382f6335bd4feb65741eacfc808218f859259" + integrity sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ== dependencies: "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" @@ -1044,9 +826,9 @@ integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@electron/asar@^3.2.1": - version "3.2.7" - resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.7.tgz#bb8117dc6fd0c06a922ae7fb1c0e2d433e35a6e5" - integrity sha512-8FaSCAIiZGYFWyjeevPQt+0e9xCK9YmJ2Rjg5SXgdsXon6cRnU0Yxnbe6CvJbQn26baifur2Y2G5EBayRIsjyg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.3.1.tgz#cd14e897770d9844673dd7c1dc8944e086e1e0ea" + integrity sha512-WtpC/+34p0skWZiarRjLAyqaAX78DofhDxnREy/V5XHfu1XEXbFCSSMcDQ6hNCPJFaPy8/NnUgYuf9uiCkvKPg== dependencies: commander "^5.0.0" glob "^7.1.6" @@ -1067,10 +849,10 @@ optionalDependencies: global-agent "^3.0.0" -"@electron/notarize@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.1.0.tgz#76aaec10c8687225e8d0a427cc9df67611c46ff3" - integrity sha512-Q02xem1D0sg4v437xHgmBLxI2iz/fc0D4K7fiVWHa/AnW8o7D751xyKNXgziA6HrTOme9ul1JfWN5ark8WH1xA== +"@electron/notarize@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.2.1.tgz#d0aa6bc43cba830c41bfd840b85dbe0e273f59fe" + integrity sha512-aL+bFMIkpR0cmmj5Zgy0LMKEpgy43/hw5zadEArgmAMWWlKc5buwFvFT9G/o/YJkvXAJm5q3iuTuLaiaXW39sg== dependencies: debug "^4.1.1" fs-extra "^9.0.1" @@ -1088,10 +870,10 @@ minimist "^1.2.6" plist "^3.0.5" -"@electron/universal@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.4.1.tgz#3fbda2a5ed9ff9f3304c8e8316b94c1e3a7b3785" - integrity sha512-lE/U3UNw1YHuowNbTmKNs9UlS3En3cPgwM5MI+agIgr/B1hSze9NdOP0qn7boZaI9Lph8IDv3/24g9IxnJP7aQ== +"@electron/universal@1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.5.1.tgz#f338bc5bcefef88573cf0ab1d5920fac10d06ee5" + integrity sha512-kbgXxyEauPJiQQUNG2VgUeyfQNFk6hBF11ISN2PNI6agUgPl55pv4eQmaqHzTAzchBvqZ2tQuRVaPStGf0mxGw== dependencies: "@electron/asar" "^3.2.1" "@malept/cross-spawn-promise" "^1.1.0" @@ -1101,16 +883,16 @@ minimatch "^3.0.4" plist "^3.0.4" -"@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== +"@emotion/babel-plugin@^11.13.5": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.3.3" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" @@ -1118,93 +900,93 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== +"@emotion/cache@^11.14.0", "@emotion/cache@^11.4.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== "@emotion/react@^11.8.1": - version "11.11.1" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157" - integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA== + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" + integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.2" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.2.tgz#017a6e4c9b8a803bd576ff3d52a0ea6fa5a62b51" - integrity sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA== +"@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.2" csstype "^3.0.2" -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== -"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== +"@emotion/use-insertion-effect-with-fallbacks@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== "@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz#b0fc7e06d0c94f801537fd4237edc2706d3b8e4c" + integrity sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w== dependencies: - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.3" "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4" - integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/eslintrc@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" - integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1216,56 +998,61 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.51.0": - version "8.51.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa" - integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg== +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== -"@floating-ui/core@^1.4.2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c" - integrity sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg== +"@floating-ui/core@^1.6.0": + version "1.6.9" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.9.tgz#64d1da251433019dafa091de9b2886ff35ec14e6" + integrity sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw== dependencies: - "@floating-ui/utils" "^0.1.3" + "@floating-ui/utils" "^0.2.9" "@floating-ui/dom@^1.0.1": - version "1.5.3" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.3.tgz#54e50efcb432c06c23cd33de2b575102005436fa" - integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA== + version "1.6.13" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.13.tgz#a8a938532aea27a95121ec16e667a7cbe8c59e34" + integrity sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w== dependencies: - "@floating-ui/core" "^1.4.2" - "@floating-ui/utils" "^0.1.3" + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.9" + +"@floating-ui/utils@^0.2.9": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.9.tgz#50dea3616bc8191fb8e112283b49eaff03e78429" + integrity sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg== -"@floating-ui/utils@^0.1.3": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.6.tgz#22958c042e10b67463997bd6ea7115fe28cbcaf9" - integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A== +"@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@grpc/grpc-js@^1.8.14": - version "1.9.5" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.9.5.tgz#22e283754b7b10d1ad26c3fb21849028dcaabc53" - integrity sha512-iouYNlPxRAwZ2XboDT+OfRKHuaKHiqjB5VFYZ0NFrHkbEF+AV3muIUY9olQsp8uxU4VvRCMiRk9ftzFDGb61aw== + version "1.13.0" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.13.0.tgz#69c229eacb77f3468afa9d375c23dc9b694d1af9" + integrity sha512-pMuxInZjUnUkgMT2QLZclRqwk2ykJbIU05aZgPgJYXEpN9+2I7z7aNwcjWZSycRPl232FfhPszyBFJyOxTHNog== dependencies: - "@grpc/proto-loader" "^0.7.8" - "@types/node" ">=12.12.47" + "@grpc/proto-loader" "^0.7.13" + "@js-sdsl/ordered-map" "^4.4.2" -"@grpc/proto-loader@^0.7.8": - version "0.7.10" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.10.tgz#6bf26742b1b54d0a473067743da5d3189d06d720" - integrity sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== +"@grpc/proto-loader@^0.7.13": + version "0.7.13" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.13.tgz#f6a44b2b7c9f7b609f5748c6eac2d420e37670cf" + integrity sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw== dependencies: lodash.camelcase "^4.3.0" long "^5.0.0" - protobufjs "^7.2.4" + protobufjs "^7.2.5" yargs "^17.7.2" -"@humanwhocodes/config-array@^0.11.11": - version "0.11.11" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" - integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" + "@humanwhocodes/object-schema" "^2.0.3" + debug "^4.3.1" minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": @@ -1273,10 +1060,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/object-schema@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@hutson/parse-repository-url@^3.0.0": version "3.0.2" @@ -1302,33 +1089,19 @@ dependencies: "@sinclair/typebox" "^0.27.8" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.2.1": version "1.2.1" @@ -1336,25 +1109,17 @@ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" @@ -1364,10 +1129,15 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@js-sdsl/ordered-map@^4.4.2": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" + integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== + "@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== "@lerna/child-process@7.4.2": version "7.4.2" @@ -1539,10 +1309,18 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/fs@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + "@npmcli/fs@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" - integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" + integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== dependencies: semver "^7.3.5" @@ -1561,13 +1339,21 @@ which "^3.0.0" "@npmcli/installed-package-contents@^2.0.1": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33" - integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" + integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== dependencies: npm-bundled "^3.0.0" npm-normalize-package-bin "^3.0.0" +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + "@npmcli/node-gyp@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" @@ -1881,6 +1667,71 @@ dependencies: "@octokit/openapi-types" "^18.0.0" +"@parcel/watcher-android-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1" + integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== + +"@parcel/watcher-darwin-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67" + integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== + +"@parcel/watcher-darwin-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8" + integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== + +"@parcel/watcher-freebsd-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b" + integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== + +"@parcel/watcher-linux-arm-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1" + integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== + +"@parcel/watcher-linux-arm-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e" + integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== + +"@parcel/watcher-linux-arm64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30" + integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== + +"@parcel/watcher-linux-arm64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2" + integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== + +"@parcel/watcher-linux-x64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz#4d2ea0f633eb1917d83d483392ce6181b6a92e4e" + integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== + +"@parcel/watcher-linux-x64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee" + integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== + +"@parcel/watcher-win32-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243" + integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== + +"@parcel/watcher-win32-ia32@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6" + integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== + +"@parcel/watcher-win32-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz#ae52693259664ba6f2228fa61d7ee44b64ea0947" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== + "@parcel/watcher@2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b" @@ -1889,6 +1740,30 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" +"@parcel/watcher@^2.5.0": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.1.tgz#342507a9cfaaf172479a882309def1e991fb1200" + integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.1" + "@parcel/watcher-darwin-arm64" "2.5.1" + "@parcel/watcher-darwin-x64" "2.5.1" + "@parcel/watcher-freebsd-x64" "2.5.1" + "@parcel/watcher-linux-arm-glibc" "2.5.1" + "@parcel/watcher-linux-arm-musl" "2.5.1" + "@parcel/watcher-linux-arm64-glibc" "2.5.1" + "@parcel/watcher-linux-arm64-musl" "2.5.1" + "@parcel/watcher-linux-x64-glibc" "2.5.1" + "@parcel/watcher-linux-x64-musl" "2.5.1" + "@parcel/watcher-win32-arm64" "2.5.1" + "@parcel/watcher-win32-ia32" "2.5.1" + "@parcel/watcher-win32-x64" "2.5.1" + "@phosphor/algorithm@1", "@phosphor/algorithm@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@phosphor/algorithm/-/algorithm-1.2.0.tgz#4a19aa59261b7270be696672dc3f0663f7bef152" @@ -2064,6 +1939,20 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== +"@puppeteer/browsers@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-2.3.1.tgz#238200dbdce5c00ae28c8f2a55ac053c3be71668" + integrity sha512-uK7o3hHkK+naEobMSJ+2ySYyXtQkBxIH8Gn4MK9ciePjNV+Pf+PgY/W7iPzn2MTjl3stcYB5AlcTmPYw7AXDwA== + dependencies: + debug "^4.3.6" + extract-zip "^2.0.1" + progress "^2.0.3" + proxy-agent "^6.4.0" + semver "^7.6.3" + tar-fs "^3.0.6" + unbzip2-stream "^1.4.3" + yargs "^17.7.2" + "@sigstore/bundle@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-1.1.0.tgz#17f8d813b09348b16eeed66a8cf1c3d6bd3d04f1" @@ -2121,9 +2010,9 @@ integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== "@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== "@stroncium/procfs@^1.2.1": version "1.2.1" @@ -2144,18 +2033,18 @@ dependencies: defer-to-connect "^2.0.1" -"@theia/application-manager@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/application-manager/-/application-manager-1.41.0.tgz#5a6cb2a4d163956c9e94d28411f56d0c8591aebb" - integrity sha512-Fy66EbWp+c8SilIBe8KwYCqi52hC7DXRhLyZ7Kpo5utPZif5FwRDs81UBlpyVLWCWKJABcQjT/Vbp36uCcUT2g== +"@theia/application-manager@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/application-manager/-/application-manager-1.57.0.tgz#8830301d392081eb5731b845585783aa0f2b223a" + integrity sha512-L5X0+pM8Py2F0+pf4KhqFYh0awsUnJAXjs/dTJvD6eXJsAnKxpwgMTVlI144XigDEDZo+y7Zhiry84uXcrxCXQ== dependencies: "@babel/core" "^7.10.0" "@babel/plugin-transform-classes" "^7.10.0" "@babel/plugin-transform-runtime" "^7.10.0" "@babel/preset-env" "^7.10.0" - "@theia/application-package" "1.41.0" - "@theia/ffmpeg" "1.41.0" - "@theia/native-webpack-plugin" "1.41.0" + "@theia/application-package" "1.57.0" + "@theia/ffmpeg" "1.57.0" + "@theia/native-webpack-plugin" "1.57.0" "@types/fs-extra" "^4.0.2" "@types/semver" "^7.5.0" babel-loader "^8.2.2" @@ -2165,6 +2054,7 @@ css-loader "^6.2.0" electron-rebuild "^3.2.7" fs-extra "^4.0.2" + http-server "^14.1.1" ignore-loader "^0.1.2" less "^3.0.3" mini-css-extract-plugin "^2.6.1" @@ -2176,96 +2066,104 @@ source-map "^0.6.1" source-map-loader "^2.0.1" source-map-support "^0.5.19" - string-replace-loader "^3.1.0" style-loader "^2.0.0" + tslib "^2.6.2" umd-compat-loader "^2.1.2" webpack "^5.76.0" webpack-cli "4.7.0" worker-loader "^3.0.8" yargs "^15.3.1" -"@theia/application-package@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/application-package/-/application-package-1.41.0.tgz#40e144f7e07c2abab37baabd695a3861c35494bc" - integrity sha512-Aay/87X+ogj/jSec7SPjRrx1ODDSzYK7F2KdgDtqb/IJ3f8KsL/Vh37XeTKzOPlW+rlhRAOzG4rpeuf1duO7MA== +"@theia/application-package@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/application-package/-/application-package-1.57.0.tgz#4464aef8fba52bcdb584b7fb93805ee120494406" + integrity sha512-5bq1K6Bw2CSsNBR8B+Ry4MJo1M8/Wq6W3qPtgoASg/aRPPMbAyDyBt9Mk7BG0zpnXa1sSU+bUx+AUkKPONeRqQ== dependencies: - "@theia/request" "1.41.0" + "@theia/request" "1.57.0" "@types/fs-extra" "^4.0.2" "@types/semver" "^7.5.0" "@types/write-json-file" "^2.2.1" deepmerge "^4.2.2" fs-extra "^4.0.2" is-electron "^2.1.0" - nano "^9.0.5" + nano "^10.1.3" resolve-package-path "^4.0.3" semver "^7.5.4" + tslib "^2.6.2" write-json-file "^2.2.0" -"@theia/bulk-edit@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/bulk-edit/-/bulk-edit-1.41.0.tgz#804330845df4477d07f57acd423bddb610a2c1e7" - integrity sha512-JnhYCRyLeLqIXJzlU/L78cBXQ60fw0hDOaYMS0r/ZTqgmgBmTGVKx+HDypTQ1/XP5h96e/J7FxjIXYcHBRisSA== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/workspace" "1.41.0" - -"@theia/callhierarchy@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/callhierarchy/-/callhierarchy-1.41.0.tgz#c925763f71dd2e2773a24a4fec8afbd439ae617a" - integrity sha512-kZmGp10ibHWzmz/dXWiJXl84QYFrh2I6NtgFvFxEmMiGsC1NN1CQfQg+6J0i4OG169FKiE8stn3m60KmXn5fNA== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" +"@theia/bulk-edit@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/bulk-edit/-/bulk-edit-1.57.0.tgz#aae0965acea735351353f234e3d36f77d5fbca1e" + integrity sha512-aArK91eyowUuVQvtiEXArq5ot6rVGW0PRGNKBOxCmxFwjep2vfDboGzLzSHKuVtx4oXjBwGSMBWQBvovALatfw== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/workspace" "1.57.0" + tslib "^2.6.2" + +"@theia/callhierarchy@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/callhierarchy/-/callhierarchy-1.57.0.tgz#d8046b181837d2a43d9d3a83cbdd694811ad10c6" + integrity sha512-73WraULaDH7te+zHXBGpCOOpzm3j9V6nDpHJXrg1ab8+m/EGiIfdlerWkzo6LyKWcebyGxrviL49jDeqjOYoAw== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" ts-md5 "^1.2.2" - -"@theia/cli@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/cli/-/cli-1.41.0.tgz#4243d1cd45f0996dd8699e1e2a3413709866b7a6" - integrity sha512-GgOfB/a1C3kslIN6IVpkD3sSYj8hH30htf2n3En0DiTj6FHECb0Uf2jtccyb9W4XPZyK/P2gd/A4LhzbKXIZiw== - dependencies: - "@theia/application-manager" "1.41.0" - "@theia/application-package" "1.41.0" - "@theia/ffmpeg" "1.41.0" - "@theia/localization-manager" "1.41.0" - "@theia/ovsx-client" "1.41.0" - "@theia/request" "1.41.0" + tslib "^2.6.2" + +"@theia/cli@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/cli/-/cli-1.57.0.tgz#8fb894ca7a547a8d90b862359e671b049f6d21b2" + integrity sha512-wz0rcMGkpAbjSJySJC6HbtJHAURaTBsY2FPL4FkVmEA6DhC/+mTxqzejFMWCfZbyUCPr520vYTryfVrs9iQGsQ== + dependencies: + "@theia/application-manager" "1.57.0" + "@theia/application-package" "1.57.0" + "@theia/ffmpeg" "1.57.0" + "@theia/localization-manager" "1.57.0" + "@theia/ovsx-client" "1.57.0" + "@theia/request" "1.57.0" "@types/chai" "^4.2.7" "@types/mocha" "^10.0.0" "@types/node-fetch" "^2.5.7" - chai "^4.2.0" + chai "^4.3.10" chalk "4.0.0" decompress "^4.2.1" escape-string-regexp "4.0.0" glob "^8.0.3" + http-server "^14.1.1" limiter "^2.1.0" log-update "^4.0.0" mocha "^10.1.0" - puppeteer "19.7.2" - puppeteer-core "19.7.2" + patch-package "^8.0.0" + puppeteer "23.1.0" + puppeteer-core "23.1.0" puppeteer-to-istanbul "1.4.0" temp "^0.9.1" + tslib "^2.6.2" yargs "^15.3.1" -"@theia/console@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/console/-/console-1.41.0.tgz#f7f6bcb5f5411bd3ec70ca236bbfaaddb4f524db" - integrity sha512-9H27dDFndjpIpcJA0ujQKe4xLDFCFYw47E+72B3Ci8aQ5HqrTQwzsPK7JvPBvUFN/lrWQrQrwY0ZDZElOhNuig== +"@theia/console@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/console/-/console-1.57.0.tgz#b1e90f0c6c2a89ef34b677562b4d8c8e06197305" + integrity sha512-SL81TiLdP5dm51ejjDk/rU3Dd/28VcnrWCzJCv1f7IBi/BphzQGqFsqJhcCkbWwmnwxsxzMvLceIc82ANnMx2w== dependencies: - "@theia/core" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" + "@theia/core" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" anser "^2.0.1" + tslib "^2.6.2" -"@theia/core@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/core/-/core-1.41.0.tgz#04d3ad18b2b9c662eaf63c06c9852ea0ad78d1d9" - integrity sha512-XpoBPul1DGFT/CVFmc9b56IfNj5Paa+NKgI3aMRdmjtlYLtFpbjKOZbidWpPVQGLXIvXrpGiSITIQIM21Ojtmw== +"@theia/core@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/core/-/core-1.57.0.tgz#d473d8b9246403c5bcaf402d885bb4e2627d54b4" + integrity sha512-TT06PG3i+j7ViSTEaiAys9GrThhzH+9hkFCgyLJMr49Qc6XnUPtWcy2ncoi7nKyX1dxg+d4lAvj5oqpWRXlmUQ== dependencies: "@babel/runtime" "^7.10.0" + "@parcel/watcher" "^2.5.0" "@phosphor/algorithm" "1" "@phosphor/commands" "1" "@phosphor/coreutils" "1" @@ -2276,12 +2174,12 @@ "@phosphor/signaling" "1" "@phosphor/virtualdom" "1" "@phosphor/widgets" "1" - "@theia/application-package" "1.41.0" - "@theia/request" "1.41.0" + "@theia/application-package" "1.57.0" + "@theia/request" "1.57.0" "@types/body-parser" "^1.16.4" "@types/cookie" "^0.3.3" "@types/dompurify" "^2.2.2" - "@types/express" "^4.16.0" + "@types/express" "^4.17.21" "@types/fs-extra" "^4.0.2" "@types/lodash.debounce" "4.0.3" "@types/lodash.throttle" "^4.1.3" @@ -2290,7 +2188,8 @@ "@types/react-dom" "^18.0.6" "@types/route-parser" "^0.1.1" "@types/safer-buffer" "^2.1.0" - "@types/ws" "^5.1.2" + "@types/uuid" "^9.0.8" + "@types/ws" "^8.5.5" "@types/yargs" "^15" "@vscode/codicons" "*" ajv "^6.5.3" @@ -2300,7 +2199,7 @@ dompurify "^2.2.9" drivelist "^9.0.2" es6-promise "^4.2.4" - express "^4.16.3" + express "^4.21.0" fast-json-stable-stringify "^2.1.0" file-icons-js "~1.0.3" font-awesome "^4.7.0" @@ -2309,16 +2208,15 @@ http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" iconv-lite "^0.6.0" - inversify "^6.0.1" + inversify "^6.1.3" jschardet "^2.1.1" keytar "7.2.0" lodash.debounce "^4.0.8" lodash.throttle "^4.1.1" markdown-it "^12.3.2" - msgpackr "1.6.1" - nsfw "^2.2.4" + msgpackr "^1.10.2" p-debounce "^2.1.0" - perfect-scrollbar "^1.3.0" + perfect-scrollbar "^1.5.5" react "^18.2.0" react-dom "^18.2.0" react-tooltip "^4.2.21" @@ -2328,120 +2226,126 @@ safer-buffer "^2.1.2" socket.io "^4.5.3" socket.io-client "^4.5.3" - uuid "^8.3.2" + tslib "^2.6.2" + uuid "^9.0.1" vscode-languageserver-protocol "^3.17.2" vscode-uri "^2.1.1" - ws "^7.1.2" + ws "^8.17.1" yargs "^15.3.1" -"@theia/debug@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/debug/-/debug-1.41.0.tgz#c4b90d253143bb22662e885087586c17a95a0fa5" - integrity sha512-TkTI9Ls/MyMdCsi3ZqvmqCT2CmWr2v8MSMsCilPThuelPh4l2RcDM0LyXEI1EqTh4Ha3VVW5D1jUpPU2OvDnCA== - dependencies: - "@theia/console" "1.41.0" - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/markers" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/output" "1.41.0" - "@theia/process" "1.41.0" - "@theia/task" "1.41.0" - "@theia/terminal" "1.41.0" - "@theia/variable-resolver" "1.41.0" - "@theia/workspace" "1.41.0" +"@theia/debug@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/debug/-/debug-1.57.0.tgz#9f2b0752f626dea19a6549ea9bcf259e9d1199c2" + integrity sha512-qmiq7KT8uB7IGhd3yqg07NtgF/aA8r6me1uHHiEYQsNv392F3kgx03aTjIAWmMuqjnk/esEM09vl6NGIoj3XAg== + dependencies: + "@theia/console" "1.57.0" + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/markers" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/output" "1.57.0" + "@theia/process" "1.57.0" + "@theia/task" "1.57.0" + "@theia/terminal" "1.57.0" + "@theia/test" "1.57.0" + "@theia/variable-resolver" "1.57.0" + "@theia/workspace" "1.57.0" "@vscode/debugprotocol" "^1.51.0" fast-deep-equal "^3.1.3" jsonc-parser "^2.2.0" p-debounce "^2.1.0" + tslib "^2.6.2" -"@theia/editor-preview@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/editor-preview/-/editor-preview-1.41.0.tgz#1a77a315aa202abfcca027352a4a5533ae7f678c" - integrity sha512-eLIEwgB6Sjbl5d93cNhqRccNIpXaZ7GS6yP2JTrF+YcHyEx1cmVikPcgG0QY0KAPFAGpe294mI6sZNwOBot58g== +"@theia/editor-preview@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/editor-preview/-/editor-preview-1.57.0.tgz#1ce7faea7e150a35d8785a21bd865bed4f9f0059" + integrity sha512-Tj0QARXKkf8EaQpgUgBW/JSfOsazAbl5DeKr+XPlZ8qb41iN+DXwD5bSO7XfhG45KrvVkM7wLEntBVMGMGPXSg== dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/navigator" "1.41.0" + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/navigator" "1.57.0" + tslib "^2.6.2" -"@theia/editor@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/editor/-/editor-1.41.0.tgz#666fd31389c03187cc34a19c25c7bc2ed672e9c5" - integrity sha512-VdCg6fjZ9v0ZNHYuo2ZabN/lSyZsL3Cx5aQ+0wITD7Zmtjtl98rHiiqcx+yMSMdSKvhZkYtb50Ze1226FMgiKA== +"@theia/editor@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/editor/-/editor-1.57.0.tgz#3fc4e8cfab89be566046b446f225fa1933c46c95" + integrity sha512-8Q3j5RJEnyHjOvnoL8k8HzfuRyU1n0JaGksT0Nl8fdt4XKHcjfda0AApDTEKVurXf20gfAtfjnIfR/f2Xv/ckw== dependencies: - "@theia/core" "1.41.0" - "@theia/variable-resolver" "1.41.0" + "@theia/core" "1.57.0" + "@theia/variable-resolver" "1.57.0" + tslib "^2.6.2" -"@theia/electron@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/electron/-/electron-1.41.0.tgz#f9f49b24da5a5eaa1a0ff54861a74e6752fc8111" - integrity sha512-4GcMAt2c75wO+an3VdJUb3cndXuD6/zS8plKCn0KGQTQPgBBabu6SHcG/KfuGYJag2QiSDVHa02tE9904i2qug== +"@theia/electron@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/electron/-/electron-1.57.0.tgz#13388ca1716de97915fd89cf18bc9d8c5b0225e8" + integrity sha512-QNzpmQapDCXJKwmATXe2F1T5DNDvLQyzAqrBLDNXegRxeuOZ+wAaPiKi7eq0zBh2481fzXu0hCNSvsx5gM1vjQ== dependencies: electron-store "^8.0.0" fix-path "^3.0.0" native-keymap "^2.2.1" -"@theia/ffmpeg@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/ffmpeg/-/ffmpeg-1.41.0.tgz#f1724478bb7ab076b19b09f55ca03c206f6f73da" - integrity sha512-Hpgix6cSbgyQ3kgSlcJuhxlianlysC9Ze1LNu/CkZgrAVxvz0nJHMjB1sx7zVeqfeDFdkZHInfkYltBZ6K+WnQ== +"@theia/ffmpeg@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/ffmpeg/-/ffmpeg-1.57.0.tgz#109f16bc542831bf9e2eb7b8dea056b51c63dce4" + integrity sha512-/NEUrNH6vJFpkUwI9bokfRLg81715nvhdvgJjYOgh2UBVHZ1XCeubjcrVWql/Zz5Ta8x7pbPqkY89WPyLWJmlg== dependencies: "@electron/get" "^2.0.0" + tslib "^2.6.2" unzipper "^0.9.11" -"@theia/file-search@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/file-search/-/file-search-1.41.0.tgz#edfdd13c223bcee5577c79e175715d6319544a50" - integrity sha512-5/YZibMMC7To1bA7lCJBmQ9pqzVaS2aBmr1Jl4ry/jKjGWu7zol3qnt4l2BwyMRNSRIFoEO4aT2M/1NbyAEKoA== +"@theia/file-search@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/file-search/-/file-search-1.57.0.tgz#3e94a65d371308ab40e86bb85f6af01182730317" + integrity sha512-oB35LTRgQVlEEgKaS4oTS6f576kFP3d2FqelfkSsQNFVnaQFwp6R2Jabj3uNyYgBfCN/FcZaxMj/EGet9jN+jA== dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/process" "1.41.0" - "@theia/workspace" "1.41.0" + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/process" "1.57.0" + "@theia/workspace" "1.57.0" "@vscode/ripgrep" "^1.14.2" + tslib "^2.6.2" -"@theia/filesystem@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/filesystem/-/filesystem-1.41.0.tgz#71daa0dd7569092566a0e7f6f9a00b7364aee634" - integrity sha512-hJ6mmhdYMp0JG1V5PS5+qiT2rCyt5ZMopeBbn1kOEectbhasgEtgj5u0RKp3nguW+ZZDs4yERJ22Y2HTvV+YeQ== +"@theia/filesystem@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/filesystem/-/filesystem-1.57.0.tgz#1c212c951b5d495a9848bfe6bf4e26ca72713154" + integrity sha512-88bMYtksDZOiTgzyaOuKbmQmAk6SOjIrnGIsGe5oJXxXcSr8vbMIGwTimFL5KKXo02D0rfXTQ6HxxX6xD32PWA== dependencies: - "@theia/core" "1.41.0" + "@theia/core" "1.57.0" "@types/body-parser" "^1.17.0" "@types/multer" "^1.4.7" - "@types/rimraf" "^2.0.2" "@types/tar-fs" "^1.16.1" - "@types/uuid" "^7.0.3" async-mutex "^0.3.1" body-parser "^1.18.3" http-status-codes "^1.3.0" minimatch "^5.1.0" multer "1.4.4-lts.1" - rimraf "^2.6.2" + rimraf "^5.0.0" stat-mode "^1.0.0" tar-fs "^1.16.2" trash "^7.2.0" - uuid "^8.0.0" + tslib "^2.6.2" vscode-languageserver-textdocument "^1.0.1" -"@theia/keymaps@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/keymaps/-/keymaps-1.41.0.tgz#41baeaadba0e8c6538d6b1edff190a7f6b25c714" - integrity sha512-1KdUMYJaH5spbDMoMKhR8nikzna836ucUUDP6qCrPeuY3EsdS51ap9JFF+ZK+SrrKCAlW8+iKhAlU9NtSwxJow== +"@theia/keymaps@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/keymaps/-/keymaps-1.57.0.tgz#f267101be3af848facc4d872f9bbe282c1537ee6" + integrity sha512-DcSdfRT2/X0eJoT8pumbyXTREnFGKbhcLOCXzO66QcjGevk+QEcYlNbQhGIL8rNOXNMV0o096MZSK4LaNJsbtQ== dependencies: - "@theia/core" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/preferences" "1.41.0" - "@theia/userstorage" "1.41.0" + "@theia/core" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/preferences" "1.57.0" + "@theia/userstorage" "1.57.0" jsonc-parser "^2.2.0" + tslib "^2.6.2" -"@theia/localization-manager@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/localization-manager/-/localization-manager-1.41.0.tgz#91b7562aaeb5ce7e42e46f36a74d2d90b67bf107" - integrity sha512-y/q2Kelroea6iAjrqeMe5pWEhgKt/WGviZ3NRLzZRz5SMF2EiknZc9JOC1uzXR/RRChqDJq7HdXfP1xh4GdqiA== +"@theia/localization-manager@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/localization-manager/-/localization-manager-1.57.0.tgz#40d274e7dbea4fac422193d721406c58f0ef6b43" + integrity sha512-f5HH1s83thnYl3+/83hMk4p+cfgmqAeBncU9atljdWMnp0vLe9gJRjpFGdwoL5SbtU/qEq9UpcRlNZoT6ZCV/Q== dependencies: "@types/bent" "^7.0.1" "@types/fs-extra" "^4.0.2" @@ -2450,155 +2354,174 @@ deepmerge "^4.2.2" fs-extra "^4.0.2" glob "^7.2.0" - typescript "~4.5.5" + tslib "^2.6.2" + typescript "~5.4.5" -"@theia/markers@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/markers/-/markers-1.41.0.tgz#fe4e450c0ed67eaed24aed029b3a4168a929785b" - integrity sha512-PC3sMzsh1Sn78PzZPsKK/CxgEPkPkVnHsl54gKgv71gkZxg02ujfSGQlyJ5CKg0ZC4MiEnyjsdX/p+B2EriTUA== +"@theia/markers@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/markers/-/markers-1.57.0.tgz#71969b2fee96b9044e682b74ad5081863e4b0f17" + integrity sha512-XYoIWMx6dy5PlKIyJrX+jOduznKRSxPKvxghU5LbDIBSYUsZUab3zN3/SCuO28cVUikktqMtwBkKIbL++5BBMw== dependencies: - "@theia/core" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/workspace" "1.41.0" + "@theia/core" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/workspace" "1.57.0" + tslib "^2.6.2" -"@theia/messages@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/messages/-/messages-1.41.0.tgz#72a4895c9930babf0082823f1d586a8cb4b7433d" - integrity sha512-JmQ9IKgIv1/qOaeQWQOdhlMz2Xip7A6HRUr19JDXcZpvbnKZYSf4l4hDFei8qJgRlWFfs90pcgBuSnnOOUkNUw== +"@theia/messages@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/messages/-/messages-1.57.0.tgz#24d412eff171e91eded5c2baab0907ce80a33d1f" + integrity sha512-Lg3wAyrhX4zmgDsM/1IA2lNsFO8a05mFiMlneAvBa/XN5HO4stpJTOH56rkvUkrVr9bGPpHupSAkqCySz3pQnw== dependencies: - "@theia/core" "1.41.0" + "@theia/core" "1.57.0" react-perfect-scrollbar "^1.5.3" ts-md5 "^1.2.2" - -"@theia/monaco-editor-core@1.72.3": - version "1.72.3" - resolved "https://registry.yarnpkg.com/@theia/monaco-editor-core/-/monaco-editor-core-1.72.3.tgz#911d674c6e0c490442a355cfaa52beec919a025e" - integrity sha512-2FK5m0G5oxiqCv0ZrjucMx5fVgQ9Jqv0CgxGvSzDc4wRrauBdeBoX90J99BEIOJ8Jp3W0++GoRBdh0yQNIGL2g== - -"@theia/monaco@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/monaco/-/monaco-1.41.0.tgz#9fc6643c12f001b0814afadc72037428ad72d2e0" - integrity sha512-Atop1W7aOiWEjrFBFhV+OUE5NC+WrKSGv7o5fa3hdG/JaJk3oJ75NpqQjN4CTBDtcNEcc02EncRXZKmXx5ZSlQ== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/markers" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/outline-view" "1.41.0" + tslib "^2.6.2" + +"@theia/monaco-editor-core@1.83.101": + version "1.83.101" + resolved "https://registry.yarnpkg.com/@theia/monaco-editor-core/-/monaco-editor-core-1.83.101.tgz#a0577396fb4c69540536df2d7fed2de4399c4fde" + integrity sha512-UaAi6CEvain/qbGD3o6Ufe8plLyzAVQ53p9Ke+MoBYDhb391+r+MuK++JtITqIrXqoa8OCjbt8wQxEFSNNO0Mw== + +"@theia/monaco@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/monaco/-/monaco-1.57.0.tgz#229d514e8b3edc4a228ac52e83e1e1a2a140f7c2" + integrity sha512-nzv58i058BnWeIVr256KNs1Q/iLaDmljZrw4OHERBhsIrNJhJqYQnTpRv8rEoP9NxM7OTDpfbzSnnjV3vOV/Gg== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/markers" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/outline-view" "1.57.0" + "@theia/workspace" "1.57.0" fast-plist "^0.1.2" idb "^4.0.5" jsonc-parser "^2.2.0" + tslib "^2.6.2" vscode-oniguruma "1.6.1" - vscode-textmate "^7.0.3" + vscode-textmate "^9.0.0" -"@theia/native-webpack-plugin@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/native-webpack-plugin/-/native-webpack-plugin-1.41.0.tgz#8c23d15281809e431159112aae429ab0c5d49dfb" - integrity sha512-vxf0P41iBmg+3Iex48HBy4eUWVWlcmeJ7EE0xEw/acEvxqAj24hNepldZ28dEAjqyful1tRUO6QuTyqkx0u5vQ== +"@theia/native-webpack-plugin@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/native-webpack-plugin/-/native-webpack-plugin-1.57.0.tgz#8276888bcb4be1b6e8f83609455a9cdbb5ea5960" + integrity sha512-sX29faaRIhPkp4e2OD7JGkOrYNGUMzYmEhldvACo6PWCFn0J4tkhGLAEB9oMnedAmpGAeBYTMMN7u4UfyWwa1Q== dependencies: - temp "^0.9.1" + detect-libc "^2.0.2" + tslib "^2.6.2" webpack "^5.76.0" -"@theia/navigator@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/navigator/-/navigator-1.41.0.tgz#d85e31492e7e7a473416984c2bac3126b3d77f0e" - integrity sha512-EcSJIjHrpSoOOsR+SsEtokYBTCK3LYWfYxUERoHSLeblnvB//b7g5Em18HH4utWmPDv+5NEm+HUK9LVG27Etiw== +"@theia/navigator@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/navigator/-/navigator-1.57.0.tgz#73c50b1bf9c1b74f448d2d315149c432219f2af8" + integrity sha512-7/87eyeeLOXwIC5UeBk7bXdg/t484rToZZi+Jk8AbubCWnGoicECo0r3fkjDYFDWWX/xiEewZrMUoyxoy/jK2Q== dependencies: - "@theia/core" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/workspace" "1.41.0" + "@theia/core" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/workspace" "1.57.0" minimatch "^5.1.0" - -"@theia/notebook@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/notebook/-/notebook-1.41.0.tgz#5f651c30b035a3ba23cdfc445055278c5b99eef0" - integrity sha512-Hs5Mnt9BCJSx+VwiGIcTOd5cZxoRSZXVcNSVL0ZeBsxVLW8SvDSDFg5W5ZWt56vo3P20vdZ5Isv6DqQrUgpwbQ== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/monaco" "1.41.0" - uuid "^8.3.2" - -"@theia/outline-view@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/outline-view/-/outline-view-1.41.0.tgz#6fe502894fcf8092509733b5c28eb0bc7a2e7690" - integrity sha512-BPaZzLleCf6N8T4YSV5HfSGvc3d6FQLQm+7zM305JFfMdWjdvpbS1d/8Yz1pyDsG7G4EZy/pFt7Vxq7SRHztfQ== - dependencies: - "@theia/core" "1.41.0" - -"@theia/output@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/output/-/output-1.41.0.tgz#1824adc155a981454172333ff9687880a945e74d" - integrity sha512-BeFUeVzibOQUNGoId0F2nZraTvLNEMgXTCJQycv2xCPHpbSUJSx8fgIo4rBQCwTYcLNT7SFsjUIm8WKD4sC7JA== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" + tslib "^2.6.2" + +"@theia/notebook@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/notebook/-/notebook-1.57.0.tgz#1b4ad78005d520bf5d9a9a75f30cf85010b0a79f" + integrity sha512-1sJSSKaM0FEXQJgaO4DOwwoj/NFKyEhseu5SpxHcJ8v/1e7PTB3GN+nEv4Ax+ZDVoj5H4xZZ8qf/GxmSHhuseQ== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/outline-view" "1.57.0" + advanced-mark.js "^2.6.0" + react-perfect-scrollbar "^1.5.8" + tslib "^2.6.2" + +"@theia/outline-view@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/outline-view/-/outline-view-1.57.0.tgz#5b91222df1faaa05b0b8fcbb1458c4aaf8bd860e" + integrity sha512-VUZdOAIrzMHhEsqVdwIQN8QCWY3O6kBeDDtcRQRn7TnoKt77aJuNHmGoQXPPi0uweNRyNXXSU45+YnTEDM6O4w== + dependencies: + "@theia/core" "1.57.0" + tslib "^2.6.2" + +"@theia/output@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/output/-/output-1.57.0.tgz#80a987a5b32564c752f70fd48097152709b6c7f7" + integrity sha512-Xp6gOhE4KYnszraOWw03gDGRZuUlS7V3GX6VDqwb20NdGi1Ezgr6H1lQMQ8F/nJFEuRzmw2BR6HWgMWGXEB1aA== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" "@types/p-queue" "^2.3.1" p-queue "^2.4.2" + tslib "^2.6.2" -"@theia/ovsx-client@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/ovsx-client/-/ovsx-client-1.41.0.tgz#a7ecf8d6a55ba202dba1ec4913a7aeada9ff7a75" - integrity sha512-8mV0WO+p4ALW95y3WZmWs5dQwUEmj958qF8hu5PjeQ6t6+mDbkMIeoKr6uofYAxcJP2Jb4LKXwhiNZvK5n+0xQ== +"@theia/ovsx-client@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/ovsx-client/-/ovsx-client-1.57.0.tgz#60a8f2824bfde860b09476372d5c74f8de34cf18" + integrity sha512-SQ0V2VG7xzOrOWtyqSLsAIhXwDenHw7/3VAb1mMKCx/eaVNf1ZTL9HYMEYkBgtF9iMa2BAOAY/m47Vv8ken+BA== dependencies: - "@theia/request" "1.41.0" + "@theia/request" "1.57.0" + limiter "^2.1.0" semver "^7.5.4" - -"@theia/plugin-ext-vscode@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/plugin-ext-vscode/-/plugin-ext-vscode-1.41.0.tgz#7e6f3feb09417f57e68b291ecb86c7b66cefea0d" - integrity sha512-ekt6QxJIWmMO+cj/yIg4KhxTyeVbhib2qd2JNIw8Tj8INcRdVPbPOwKXS3a2CMcVD7fjOgydqsdFO/HssaI1bg== - dependencies: - "@theia/callhierarchy" "1.41.0" - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/navigator" "1.41.0" - "@theia/plugin" "1.41.0" - "@theia/plugin-ext" "1.41.0" - "@theia/terminal" "1.41.0" - "@theia/typehierarchy" "1.41.0" - "@theia/userstorage" "1.41.0" - "@theia/workspace" "1.41.0" + tslib "^2.6.2" + +"@theia/plugin-ext-vscode@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/plugin-ext-vscode/-/plugin-ext-vscode-1.57.0.tgz#0a305596f2907bb6abb77d1282c6642599a00d5b" + integrity sha512-hFqQ4VjJBzRTs/uPwHoCtyL7IC2vGXEvIRIwMNTnDuPj12xp/cbVBephT0otnLNsjEtVwzsgbhqeKyzIr/ZuBQ== + dependencies: + "@theia/callhierarchy" "1.57.0" + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/navigator" "1.57.0" + "@theia/outline-view" "1.57.0" + "@theia/plugin" "1.57.0" + "@theia/plugin-ext" "1.57.0" + "@theia/terminal" "1.57.0" + "@theia/typehierarchy" "1.57.0" + "@theia/userstorage" "1.57.0" + "@theia/workspace" "1.57.0" + decompress "^4.2.1" filenamify "^4.1.0" - -"@theia/plugin-ext@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/plugin-ext/-/plugin-ext-1.41.0.tgz#971dd5196aafddb97fa80a5572326ed77e9b66f3" - integrity sha512-EZ0vbOLlyoJMEUGKPCverJ2a3Tey0NtNUIQRvX0jqzhNbdPtA1Aevw2eUMko5UW6OA1S0LkJ7wEDku+wCIwgzw== - dependencies: - "@theia/bulk-edit" "1.41.0" - "@theia/callhierarchy" "1.41.0" - "@theia/console" "1.41.0" - "@theia/core" "1.41.0" - "@theia/debug" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/editor-preview" "1.41.0" - "@theia/file-search" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/markers" "1.41.0" - "@theia/messages" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/navigator" "1.41.0" - "@theia/notebook" "1.41.0" - "@theia/output" "1.41.0" - "@theia/plugin" "1.41.0" - "@theia/preferences" "1.41.0" - "@theia/scm" "1.41.0" - "@theia/search-in-workspace" "1.41.0" - "@theia/task" "1.41.0" - "@theia/terminal" "1.41.0" - "@theia/timeline" "1.41.0" - "@theia/typehierarchy" "1.41.0" - "@theia/variable-resolver" "1.41.0" - "@theia/workspace" "1.41.0" + tslib "^2.6.2" + +"@theia/plugin-ext@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/plugin-ext/-/plugin-ext-1.57.0.tgz#308bebeec7710961dc289a4ebe4c6faa4e404147" + integrity sha512-0seEcyaYOg1AsjrJL1WrL3baYbadlW1unCKlfb/MEHjGXO2Dkkya5Wmm4bZ3JfZa0BFye9uZGmzVtIzH8SXOFg== + dependencies: + "@theia/bulk-edit" "1.57.0" + "@theia/callhierarchy" "1.57.0" + "@theia/console" "1.57.0" + "@theia/core" "1.57.0" + "@theia/debug" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/editor-preview" "1.57.0" + "@theia/file-search" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/markers" "1.57.0" + "@theia/messages" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/navigator" "1.57.0" + "@theia/notebook" "1.57.0" + "@theia/output" "1.57.0" + "@theia/plugin" "1.57.0" + "@theia/preferences" "1.57.0" + "@theia/scm" "1.57.0" + "@theia/search-in-workspace" "1.57.0" + "@theia/task" "1.57.0" + "@theia/terminal" "1.57.0" + "@theia/test" "1.57.0" + "@theia/timeline" "1.57.0" + "@theia/typehierarchy" "1.57.0" + "@theia/variable-resolver" "1.57.0" + "@theia/workspace" "1.57.0" "@types/mime" "^2.0.1" "@vscode/debugprotocol" "^1.51.0" "@vscode/proxy-agent" "^0.13.2" @@ -2613,155 +2536,181 @@ mime "^2.4.4" ps-tree "^1.2.0" semver "^7.5.4" - uuid "^8.0.0" + tslib "^2.6.2" vhost "^3.0.2" - vscode-textmate "^7.0.3" - -"@theia/plugin@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/plugin/-/plugin-1.41.0.tgz#c7c3ccbe5bc18fa73d4d74f031ec22768e8d65ba" - integrity sha512-buWOnamoySgEAaIAvmn27xEBujejzMHlZ9lCmg09y2nxTW6sNJFEr9yoI/Ik9ktVRZOtVopqQULO90yaVBh3kA== - -"@theia/preferences@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/preferences/-/preferences-1.41.0.tgz#c0adf3984366694730a75cb43e5af0d11af0a906" - integrity sha512-en/WVgq8GQHTCFl+fCyx8HASV7x7sOSmAp9Lt2y8Ml8ksMUJHmZ64Nzdcc9TZ2qAcebpPSZ4RKe9FWrLYHpa0w== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/userstorage" "1.41.0" - "@theia/workspace" "1.41.0" + vscode-textmate "^9.0.0" + +"@theia/plugin@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/plugin/-/plugin-1.57.0.tgz#587a1f2caa358ab0065ef43e6b7abc97512954cc" + integrity sha512-WvKxS2hFDu7CYQ2PhzDRBLlH3nKf/dmqgWyXnzqft6HewnSzlfZz9RYpbMnHGLxc3NMCtmnNYEpDRGO2Q/BeMA== + +"@theia/preferences@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/preferences/-/preferences-1.57.0.tgz#044297884da7b47b2835354ab3fb85157ff179cc" + integrity sha512-+huHT1D6ycjqeFMY4Mo5gOp+lZeTjWz1UGI7P7U/Fqw/SnGtj4QuAsoR5imdp5TgWahCjtCYFMPGB7HqTbeS+Q== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/userstorage" "1.57.0" + "@theia/workspace" "1.57.0" async-mutex "^0.3.1" fast-deep-equal "^3.1.3" jsonc-parser "^2.2.0" p-debounce "^2.1.0" + tslib "^2.6.2" -"@theia/process@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/process/-/process-1.41.0.tgz#2a2b34e447ea69a43e38fe8ab63e02936278d685" - integrity sha512-UTn+2Bb0jVdH85i3WRMugfbqRs5LGVNPoik1SSaz2/3qQgirT86M0QqSp9H+ys8z3cKuowPt0H/j/173YnPfwQ== +"@theia/process@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/process/-/process-1.57.0.tgz#5186b407ccbb4b7ab5d0115003e02adb9f8e9f27" + integrity sha512-CD5oFDKoDYGq+Udbz8aL/NIubdCwxb/XcklnOmpYhKOIA1CGrRs2+9/pJOUkIMKO9XbbWv8DqSdFWi/tWU2I8g== dependencies: - "@theia/core" "1.41.0" - node-pty "0.11.0-beta17" + "@theia/core" "1.57.0" + node-pty "0.11.0-beta24" string-argv "^0.1.1" + tslib "^2.6.2" -"@theia/request@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/request/-/request-1.41.0.tgz#329103397337f49582791e6c4e681aeb24875a6c" - integrity sha512-n+ze+qqZLTzkl1/M27f6+bJpJMbi4uKGJyLfWdRJFx7KFj01JFhiEAh9q4Qf/e5HAadzbYy35FWj4TviCG1lYw== +"@theia/request@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/request/-/request-1.57.0.tgz#777d6e9c7e0429410d037e3087bce8e1efc6ff32" + integrity sha512-udL2PR5Aa66fEDB/IGJuXXzPoDtZRDYGvQluZHPKfJlUn5pZbdT58m4yA1YJqQjSrJvHxipZVSluCXJdXAxOVg== dependencies: http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" - -"@theia/scm@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/scm/-/scm-1.41.0.tgz#2d6f5e787bafe38867ca7b903a25252b94861cf8" - integrity sha512-DPFXhDIu9jjF7dDnfSHOYMs33LHDGPP+QaShuO9fhYLBFhzOLD670/JCSK3rznF9wfi+v6htkuGMIAlkKyFaKA== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@types/diff" "^3.2.2" - diff "^3.4.0" + tslib "^2.6.2" + +"@theia/scm@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/scm/-/scm-1.57.0.tgz#5cdb3600f57b41b714afb5c1c04d0b337e1df05e" + integrity sha512-U0oX4SnGxfWPHIlzEVhpytgl52OKhQ0UokIjwnO9+AbjG6TjoFoJK2c2WExrZ0ku9C5DPgGPxifF0W3nj4teqQ== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@types/diff" "^5.2.1" + diff "^5.2.0" p-debounce "^2.1.0" react-autosize-textarea "^7.0.0" ts-md5 "^1.2.2" - -"@theia/search-in-workspace@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/search-in-workspace/-/search-in-workspace-1.41.0.tgz#446027b8b68bcc42919dc2428e08002126a1407e" - integrity sha512-5q3DJUewUtsmkawKgcG/Eu6QF+2p6ZarEmwFaiEY/lNdTpJG311o1rapYT/iIfjcxFFwsHZbjPWwhpNBtJbLlA== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/navigator" "1.41.0" - "@theia/process" "1.41.0" - "@theia/workspace" "1.41.0" + tslib "^2.6.2" + +"@theia/search-in-workspace@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/search-in-workspace/-/search-in-workspace-1.57.0.tgz#4647785278f8c59ba9dd8f1b61fb962ef61615bc" + integrity sha512-hmHF1YshxLs9eKk9JUpKuEQeiv2XY0I0IbfPJ1wqHMf7mGESM9YxHEQnrZ85bBWZ4y8rPNeQnrJ80GIBxy7dYg== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/navigator" "1.57.0" + "@theia/process" "1.57.0" + "@theia/workspace" "1.57.0" "@vscode/ripgrep" "^1.14.2" minimatch "^5.1.0" - -"@theia/task@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/task/-/task-1.41.0.tgz#3c37dcf932cd8d542fd947f467d4eeebb7578de8" - integrity sha512-1FBb3a66ZNa9tdLXv2qZw31M7sCbcelMXlTC+90AssX7nT4nUdKHkYINnsTMRYWaUR5sb2U86RZi/lJy/g6nSw== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/markers" "1.41.0" - "@theia/monaco" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/process" "1.41.0" - "@theia/terminal" "1.41.0" - "@theia/userstorage" "1.41.0" - "@theia/variable-resolver" "1.41.0" - "@theia/workspace" "1.41.0" + react-autosize-textarea "^7.0.0" + tslib "^2.6.2" + +"@theia/task@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/task/-/task-1.57.0.tgz#8d8bb1d1453a9b752b12e24e8cf878e982bc6053" + integrity sha512-4ipLeVukxu1SR7EDFsbbkH94ULuvocNj7SScvx3UjJ7btKPCMd+vVmdm+HzbLPhLfYD9T8H75tOi09asNYW7mQ== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/markers" "1.57.0" + "@theia/monaco" "1.57.0" + "@theia/monaco-editor-core" "1.83.101" + "@theia/process" "1.57.0" + "@theia/terminal" "1.57.0" + "@theia/userstorage" "1.57.0" + "@theia/variable-resolver" "1.57.0" + "@theia/workspace" "1.57.0" async-mutex "^0.3.1" jsonc-parser "^2.2.0" p-debounce "^2.1.0" - -"@theia/terminal@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/terminal/-/terminal-1.41.0.tgz#11762e0da89b7dd599d334f81ff7da1a45139ae2" - integrity sha512-xQ+0yS4ichwGsAUEczlOZwfzQHV3LtnoXwQOgcQjRBtAROmZYpc/ybU9k3O88A1X8F84AT7COcO3PKHVBezjXQ== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/process" "1.41.0" - "@theia/variable-resolver" "1.41.0" - "@theia/workspace" "1.41.0" + tslib "^2.6.2" + +"@theia/terminal@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/terminal/-/terminal-1.57.0.tgz#d3409e51df80a184aff764cf8379f7df976a45ce" + integrity sha512-cTRi9XqAp7LANDy0a1o/0O+/oVFGdiNdGtpAQ43SHsYvBFmpaY3wH+pcvDGSezUS1D24IKEqHRikmJ1ZE46zTw== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/file-search" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/process" "1.57.0" + "@theia/variable-resolver" "1.57.0" + "@theia/workspace" "1.57.0" + tslib "^2.6.2" + xterm "^5.3.0" + xterm-addon-fit "^0.8.0" + xterm-addon-search "^0.13.0" + +"@theia/test@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/test/-/test-1.57.0.tgz#0eaf442d67e17907497892411b6e9b7e9333f006" + integrity sha512-x1TUAojhMD5pd3JC+pbGB2lLHpFvANJP04hxCJNPPU2MnFXQo6d9VtYaWZcuzZBLHp2S7eiXGw/kEkc/h98IaQ== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/navigator" "1.57.0" + "@theia/terminal" "1.57.0" xterm "^4.16.0" xterm-addon-fit "^0.5.0" - xterm-addon-search "^0.8.2" - -"@theia/timeline@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/timeline/-/timeline-1.41.0.tgz#f82a95208f3af08a377dbad253d86b6845209d04" - integrity sha512-LxNJqL93Al8q/6qZOQn0ZI/vAoYYaFNK+rnlioq0TJRSFZznRF14sSrzvWRv30rtDoxlJvVDELlUpl9fm3X2zw== - dependencies: - "@theia/core" "1.41.0" - "@theia/navigator" "1.41.0" - -"@theia/typehierarchy@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/typehierarchy/-/typehierarchy-1.41.0.tgz#554bff105148651493c60872d1e3763ad069ac88" - integrity sha512-GPOXJm27JWoGXzmn0yYtRZaXVykzFvGaF/cmfw9cFPeLBtm81wGwyUw716SzdCZPimuw825uP/IeWp6wubPSvw== - dependencies: - "@theia/core" "1.41.0" - "@theia/editor" "1.41.0" - "@types/uuid" "^7.0.3" - uuid "^8.0.0" - -"@theia/userstorage@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/userstorage/-/userstorage-1.41.0.tgz#127e564e0163e629391fe974bb6c2bd6cea3e074" - integrity sha512-5afYNaPNdWuqt/eHmnPgfpL2At3mtU2kgP3jrLNPY7tCCyeCxrvz2lz6+Twyb0xsBS8+m6EbiINitjoKvZEF3Q== - dependencies: - "@theia/core" "1.41.0" - "@theia/filesystem" "1.41.0" - -"@theia/variable-resolver@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/variable-resolver/-/variable-resolver-1.41.0.tgz#4c0f9667da930ac4b7a03a12d6d011435d4bde56" - integrity sha512-4CGPGQAN7iVk86q4ZtMsiV9fIi7GvnKpu6qB+yVUQg4Tnc18kYaYPGxQMpoaccmQ9mWQpVTT0JaU8o7ltPFxkA== - dependencies: - "@theia/core" "1.41.0" - -"@theia/workspace@1.41.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@theia/workspace/-/workspace-1.41.0.tgz#db474c271f7985349260d1d95549adf4422baa16" - integrity sha512-mM3t3oLCdY+xi/XWlYmG8DKECBY9nm9vcng3eNCz6omsdzRD6SkVTXhqm38E+XG8XLzMYryuwlZYmvaJ2qSoSw== - dependencies: - "@theia/core" "1.41.0" - "@theia/filesystem" "1.41.0" - "@theia/monaco-editor-core" "1.72.3" - "@theia/variable-resolver" "1.41.0" + +"@theia/timeline@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/timeline/-/timeline-1.57.0.tgz#629d2bd9a62ca44bc14dc8751ca4879a2f047e25" + integrity sha512-iUij2P5RKRy0scP+HYyxNXlM2Pvsq8dI1RE5s4KjgZGtyn9JNayKOfsd9uPFYisGuV4tTlP1oH7bi3UPcRYFgA== + dependencies: + "@theia/core" "1.57.0" + "@theia/navigator" "1.57.0" + tslib "^2.6.2" + +"@theia/typehierarchy@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/typehierarchy/-/typehierarchy-1.57.0.tgz#6cae26e812471d582360d11d98bf57757046e8a3" + integrity sha512-XJi6GsxGPDKNuJmzqS+woXzQfrOEynhzXV3tr1VbYNBk0wdlqghf52ehonhPfmVrwkqYRnpH11wlGPPNfg/htw== + dependencies: + "@theia/core" "1.57.0" + "@theia/editor" "1.57.0" + tslib "^2.6.2" + +"@theia/userstorage@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/userstorage/-/userstorage-1.57.0.tgz#4d30e5059163ce97d491b752ad755ff84bb99299" + integrity sha512-msI0U0b6X3RWq12QrOuB33GEw7+PXUo63UfIOypdcZeoYZWRECZrogE69AVTrFYh368kYPSpBb9G2zqvgC9ESQ== + dependencies: + "@theia/core" "1.57.0" + "@theia/filesystem" "1.57.0" + tslib "^2.6.2" + +"@theia/variable-resolver@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/variable-resolver/-/variable-resolver-1.57.0.tgz#aa6e833924f4cba5d5080dcc7319ee5dbf3048aa" + integrity sha512-o8CL8NYAdiaf5fYsNjmSwhQouhWOJEshqFiggte4gS2nFGW6LL+zeQ3xRGOK7IhNcSgzACPEpDTGMjQQblJrpg== + dependencies: + "@theia/core" "1.57.0" + tslib "^2.6.2" + +"@theia/workspace@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@theia/workspace/-/workspace-1.57.0.tgz#4b7bfe78a0f1e25e6445175da283f3b7c2d2e573" + integrity sha512-L68Bu07+IJQTpQur+aRq3G0fmJqUQQ3FSQQIlCrUaobPQ7/wtDoWg4yMybTXwZ0f0Nbm9IxmsB59/O6Jnzb/ug== + dependencies: + "@theia/core" "1.57.0" + "@theia/filesystem" "1.57.0" + "@theia/variable-resolver" "1.57.0" jsonc-parser "^2.2.0" + tslib "^2.6.2" valid-filename "^2.0.1" "@tippyjs/react@^4.2.5": @@ -2786,6 +2735,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@tootallnate/quickjs-emscripten@^0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz#db4ecfd499a9765ab24002c3b696d02e6d32a12c" + integrity sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== + "@tufjs/canonical-json@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz#eade9fd1f537993bc1f0949f3aea276ecc4fab31" @@ -2800,29 +2754,29 @@ minimatch "^9.0.0" "@types/auth0-js@^9.21.3": - version "9.21.3" - resolved "https://registry.yarnpkg.com/@types/auth0-js/-/auth0-js-9.21.3.tgz#de88abd4df6bbc3b8ad2fe5e299c65304f8ed691" - integrity sha512-5IZHQSljfOREU1fngFcwUXjHUlCq/CM4K1zmVytX0EvH3QnX3cYwK6HCxRuxK7seYMm8yeviWUUkWV1kqK2+sg== + version "9.21.6" + resolved "https://registry.yarnpkg.com/@types/auth0-js/-/auth0-js-9.21.6.tgz#31535a9cca2b3154c4836aab7854c38c2016a26c" + integrity sha512-wsvfk03WzQDXCbMdX8lQZH2Thh5AQk9SKQcxrBN1EdRkIOgkw9aIixxBpzsTHu/gj0I514BGQv7t5EyZSgVRmQ== "@types/bent@^7.0.1": - version "7.3.5" - resolved "https://registry.yarnpkg.com/@types/bent/-/bent-7.3.5.tgz#0676776c1ea70bed464234435b80a6acbc8d9c7d" - integrity sha512-7PTYvy4UERqRPwlz/2KMXyCu08JpvN+SHBOH1Kzp+haZFsX1xrC+RI5qFVERTIDp1XoA+VnfatRmSM7x/0p3vw== + version "7.3.8" + resolved "https://registry.yarnpkg.com/@types/bent/-/bent-7.3.8.tgz#69c3ee49bf6593d831006794e7bd2f84bb573e58" + integrity sha512-yZ09JA1KsA5Fl6Oh/ahK00+H5bV0qCy2bYnyfiFY42wnaMK4n7IDC6HaFe3WW45Zhnak7iqJBKlWD0nVxzrGWg== dependencies: "@types/node" "*" "@types/body-parser@*", "@types/body-parser@^1.16.4", "@types/body-parser@^1.17.0": - version "1.19.3" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.3.tgz#fb558014374f7d9e56c8f34bab2042a3a07d25cd" - integrity sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ== + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: "@types/connect" "*" "@types/node" "*" "@types/btoa@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/btoa/-/btoa-1.2.3.tgz#2c8e7093f902bf8f0e10992a731a4996aa1a5732" - integrity sha512-ANNCZICS/ofxhzUl8V1DniBJs+sFQ+Yg5am1ZwVEf/sxoKY/J2+h5Fuw3xUErlZ7eJLdgzukBjZwnsV6+/2Rmg== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/btoa/-/btoa-1.2.5.tgz#9b2690b224e2bd2a629d0fc5812d19ccd5e781bc" + integrity sha512-BItINdjZRlcGdI2efwK4bwxY5vEAT0SnIVfMOZVT18wp4900F1Lurqk/9PNdF9hMP1zgFmWbjVEtAsQKVcbqxA== dependencies: "@types/node" "*" @@ -2837,14 +2791,14 @@ "@types/responselike" "^1.0.0" "@types/chai@^4.2.7": - version "4.3.7" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.7.tgz#5457bc3dce72f20ae533366682a6298471d1c610" - integrity sha512-/k+vesl92vMvMygmQrFe9Aimxi6oQXFUX9mA5HanTrKUSAMoLauSi6PNFOdRw0oeqilaW600GNx2vSaT2f8aIQ== + version "4.3.20" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.20.tgz#cb291577ed342ca92600430841a00329ba05cecc" + integrity sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ== "@types/connect@*": - version "3.4.36" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.36.tgz#e511558c15a39cb29bd5357eebb57bd1459cd1ab" - integrity sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w== + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" @@ -2853,15 +2807,10 @@ resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.3.3.tgz#85bc74ba782fb7aa3a514d11767832b0e3bc6803" integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - "@types/cors@^2.8.12": - version "2.8.14" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.14.tgz#94eeb1c95eda6a8ab54870a3bf88854512f43a92" - integrity sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ== + version "2.8.17" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" + integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== dependencies: "@types/node" "*" @@ -2871,16 +2820,16 @@ integrity sha512-KlPPdikagvL6ELjWsljbyDIPzNCeliYkqRpI+zea99vBBbCIA5JNshZAwQKTON139c87y9qvTFVgkFd14rtS4g== "@types/debug@^4.0.0", "@types/debug@^4.1.6": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.9.tgz#906996938bc672aaf2fb8c0d3733ae1dda05b005" - integrity sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow== + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" -"@types/diff@^3.2.2": - version "3.5.6" - resolved "https://registry.yarnpkg.com/@types/diff/-/diff-3.5.6.tgz#2524928a13888cebb59dc18e0c793022e7d02dfd" - integrity sha512-5BV7iGX/NmFGqAQn+YDBK++kO7IbZf0mIn8mwdJACIpZsMUqJvEin0riqNDbmS3SQL8u00dGnbC0FFJQptTSWw== +"@types/diff@^5.2.1": + version "5.2.3" + resolved "https://registry.yarnpkg.com/@types/diff/-/diff-5.2.3.tgz#dcdcfa40df9f011f9465180e0196dfbd921971d9" + integrity sha512-K0Oqlrq3kQMaO2RhfrNQX5trmt+XLyom88zS0u84nnIcLvFnRUMRRHmrGny5GSM+kNO9IZLARsdQHDzkhAgmrQ== "@types/dompurify@^2.2.2": version "2.4.0" @@ -2889,46 +2838,61 @@ dependencies: "@types/trusted-types" "*" -"@types/eslint-scope@^3.7.3": - version "3.7.5" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.5.tgz#e28b09dbb1d9d35fdfa8a884225f00440dfc5a3e" - integrity sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA== +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.44.3" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.3.tgz#96614fae4875ea6328f56de38666f582d911d962" - integrity sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g== + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.2.tgz#ff02bc3dc8317cd668dfec247b750ba1f1d62453" - integrity sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA== - -"@types/events@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.1.tgz#e94892d60bcf582e3ee95ddedb89f77373925746" - integrity sha512-QfUFdKjGSc+iCf8OFZhqJKfDuqB6lP57kSMkPw8ba3yNDANicUwCdaPt5ytZ4nDXXVFxQkvT8v73I4stSVrCxA== +"@types/estree@*", "@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== "@types/express-serve-static-core@^4.17.33": - version "4.17.37" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz#7e4b7b59da9142138a2aaa7621f5abedce8c7320" - integrity sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg== + version "4.19.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-serve-static-core@^5.0.0": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz#41fec4ea20e9c7b22f024ab88a95c6bb288f51b8" + integrity sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.16.0": - version "4.17.18" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.18.tgz#efabf5c4495c1880df1bdffee604b143b29c4a95" - integrity sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ== +"@types/express@*": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" + integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/express@^4.17.21": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -2943,60 +2907,52 @@ "@types/node" "*" "@types/fs-extra@^4.0.2": - version "4.0.13" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-4.0.13.tgz#0499ef6ab6dd1c9e05c5247383867a47f5929e0b" - integrity sha512-rMZ7c4t5/EQc2FD7OTbS5XPHCR4hUSVwkiTN0/CXaLDTwxE3IPNMrCKEroLDSYB0K7UTpEH6TAcN30ff+MJw9w== - dependencies: - "@types/node" "*" - -"@types/glob@*": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" - integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== + version "4.0.15" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-4.0.15.tgz#82d70b4a2e5e3dd17474ce9e8fe951a03aeddd31" + integrity sha512-zU/EU2kZ1tv+p4pswQLntA7dFQq84wXrSCfmLjZvMbLjf4N46cPOWHg+WKfc27YnEOQ0chVFlBui55HRsvzHPA== dependencies: - "@types/minimatch" "^5.1.2" "@types/node" "*" "@types/google-protobuf@^3.7.2": - version "3.15.7" - resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.7.tgz#882e7351bc8ccf30bb21c507cc4597cf76f8888b" - integrity sha512-pIEMnb04J60c5eExVLUY/R4eWT5QEQ5cC792JOSfDI3kLjaKC4TjdgMp3xIrN1vxbi2Zk8LcscTm0VaNrIdniA== + version "3.15.12" + resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.12.tgz#eb2ba0eddd65712211a2b455dc6071d665ccf49b" + integrity sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ== "@types/hast@^2.0.0": - version "2.3.6" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.6.tgz#bb8b05602112a26d22868acb70c4b20984ec7086" - integrity sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg== + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== dependencies: "@types/unist" "^2" "@types/http-cache-semantics@*", "@types/http-cache-semantics@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz#abe102d06ccda1efdf0ed98c10ccf7f36a785a41" - integrity sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== "@types/http-errors@*": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.2.tgz#a86e00bbde8950364f8e7846687259ffcd96e8c2" - integrity sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== "@types/js-yaml@^3.12.2": - version "3.12.8" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.8.tgz#d47f0ceac930a644266001979d07d7b94808a5c8" - integrity sha512-6McoI148SFmiE2m2Y9lpzwN238grgzEn2J1mHoc8UWwDKvAUsjl100jjqoj5ORVqDwWuEmD+zlOES0+jI7fZCA== + version "3.12.10" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.10.tgz#4d80d0c7dfc570eb4f0be280cb2d67789f977ba5" + integrity sha512-/Mtaq/wf+HxXpvhzFYzrzCqNRcA958sW++7JOFC8nPrZcvfi/TrzOaaGbvt27ltJB2NQbHVAg5a1wUCsyMH7NA== "@types/jsdom@^21.1.1": - version "21.1.3" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.3.tgz#a88c5dc65703e1b10b2a7839c12db49662b43ff0" - integrity sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA== + version "21.1.7" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.7.tgz#9edcb09e0b07ce876e7833922d3274149c898cfa" + integrity sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA== dependencies: "@types/node" "*" "@types/tough-cookie" "*" parse5 "^7.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.13" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" - integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/keyv@^3.1.4": version "3.1.4" @@ -3006,9 +2962,9 @@ "@types/node" "*" "@types/linkify-it@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.3.tgz#15a0712296c5041733c79efe233ba17ae5a7587b" - integrity sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g== + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-5.0.0.tgz#21413001973106cda1c3a9b91eedd4ccd5469d76" + integrity sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q== "@types/lodash.debounce@4.0.3": version "4.0.3" @@ -3018,23 +2974,23 @@ "@types/lodash" "*" "@types/lodash.debounce@^4.0.6": - version "4.0.7" - resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.7.tgz#0285879defb7cdb156ae633cecd62d5680eded9f" - integrity sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA== + version "4.0.9" + resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz#0f5f21c507bce7521b5e30e7a24440975ac860a5" + integrity sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ== dependencies: "@types/lodash" "*" "@types/lodash.throttle@^4.1.3": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/lodash.throttle/-/lodash.throttle-4.1.7.tgz#4ef379eb4f778068022310ef166625f420b6ba58" - integrity sha512-znwGDpjCHQ4FpLLx19w4OXDqq8+OvREa05H89obtSyXyOFKL3dDjCslsmfBz0T2FU8dmf5Wx1QvogbINiGIu9g== + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/lodash.throttle/-/lodash.throttle-4.1.9.tgz#f17a6ae084f7c0117bd7df145b379537bc9615c5" + integrity sha512-PCPVfpfueguWZQB7pJQK890F2scYKoDUL3iM522AptHWn7d5NQmeS/LTEHIcLr5PaTzl3dK2Z0xSUHHTHwaL5g== dependencies: "@types/lodash" "*" "@types/lodash@*": - version "4.14.199" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.199.tgz#c3edb5650149d847a277a8961a7ad360c474e9bf" - integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== + version "4.17.16" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.16.tgz#94ae78fab4a38d73086e962d0b65c30d816bfb0a" + integrity sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g== "@types/markdown-it@^12.2.3": version "12.2.3" @@ -3045,26 +3001,21 @@ "@types/mdurl" "*" "@types/mdast@^3.0.0": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.13.tgz#b7ba6e52d0faeb9c493e32c205f3831022be4e1b" - integrity sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg== + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== dependencies: "@types/unist" "^2" "@types/mdurl@*": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.3.tgz#d0aefccdd1a96f4bec76047d6b314601f0b0f3de" - integrity sha512-T5k6kTXak79gwmIOaDF2UUQXFbnBE0zBUzF20pz7wDYu0RQMzWg+Ml/Pz50214NsFHBITkoi5VtdjFZnJ2ijjA== - -"@types/mime@*": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.2.tgz#c1ae807f13d308ee7511a5b81c74f327028e66e8" - integrity sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ== + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-2.0.0.tgz#d43878b5b20222682163ae6f897b20447233bdfd" + integrity sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg== "@types/mime@^1": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.3.tgz#bbe64987e0eb05de150c305005055c7ad784a9ce" - integrity sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg== + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/mime@^2.0.1": version "2.0.3" @@ -3076,57 +3027,54 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== -"@types/minimatch@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - "@types/minimist@^1.2.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.3.tgz#dd249cef80c6fff2ba6a0d4e5beca913e04e25f8" - integrity sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/mocha@^10.0.0": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.2.tgz#96d63314255540a36bf24da094cce7a13668d73b" - integrity sha512-NaHL0+0lLNhX6d9rs+NSt97WH/gIlRHmszXbQ/8/MV/eVcFNdeJ/GYhrFuUc8K7WuPhRhTSdMkCp8VMzhUq85w== + version "10.0.10" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== "@types/ms@*": - version "0.7.32" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.32.tgz#f6cd08939ae3ad886fcc92ef7f0109dacddf61ab" - integrity sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== "@types/multer@^1.4.7": - version "1.4.8" - resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.8.tgz#8d98c36f6a4e0b228a9f262cd66e881d7cd64039" - integrity sha512-VMZOW6mnmMMhA5m3fsCdXBwFwC+a+27/8gctNMuQC4f7UtWcF79KAFGoIfKZ4iqrElgWIa3j5vhMJDp0iikQ1g== + version "1.4.12" + resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.12.tgz#da67bd0c809f3a63fe097c458c0d4af1fea50ab7" + integrity sha512-pQ2hoqvXiJt2FP9WQVLPRO+AmiIm/ZYkavPlIQnx282u4ZrVdztx0pkh3jjpQt0Kz+YI0YhSG264y08UJKoUQg== dependencies: "@types/express" "*" "@types/node-fetch@^2.5.7": - version "2.6.6" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.6.tgz#b72f3f4bc0c0afee1c0bc9cff68e041d01e3e779" - integrity sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw== + version "2.6.12" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03" + integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== dependencies: "@types/node" "*" form-data "^4.0.0" -"@types/node@*", "@types/node@>=10.0.0", "@types/node@>=12.12.47", "@types/node@>=13.7.0": - version "20.8.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.4.tgz#0e9ebb2ff29d5c3302fc84477d066fa7c6b441aa" - integrity sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A== +"@types/node@*", "@types/node@>=10.0.0", "@types/node@>=13.7.0": + version "22.13.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.10.tgz#df9ea358c5ed991266becc3109dc2dc9125d77e4" + integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw== dependencies: - undici-types "~5.25.1" + undici-types "~6.20.0" -"@types/node@^18.11.18": - version "18.18.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.4.tgz#519fef47a13cf869be290c20fc6ae9b7fe887aa7" - integrity sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ== +"@types/node@^20.9.0": + version "20.17.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.24.tgz#2325476954e6fc8c2f11b9c61e26ba6eb7d3f5b6" + integrity sha512-d7fGCyB96w9BnWQrOsJtpyiSaBcAYYr75bnK6ZRjDbql2cGLj/3GsL5OYmLPNq76l7Gf2q4Rv9J2o6h5CrD9sA== + dependencies: + undici-types "~6.19.2" "@types/normalize-package-data@^2.4.0": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz#9b0e3e8533fe5024ad32d6637eb9589988b6fdca" - integrity sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== "@types/p-queue@^2.3.1": version "2.3.2" @@ -3134,128 +3082,105 @@ integrity sha512-eKAv5Ql6k78dh3ULCsSBxX6bFNuGjTmof5Q/T6PiECDq0Yf8IIn46jCyp3RJvCi8owaEmm3DZH1PEImjBMd/vQ== "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/plist@^3.0.1": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.3.tgz#8571d797ed09e0ee2700f7e40bbdec7fd80966ef" - integrity sha512-DXkBoKc7jwUR0p439icInmXXMJNhoImdpOrrgA5/nDFK7LVtcJ9MyQNKhJEKpEztnHGWnNWMWLOIR62By0Ln0A== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.5.tgz#9a0c49c0f9886c8c8696a7904dd703f6284036e0" + integrity sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA== dependencies: "@types/node" "*" xmlbuilder ">=11.0.1" "@types/prop-types@*", "@types/prop-types@^15.0.0": - version "15.7.8" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3" - integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ== + version "15.7.14" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2" + integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== "@types/ps-tree@^1.1.0": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@types/ps-tree/-/ps-tree-1.1.3.tgz#12a05ebbdc253ed2b2a6055560667e60814791d0" - integrity sha512-J8IrehehphLtxpABSekURTw9jthrlLcM4llH1I2fZ0zKaxq8jI/O1+Q/tabAJgBY/ffoqDxPRNYBM1lFUXm0lw== + version "1.1.6" + resolved "https://registry.yarnpkg.com/@types/ps-tree/-/ps-tree-1.1.6.tgz#fbb22dabe3d64b79295f37ce0afb7320a26ac9a6" + integrity sha512-PtrlVaOaI44/3pl3cvnlK+GxOM3re2526TJvPvh7W+keHIXdV4TE0ylpPBAcvFQCbGitaTXwL9u+RF7qtVeazQ== "@types/qs@*": - version "6.9.8" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.8.tgz#f2a7de3c107b89b441e071d5472e6b726b4adf45" - integrity sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg== + version "6.9.18" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.18.tgz#877292caa91f7c1b213032b34626505b746624c2" + integrity sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA== "@types/range-parser@*": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.5.tgz#38bd1733ae299620771bd414837ade2e57757498" - integrity sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA== - -"@types/react-dom@^18.0.6": - version "18.2.12" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.12.tgz#58479c463d1e0b7f1ee7cd80e09186189f9ec32d" - integrity sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg== - dependencies: - "@types/react" "*" + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react-tabs@^2.3.2": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/react-tabs/-/react-tabs-2.3.4.tgz#b63662ee52e59a86ec33b78b9721d8163a46394c" - integrity sha512-HQzhKW+RF/7h14APw/2cu4Nnt+GmsTvfBKbFdn/NbYpb8Q+iB65wIkPHz4VRKDxWtOpNFpOUtzt5r0LRmQMfOA== +"@types/react-dom@18.3.1", "@types/react-dom@^18.0.6": + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" + integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== dependencies: "@types/react" "*" "@types/react-transition-group@^4.4.0": - version "4.4.7" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.7.tgz#bf69f269d74aa78b99097673ca6dd6824a68ef1c" - integrity sha512-ICCyBl5mvyqYp8Qeq9B5G/fyBSRC0zx3XM3sCC6KkcMsNeAHqXBKkmat4GqdJET5jtYUpZXrxI5flve5qhi2Eg== - dependencies: - "@types/react" "*" + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== "@types/react-window@^1.8.5": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@types/react-window/-/react-window-1.8.6.tgz#4faba05b86abd36f40b612a5b02e28fadcf95c7c" - integrity sha512-AVJr3A5rIO9dQQu5TwTN0lP2c1RtuqyyZGCt7PGP8e5gUpn1PuQRMJb/u3UpdbwTHh4wbEi33UMW5NI0IXt1Mg== + version "1.8.8" + resolved "https://registry.yarnpkg.com/@types/react-window/-/react-window-1.8.8.tgz#c20645414d142364fbe735818e1c1e0a145696e3" + integrity sha512-8Ls660bHR1AUA2kuRvVG9D/4XpRC6wjAaPT9dil7Ckc76eP9TKWZwwmgfq8Q1LANX3QNDnoU4Zp48A3w+zK69Q== dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.0.15": - version "18.2.27" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.27.tgz#746e52b06f3ccd5d7a724fd53769b70792601440" - integrity sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw== +"@types/react@*", "@types/react@18.3.1", "@types/react@^18.0.15": + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.1.tgz#fed43985caa834a2084d002e4771e15dfcbdbe8e" + integrity sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw== dependencies: "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" "@types/responselike@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.1.tgz#1dd57e54509b3b95c7958e52709567077019d65d" - integrity sha512-TiGnitEDxj2X0j+98Eqk5lv/Cij8oHd32bU4D/Yw6AOq7vvTk0gSD2GPj0G/HkvhMoVsdlhYF4yqqlyPBTM6Sg== - dependencies: - "@types/node" "*" - -"@types/rimraf@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.5.tgz#368fb04d59630b727fc05a74d2ca557f64a8ef98" - integrity sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== dependencies: - "@types/glob" "*" "@types/node" "*" "@types/route-parser@^0.1.1": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@types/route-parser/-/route-parser-0.1.5.tgz#5fee03ea01d2d457603eab3e46f4fa52573fb5c8" - integrity sha512-W17Tv0Y3uecmsqisMC5HwobDSEy7RXQfBxnbcBnVP0f6QbxFWCK+dEtC0u259nZFRgTYXHKaKbZzCtMgiYYAqg== + version "0.1.7" + resolved "https://registry.yarnpkg.com/@types/route-parser/-/route-parser-0.1.7.tgz#76d324537c9f0aaf65c96588c6ab5f3b84ae1505" + integrity sha512-haO+3HVio/4w+yuMJTjqfSo0ivOV8WnXaOReVD6QN729UGBEyizWNGc2Jd0OLsJDucIod4aJSsPLBeLj2uzMCQ== "@types/safer-buffer@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/safer-buffer/-/safer-buffer-2.1.1.tgz#7d504d3d5b9cba87723543d0da3f47649d4feb52" - integrity sha512-L/QB8WCfXIRPguK8h3L+o1QO9b2NltRpj6y8dYusvzGPJhPZtw9lWYb9gmLvf30qS7j6cZ/wUBXXu36UEtH1XQ== + version "2.1.3" + resolved "https://registry.yarnpkg.com/@types/safer-buffer/-/safer-buffer-2.1.3.tgz#901b21c2da54344cf73a205fb5d400592a43b5fd" + integrity sha512-5o3RcpBa7mUFnnnoMa9UIGOf9naD4DCKKMYzqkm9OSY7NNTd26k7adNC+fphcVRI9BUJglBs2yJQiRZYqBF/8w== dependencies: "@types/node" "*" -"@types/scheduler@*": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf" - integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ== - "@types/semver@^7.3.12", "@types/semver@^7.3.6", "@types/semver@^7.5.0": - version "7.5.3" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" - integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== + 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.2" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.2.tgz#af78a4495e3c2b79bfbdac3955fdd50e03cc98f2" - integrity sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw== + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/serve-static@*": - version "1.15.3" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.3.tgz#2cfacfd1fd4520bbc3e292cca432d5e8e2e3ee61" - integrity sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg== + version "1.15.7" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" + integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== dependencies: "@types/http-errors" "*" - "@types/mime" "*" "@types/node" "*" + "@types/send" "*" "@types/tar-fs@^1.16.1": version "1.16.3" @@ -3266,9 +3191,9 @@ "@types/tar-stream" "*" "@types/tar-stream@*": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@types/tar-stream/-/tar-stream-3.1.1.tgz#a0d936ec27c732e5287a84055b849637ee609974" - integrity sha512-/1E+a09mAFQwhlEHqiS3LuNWIBiyrn0HqUWZk2IyGzodu9zkXbaT5vl94iGlZGnG2IONVFZd84SFhns3MhhAQQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/tar-stream/-/tar-stream-3.1.3.tgz#f61427229691eda1b7d5719f34acdc4fc8a558ce" + integrity sha512-Zbnx4wpkWBMBSu5CytMbrT5ZpMiF55qgM+EpHzR4yIDu7mv52cej8hTkOc6K+LzpkOAbxwn/m7j3iO+/l42YkQ== dependencies: "@types/node" "*" @@ -3280,64 +3205,63 @@ "@types/node" "*" "@types/tough-cookie@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" - integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/trusted-types@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.4.tgz#2b38784cd16957d3782e8e2b31c03bc1d13b4d65" - integrity sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ== + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== "@types/unist@^2", "@types/unist@^2.0.0": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.8.tgz#bb197b9639aa1a04cf464a617fe800cccd92ad5c" - integrity sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== -"@types/uuid@^7.0.3": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-7.0.6.tgz#455e838428ae709f82c85c677dcf5115f2061ac1" - integrity sha512-U/wu4HTp6T2dUmKqDtOUKS9cYhawuf8txqKF3Jp1iMDG8fP5HtjSldcN0g4m+/h7XHU1to1/HDCT0qeeUiu0EA== +"@types/uuid@^9.0.8": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@types/verror@^1.10.3": - version "1.10.7" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.7.tgz#7e2ee21514355a7ae354fa151d96856d18531f72" - integrity sha512-4c5F4T0qMSoXq1KHx7WV1FMuD2h0xdaFoJ7HSVWUfQ8w5YbqCwLOA8K7/yy1I+Txuzvm417dnPUaLmqazX1F7g== + version "1.10.11" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.11.tgz#d3d6b418978c8aa202d41e5bb3483227b6ecc1bb" + integrity sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg== "@types/vscode@^1.78.0": - version "1.83.0" - resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.83.0.tgz#f787d1d94d0b258b9bb97947396b47c1d364e90f" - integrity sha512-3mUtHqLAVz9hegut9au4xehuBrzRE3UJiQMpoEHkNl6XHliihO7eATx2BMHs0odsmmrwjJrlixx/Pte6M3ygDQ== + version "1.98.0" + resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.98.0.tgz#5b6fa5bd99ba15313567d3847fb1177832fee08c" + integrity sha512-+KuiWhpbKBaG2egF+51KjbGWatTH5BbmWQjSLMDCssb4xF8FJnW4nGH4nuAdOOfMbpD0QlHtI+C3tPq+DoKElg== "@types/write-json-file@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@types/write-json-file/-/write-json-file-2.2.1.tgz#74155aaccbb0d532be21f9d66bebc4ea875a5a62" integrity sha512-JdO/UpPm9RrtQBNVcZdt3M7j3mHO/kXaea9LBGx3UgWJd1f9BkIWP7jObLBG6ZtRyqp7KzLFEsaPhWcidVittA== -"@types/ws@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-5.1.2.tgz#f02d3b1cd46db7686734f3ce83bdf46c49decd64" - integrity sha512-NkTXUKTYdXdnPE2aUUbGOXE1XfMK527SCvU/9bj86kyFF6kZ9ZnOQ3mK5jADn98Y2vEUD/7wKDgZa7Qst2wYOg== +"@types/ws@^8.5.5": + version "8.18.0" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.0.tgz#8a2ec491d6f0685ceaab9a9b7ff44146236993b5" + integrity sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw== dependencies: - "@types/events" "*" "@types/node" "*" "@types/yargs-parser@*": - version "21.0.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.1.tgz#07773d7160494d56aa882d7531aac7319ea67c3b" - integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^15": - version "15.0.16" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.16.tgz#258009dc52907e8f03041eb64ffdac297ba4b208" - integrity sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg== + version "15.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" + integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== dependencies: "@types/yargs-parser" "*" "@types/yauzl@^2.9.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.1.tgz#4e8f299f0934d60f36c74f59cb5a8483fd786691" - integrity sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw== + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== dependencies: "@types/node" "*" @@ -3425,6 +3349,11 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@ungap/structured-clone@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== + "@virtuoso.dev/react-urx@^0.2.12": version "0.2.13" resolved "https://registry.yarnpkg.com/@virtuoso.dev/react-urx/-/react-urx-0.2.13.tgz#e2cfc42d259d2a002695e7517d34cb97b64ee9c4" @@ -3438,14 +3367,14 @@ integrity sha512-iirJNv92A1ZWxoOHHDYW/1KPoi83939o83iUBQHIim0i3tMeSKEh+bxhJdTHQ86Mr4uXx9xGUTq69cp52ZP8Xw== "@vscode/codicons@*": - version "0.0.33" - resolved "https://registry.yarnpkg.com/@vscode/codicons/-/codicons-0.0.33.tgz#a56243ab5492801fff04e53c0aab0d18a6521751" - integrity sha512-VdgpnD75swH9hpXjd34VBgQ2w2quK63WljodlUcOoJDPKiV+rPjHrcUc2sjLCNKxhl6oKqmsZgwOWcDAY2GKKQ== + version "0.0.36" + resolved "https://registry.yarnpkg.com/@vscode/codicons/-/codicons-0.0.36.tgz#ccdabfaef5db596b266644ab85fc25aa701058f0" + integrity sha512-wsNOvNMMJ2BY8rC2N2MNBG7yOowV3ov8KlvUE/AiVUlHKTfWsw3OgAOQduX7h0Un6GssKD3aoTVH+TF3DSQwKQ== "@vscode/debugprotocol@^1.51.0": - version "1.63.0" - resolved "https://registry.yarnpkg.com/@vscode/debugprotocol/-/debugprotocol-1.63.0.tgz#f6d16c382765d2533e515939ac2857aa1ed7ba35" - integrity sha512-7gewwv69pA7gcJUhtJsru5YN7E1AwwnlBrF5mJY4R/NGInOUqOYOWHlqQwG+4AXn0nXWbcn26MHgaGI9Q26SqA== + version "1.68.0" + resolved "https://registry.yarnpkg.com/@vscode/debugprotocol/-/debugprotocol-1.68.0.tgz#e558ba6affe1be7aff4ec824599f316b61d9a69d" + integrity sha512-2J27dysaXmvnfuhFGhfeuxfHRXunqNPxtBoR3koiTOA9rdxWNDTa1zIFLCFMSHJ9MPTPKFcBeblsyaCJCIlQxg== "@vscode/proxy-agent@^0.13.2": version "0.13.2" @@ -3462,139 +3391,140 @@ "@vscode/windows-ca-certs" "^0.3.1" "@vscode/ripgrep@^1.14.2": - version "1.15.5" - resolved "https://registry.yarnpkg.com/@vscode/ripgrep/-/ripgrep-1.15.5.tgz#26025884bbc3a8b40dfc29f5bda4b87b47bd7356" - integrity sha512-PVvKNEmtnlek3i4MJMaB910dz46CKQqcIY2gKR3PSlfz/ZPlSYuSuyQMS7iK20KL4hGUdSbWt964B5S5EIojqw== + version "1.15.11" + resolved "https://registry.yarnpkg.com/@vscode/ripgrep/-/ripgrep-1.15.11.tgz#31d49e8edae86cd6bab3017f1b2088bdb48dfc4e" + integrity sha512-G/VqtA6kR50mJkIH4WA+I2Q78V5blovgPPq0VPYM0QIRp57lYMkdV+U9VrY80b3AvaC72A1z8STmyxc8ZKiTsw== dependencies: - https-proxy-agent "^5.0.0" + https-proxy-agent "^7.0.2" proxy-from-env "^1.1.0" + yauzl "^2.9.2" "@vscode/windows-ca-certs@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@vscode/windows-ca-certs/-/windows-ca-certs-0.3.1.tgz#35c88b2d2a52f7759bfb6878906c3d40421ec6a3" - integrity sha512-1B6hZAsqg125wuMsXiKIFkBgKx/J7YR4RT/ccYGkWAToPU9MVa40PRe+evLFUmLPH6NmPohEPlCzZLbqgvHCcQ== + version "0.3.3" + resolved "https://registry.yarnpkg.com/@vscode/windows-ca-certs/-/windows-ca-certs-0.3.3.tgz#7943d78db7d1d99bcd82eb8a0765a870b111d003" + integrity sha512-C0Iq5RcH+H31GUZ8bsMORsX3LySVkGAqe4kQfUSVcCqJ0QOhXkhgwUMU7oCiqYLXaQWyXFp6Fj6eMdt05uK7VA== dependencies: - node-addon-api "^3.0.2" + node-addon-api "^8.2.0" -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.0.3": @@ -3741,6 +3671,13 @@ abbrev@1, abbrev@^1.0.0: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +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" + accepts@~1.3.4, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -3757,31 +3694,33 @@ acorn-globals@^7.0.0: acorn "^8.1.0" acorn-walk "^8.0.2" -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" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.2: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" -acorn@^8.1.0, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== +acorn@^8.1.0, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.8.2, acorn@^8.9.0: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== add-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== +advanced-mark.js@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/advanced-mark.js/-/advanced-mark.js-2.6.0.tgz#86ea8b81152b543db91b1602df4e69282c3b0083" + integrity sha512-b6Q7iNkXk1BTUvmbvtig+/p3Z54qDQqOoOKPJUZXYtCdgeZPz/qj9xZs6GKKQA2/OIOrlNwSt/OvyIq06eYPVw== + agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -3789,10 +3728,15 @@ agent-base@6, agent-base@^6.0.2: dependencies: debug "4" +agent-base@^7.1.0, agent-base@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" + integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== + agentkeepalive@^4.2.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + version "4.6.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz#35f73e94b3f40bf65f105219c623ad19c136ea6a" + integrity sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ== dependencies: humanize-ms "^1.2.1" @@ -3842,26 +3786,21 @@ ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.5.3: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.6.3, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" anser@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/anser/-/anser-2.1.1.tgz#8afae28d345424c82de89cc0e4d1348eb0c5af7c" - integrity sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ== - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + version "2.3.2" + resolved "https://registry.yarnpkg.com/anser/-/anser-2.3.2.tgz#e2da9d10759a4243a5819595f4f46ec369970c5b" + integrity sha512-PMqBCBvrOVDRqLGooQb+z+t1Q0PiPyurUQeZRR5uHBOVZcW8B04KMmnT12USnhpNX2wCPagWzLVppQMUG3u0Dw== -ansi-colors@^4.1.1: +ansi-colors@^4.1.1, ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== @@ -3884,16 +3823,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" @@ -3925,26 +3857,25 @@ app-builder-bin@4.0.0: resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0" integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA== -app-builder-lib@24.6.4: - version "24.6.4" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.6.4.tgz#5bf77dd89d3ee557bc615b9ddfaf383f3e51577b" - integrity sha512-m9931WXb83teb32N0rKg+ulbn6+Hl8NV5SUpVDOVz9MWOXfhV6AQtTdftf51zJJvCQnQugGtSqoLvgw6mdF/Rg== +app-builder-lib@24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.13.3.tgz#36e47b65fecb8780bb73bff0fee4e0480c28274b" + integrity sha512-FAzX6IBit2POXYGnTCT8YHFO/lr5AapAII6zzhQO3Rw4cEDOgK+t1xhLc5tNcKlicTHlo9zxIwnYCX9X2DLkig== dependencies: - "7zip-bin" "~5.1.1" "@develar/schema-utils" "~2.6.5" - "@electron/notarize" "2.1.0" + "@electron/notarize" "2.2.1" "@electron/osx-sign" "1.0.5" - "@electron/universal" "1.4.1" + "@electron/universal" "1.5.1" "@malept/flatpak-bundler" "^0.4.0" "@types/fs-extra" "9.0.13" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "24.5.0" - builder-util-runtime "9.2.1" + builder-util "24.13.1" + builder-util-runtime "9.2.4" chromium-pickle-js "^0.2.0" debug "^4.3.4" ejs "^3.1.8" - electron-publish "24.5.0" + electron-publish "24.13.1" form-data "^4.0.0" fs-extra "^10.1.0" hosted-git-info "^4.1.0" @@ -3980,17 +3911,9 @@ arduino-serial-plotter-webapp@0.2.0: integrity sha512-AxQIsKr6Mf8K1c3kj+ojjFvE9Vz8cUqJqRink6/myp/ranEGwsQQ83hziktkPKZvBQshqrMH8nzoGIY2Z3A2OA== ardunno-cli@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ardunno-cli/-/ardunno-cli-0.1.3.tgz#d86fd3e33a31c3fa3287017eee08537617446500" - integrity sha512-ijOX990uZJ7Di6iv+heFK4FrYzSbW2NkGBssM2ttolFkr0LHDcZNpF3CPonvenLY54TdD6VWcqQ4Gg9xvuWhAg== - dependencies: - nice-grpc-common "^2.0.2" - protobufjs "^7.2.3" - -ardunno-cli@^0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/ardunno-cli/-/ardunno-cli-0.1.8.tgz#c70b11b2ee0256227689079d01b828328bb1bfb6" - integrity sha512-DfyI98EFHdpc26nPYq2IXK6ZNypwBY0Fg+CAjYeGI/mjgQ1O9QUjNgz6NADwr+pcQ/ikhvLc88Ud9qR08CFTyg== + version "0.1.11" + resolved "https://registry.yarnpkg.com/ardunno-cli/-/ardunno-cli-0.1.11.tgz#776b3f4d4c21088b4c69eaf1c05da0f941e1041f" + integrity sha512-B8MtDWXwynLYx4d+GvXZ8Vzo7//mN6PgwP0RSAGgIyv0b3Gn4DQZWSnyhYMZE4Y/oagL05SZrUvHVtZPqBX14w== dependencies: nice-grpc-common "^2.0.2" protobufjs "^7.2.3" @@ -4031,13 +3954,13 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bound "^1.0.3" + is-array-buffer "^3.0.5" array-differ@^3.0.0: version "3.0.0" @@ -4054,15 +3977,16 @@ array-ify@^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-includes@^3.1.6: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" is-string "^1.0.7" array-union@^1.0.1: @@ -4082,49 +4006,61 @@ array-uniq@^1.0.1: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + array.prototype.flat@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -array.prototype.flatmap@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== +array.prototype.flatmap@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" arrify@^1.0.1: version "1.0.1" @@ -4156,6 +4092,13 @@ ast-types@0.9.6: resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" integrity sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ== +ast-types@^0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + ast-types@^0.9.2: version "0.9.14" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.14.tgz#d34ba5dffb9d15a44351fd2a9d82e4ab2838b5ba" @@ -4171,6 +4114,11 @@ async-exit-hook@^2.0.1: resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + async-mutex@^0.3.0, async-mutex@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.3.2.tgz#1485eda5bda1b0ec7c8df1ac2e815757ad1831df" @@ -4179,23 +4127,16 @@ async-mutex@^0.3.0, async-mutex@^0.3.1: tslib "^2.3.1" async-mutex@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.0.tgz#ae8048cd4d04ace94347507504b3cf15e631c25f" - integrity sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA== + version "0.4.1" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" + integrity sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA== dependencies: tslib "^2.4.0" -async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== - dependencies: - has-symbols "^1.0.3" +async@^3.2.3, async@^3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== asynckit@^0.4.0: version "0.4.0" @@ -4213,12 +4154,12 @@ atomically@^1.7.0: integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w== auth0-js@^9.23.2: - version "9.23.2" - resolved "https://registry.yarnpkg.com/auth0-js/-/auth0-js-9.23.2.tgz#9760dc207c074995efd6fbc4d7b585e05709c85b" - integrity sha512-RiUBalXymeGjF0Ap/IyjKnsILO44eaFrSJDqchox6wUUWnJATGjEQLMTLzjWn8R1wZVKBGu1Fv7PPSViWhcYVQ== + version "9.28.0" + resolved "https://registry.yarnpkg.com/auth0-js/-/auth0-js-9.28.0.tgz#f9d3f0ddf865d4e34f1befb0eacfaa6785ca2f9e" + integrity sha512-2xIfQIGM0vX3IdPR91ztLO2+Ar2I5+3iFKcjuZO+LV9vRh4Wje+Ka1hnHjMU9dH892Lm3ZxBAHxRo68YToUhfg== dependencies: base64-js "^1.5.1" - idtoken-verifier "^2.2.2" + idtoken-verifier "^2.2.4" js-cookie "^2.2.0" minimist "^1.2.5" qs "^6.10.1" @@ -4231,46 +4172,34 @@ autosize@^4.0.2: resolved "https://registry.yarnpkg.com/autosize/-/autosize-4.0.4.tgz#924f13853a466b633b9309330833936d8bccce03" integrity sha512-5yxLQ22O0fCRGoxGfeLSNt3J8LB1v+umtpMnPW6XjkTWXKoN0AmXAIhelJcDtFT/Y/wYWmfE+oqU10Q0b8FhaQ== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -available-typed-arrays@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" - integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== - -axios@^1.0.0: - version "1.6.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" - integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== dependencies: - follow-redirects "^1.15.4" - form-data "^4.0.0" - proxy-from-env "^1.1.0" + possible-typed-array-names "^1.0.0" -axios@^1.6.7, axios@^1.7.4: - version "1.7.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" - integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== +axios@^1.0.0, axios@^1.6.7, axios@^1.7.4: + version "1.8.3" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.3.tgz#9ebccd71c98651d547162a018a1a95a4b4ed4de8" + integrity sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" proxy-from-env "^1.1.0" b4a@^1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" - integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== + version "1.6.7" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" + integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== babel-loader@^8.2.2: - version "8.3.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" - integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + version "8.4.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.4.1.tgz#6ccb75c66e62c3b144e1c5f2eaec5b8f6c08c675" + integrity sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA== dependencies: find-cache-dir "^3.3.1" - loader-utils "^2.0.0" + loader-utils "^2.0.4" make-dir "^3.1.0" schema-utils "^2.6.5" @@ -4283,29 +4212,29 @@ babel-plugin-macros@^3.1.0: cosmiconfig "^7.0.0" resolve "^1.19.0" -babel-plugin-polyfill-corejs2@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c" - integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg== +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.12" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" + integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz#1fac2b1dcef6274e72b3c72977ed8325cb330591" - integrity sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg== +babel-plugin-polyfill-corejs3@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" + integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" - core-js-compat "^3.32.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" + core-js-compat "^3.40.0" -babel-plugin-polyfill-regenerator@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326" - integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" + integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" bail@^2.0.0: version "2.0.2" @@ -4317,6 +4246,39 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +bare-events@^2.0.0, bare-events@^2.2.0: + version "2.5.4" + resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.5.4.tgz#16143d435e1ed9eafd1ab85f12b89b3357a41745" + integrity sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA== + +bare-fs@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-4.0.1.tgz#85844f34da819c76754d545323a8b23ed3617c76" + integrity sha512-ilQs4fm/l9eMfWY2dY0WCIUplSUp7U0CT1vrqMg1MUdeZl4fypu5UP0XcDBK5WBQPJAKP1b7XEodISmekH/CEg== + dependencies: + bare-events "^2.0.0" + bare-path "^3.0.0" + bare-stream "^2.0.0" + +bare-os@^3.0.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/bare-os/-/bare-os-3.6.0.tgz#1465dd7e1bebe0dec230097a23ad00f7db51f957" + integrity sha512-BUrFS5TqSBdA0LwHop4OjPJwisqxGy6JsWVqV6qaFoe965qqtaKfDzHY5T2YA1gUL0ZeeQeA+4BBc1FJTcHiPw== + +bare-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bare-path/-/bare-path-3.0.0.tgz#b59d18130ba52a6af9276db3e96a2e3d3ea52178" + integrity sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw== + dependencies: + bare-os "^3.0.1" + +bare-stream@^2.0.0: + version "2.6.5" + resolved "https://registry.yarnpkg.com/bare-stream/-/bare-stream-2.6.5.tgz#bba8e879674c4c27f7e27805df005c15d7a2ca07" + integrity sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA== + dependencies: + streamx "^2.21.0" + base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -4327,6 +4289,18 @@ base64id@2.0.0, base64id@~2.0.0: resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + +basic-ftp@^5.0.2: + version "5.0.5" + resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.0.5.tgz#14a474f5fffecca1f4f406f1c26b18f800225ac0" + integrity sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg== + before-after-hook@^2.2.0: version "2.2.3" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" @@ -4342,9 +4316,9 @@ bent@^7.1.0: is-stream "^2.0.0" big-integer@^1.6.17: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + version "1.6.52" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== big.js@^5.2.2: version "5.2.2" @@ -4352,9 +4326,9 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== binary@~0.3.0: version "0.3.0" @@ -4405,28 +4379,10 @@ bluebird@~3.4.1: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -body-parser@^1.17.2, body-parser@^1.18.3: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== +body-parser@1.20.3, body-parser@^1.17.2, body-parser@^1.18.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" content-type "~1.0.5" @@ -4436,7 +4392,7 @@ body-parser@^1.17.2, body-parser@^1.18.3: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" + qs "6.13.0" raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -4461,27 +4417,27 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" -browser-stdout@1.3.1: +browser-stdout@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.14.5, browserslist@^4.21.9, browserslist@^4.22.1: - version "4.22.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" - integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== +browserslist@^4.24.0, browserslist@^4.24.4: + version "4.24.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" + integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== dependencies: - caniuse-lite "^1.0.30001541" - electron-to-chromium "^1.4.535" - node-releases "^2.0.13" - update-browserslist-db "^1.0.13" + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" + update-browserslist-db "^1.1.1" btoa@^1.2.1: version "1.2.1" @@ -4555,24 +4511,24 @@ builder-util-runtime@8.9.2: debug "^4.3.2" sax "^1.2.4" -builder-util-runtime@9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.1.tgz#3184dcdf7ed6c47afb8df733813224ced4f624fd" - integrity sha512-2rLv/uQD2x+dJ0J3xtsmI12AlRyk7p45TEbE/6o/fbb633e/S3pPgm+ct+JHsoY7r39dKHnGEFk/AASRFdnXmA== +builder-util-runtime@9.2.4: + version "9.2.4" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.4.tgz#13cd1763da621e53458739a1e63f7fcba673c42a" + integrity sha512-upp+biKpN/XZMLim7aguUyW8s0FUpDvOtK6sbanMFDAMBzpHDqdhgVYm6zc9HJ6nWo7u2Lxk60i2M6Jd3aiNrA== dependencies: debug "^4.3.4" sax "^1.2.4" -builder-util@24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.5.0.tgz#8683c9a7a1c5c9f9a4c4d2789ecca0e47dddd3f9" - integrity sha512-STnBmZN/M5vGcv01u/K8l+H+kplTaq4PAIn3yeuufUKSpcdro0DhJWxPI81k5XcNfC//bjM3+n9nr8F9uV4uAQ== +builder-util@24.13.1: + version "24.13.1" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.13.1.tgz#4a4c4f9466b016b85c6990a0ea15aa14edec6816" + integrity sha512-NhbCSIntruNDTOVI9fdXz0dihaqX2YuE1D6zZMrwiErzH4ELZHE6mdiB40wEgZNprDia+FghRFgKoAqMZRRjSA== dependencies: - "7zip-bin" "~5.1.1" + "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" app-builder-bin "4.0.0" bluebird-lst "^1.0.9" - builder-util-runtime "9.2.1" + builder-util-runtime "9.2.4" chalk "^4.1.2" cross-spawn "^7.0.3" debug "^4.3.4" @@ -4591,9 +4547,9 @@ builtins@^1.0.3: integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== builtins@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + version "5.1.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" + integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== dependencies: semver "^7.0.0" @@ -4619,6 +4575,30 @@ bytesish@^0.4.1: resolved "https://registry.yarnpkg.com/bytesish/-/bytesish-0.4.4.tgz#f3b535a0f1153747427aee27256748cff92347e6" integrity sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ== +cacache@^16.1.0: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + cacache@^17.0.0: version "17.1.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.1.4.tgz#b3ff381580b47e85c6e64f801101508e26604b35" @@ -4673,34 +4653,31 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" -call-bind@^1.0.0, call-bind@^1.0.2: +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -call-bind@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.6.tgz#6c46675fc7a5e9de82d75a233d586c8b7ac0d931" - integrity sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg== + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.3" - set-function-length "^1.2.0" -call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== dependencies: + call-bind-apply-helpers "^1.0.0" es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0: version "3.1.0" @@ -4734,10 +4711,10 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001541: - version "1.0.30001547" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz#d4f92efc488aab3c7f92c738d3977c2a3180472b" - integrity sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA== +caniuse-lite@^1.0.30001688: + version "1.0.30001704" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001704.tgz#6644fe909d924ac3a7125e8a0ab6af95b1f32990" + integrity sha512-+L2IgBbV6gXB4ETf0keSvLr7JUrRVbIaB/lrQ1+z8mRcQiisG5k+lG6O4n6Y5q6f5EuNfaYXKgymucphlEXQew== capital-case@^1.0.4: version "1.0.4" @@ -4753,10 +4730,10 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -chai@^4.2.0: - version "4.3.10" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" - integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== +chai@^4.2.0, chai@^4.3.10: + version "4.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" + integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== dependencies: assertion-error "^1.1.0" check-error "^1.0.3" @@ -4764,7 +4741,7 @@ chai@^4.2.0: get-func-name "^2.0.2" loupe "^2.3.6" pathval "^1.1.1" - type-detect "^4.0.8" + type-detect "^4.1.0" chainsaw@~0.1.0: version "0.1.0" @@ -4789,15 +4766,6 @@ chalk@4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -4846,10 +4814,10 @@ chmodr@^1.2.0: resolved "https://registry.yarnpkg.com/chmodr/-/chmodr-1.2.0.tgz#720e96caa09b7f1cdbb01529b7d0ab6bc5e118b9" integrity sha512-Y5uI7Iq/Az6HgJEL6pdw7THVd7jbVOTPwsmcPOBjQL8e3N+pz872kzK5QxYGEy21iRys+iHWV0UZQXDFJo1hyA== -chokidar@3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -4872,16 +4840,18 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== -chromium-bidi@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.4.4.tgz#44f25d4fa5d2f3debc3fc3948d0657194cac4407" - integrity sha512-4BX5cSaponuvVT1+SbLYTOAgDoVtX/Khoc9UsbFJ/AsPVUeFAM3RiIDFI6XFhLYMi9WmVJqh1ZH+dRpNKkKwiQ== +chromium-bidi@0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.6.4.tgz#627d76bae2819d59b61a413babe9664e0a16b71d" + integrity sha512-8zoq6ogmhQQkAKZVKO2ObFTl4uOkqoX1PlKQX3hZQ5E9cbUotcAb7h4pTNVAGGv8Z36PF3CtdOriEp/Rz82JqQ== dependencies: - mitt "3.0.0" + mitt "3.0.1" + urlpattern-polyfill "10.0.0" + zod "3.23.8" chromium-pickle-js@^0.2.0: version "0.2.0" @@ -4893,15 +4863,15 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.2.0, ci-info@^3.6.1: +ci-info@^3.2.0, ci-info@^3.6.1, ci-info@^3.7.0: version "3.9.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== classnames@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== clean-stack@^2.0.0: version "2.2.0" @@ -4928,9 +4898,9 @@ cli-spinners@2.6.1: integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== cli-spinners@^2.5.0: - version "2.9.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" - integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-truncate@2.1.0, cli-truncate@^2.1.0: version "2.1.0" @@ -5017,10 +4987,10 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" -clsx@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== +clsx@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== cmd-shim@6.0.1: version "6.0.1" @@ -5032,13 +5002,6 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -5046,11 +5009,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -5135,9 +5093,9 @@ compare-version@^0.1.2: integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A== component-emitter@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== compression-webpack-plugin@^9.0.0: version "9.2.0" @@ -5194,12 +5152,12 @@ conf@^10.2.0: semver "^7.3.5" config-file-ts@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.4.tgz#6c0741fbe118a7cf786c65f139030f0448a2cc99" - integrity sha512-cKSW0BfrSaAUnxpgvpXPLaaW/umg4bqg4k3GO1JqlRfpx+d5W0GDXznCMkWotJQek5Mmz1MJVChQnz3IVaeMZQ== + version "0.2.6" + resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.6.tgz#b424ff74612fb37f626d6528f08f92ddf5d22027" + integrity sha512-6boGVaglwblBgJqGyxm4+xCmEGcWgnWHSWHY5jad58awQhB6gftq0G8HbzU39YqCIYHMLAiL1yjwiZ36m/CL8w== dependencies: - glob "^7.1.6" - typescript "^4.0.2" + glob "^10.3.10" + typescript "^5.3.3" console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: version "1.1.0" @@ -5315,16 +5273,21 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== -cookie@^0.4.0, cookie@~0.4.1: +cookie@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@~0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== + cookiejar@^2.1.3: version "2.1.4" resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" @@ -5350,12 +5313,12 @@ copy-webpack-plugin@^8.1.1: schema-utils "^3.0.0" serialize-javascript "^5.0.1" -core-js-compat@^3.31.0, core-js-compat@^3.32.2: - version "3.33.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.0.tgz#24aa230b228406450b2277b7c8bfebae932df966" - integrity sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw== +core-js-compat@^3.40.0: + version "3.41.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.41.0.tgz#4cdfce95f39a8f27759b667cf693d96e5dda3d17" + integrity sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A== dependencies: - browserslist "^4.22.1" + browserslist "^4.24.4" core-util-is@1.0.2: version "1.0.2" @@ -5375,15 +5338,10 @@ cors@~2.8.5: object-assign "^4" vary "^1" -cosmiconfig@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" - integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== - dependencies: - import-fresh "^3.2.1" - js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" + integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: version "7.1.0" @@ -5406,6 +5364,16 @@ cosmiconfig@^8.2.0: parse-json "^5.2.0" path-type "^4.0.0" +cosmiconfig@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== + dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + crc@^3.8.0: version "3.8.0" resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" @@ -5420,19 +5388,12 @@ cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-fetch@3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - cross-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3" + integrity sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q== dependencies: - node-fetch "^2.6.12" + node-fetch "^2.7.0" cross-spawn@^4.0.0: version "4.0.2" @@ -5442,33 +5403,33 @@ cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" -crypto-js@^4.1.1: +crypto-js@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== css-loader@^6.2.0: - version "6.8.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" - integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== + version "6.11.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== dependencies: icss-utils "^5.1.0" - postcss "^8.4.21" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.3" - postcss-modules-scope "^3.0.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.2.0" - semver "^7.3.8" + semver "^7.5.4" cssesc@^3.0.0: version "3.0.0" @@ -5483,9 +5444,9 @@ cssstyle@^3.0.0: rrweb-cssom "^0.6.0" csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== dargs@^7.0.0: version "7.0.0" @@ -5497,6 +5458,11 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== +data-uri-to-buffer@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz#8a58bb67384b261a38ef18bea1810cb01badd28b" + integrity sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== + data-urls@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4" @@ -5506,6 +5472,33 @@ data-urls@^4.0.0: whatwg-mimetype "^3.0.0" whatwg-url "^12.0.0" +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + dateformat@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" @@ -5530,12 +5523,12 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^3.1.0: version "3.2.7" @@ -5544,6 +5537,13 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: + 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" + decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" @@ -5563,14 +5563,14 @@ decamelize@^4.0.0: integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + version "10.5.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.5.0.tgz#0f371c7cf6c4898ce0afb09836db73cd82010f22" + integrity sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw== decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz#5d6ce68792808901210dac42a8e9853511e2b8bf" + integrity sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w== dependencies: character-entities "^2.0.0" @@ -5652,9 +5652,9 @@ dedent@0.7.0, dedent@^0.7.0: integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== deep-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + version "4.1.4" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" + integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== dependencies: type-detect "^4.0.0" @@ -5714,26 +5714,7 @@ defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-data-property@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.0.tgz#0db13540704e1d8d479a0656cf781267531b9451" - integrity sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-data-property@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.2.tgz#f3c33b4f0102360cd7c0f5f28700f5678510b63a" - integrity sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.2" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - -define-data-property@^1.1.4: +define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== @@ -5747,7 +5728,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -5756,6 +5737,15 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, de has-property-descriptors "^1.0.0" object-keys "^1.1.1" +degenerator@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5" + integrity sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== + dependencies: + ast-types "^0.13.4" + escodegen "^2.1.0" + esprima "^4.0.1" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -5796,20 +5786,20 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== -detect-libc@^2.0.0, detect-libc@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== +detect-libc@^2.0.0, detect-libc@^2.0.1, detect-libc@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -devtools-protocol@0.0.1094867: - version "0.0.1094867" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1094867.tgz#2ab93908e9376bd85d4e0604aa2651258f13e374" - integrity sha512-pmMDBKiRVjh0uKK6CT1WqZmM3hBVSgD+N2MrgyV1uNizAZMw4tx6i/RTc+/uCsKSCmg0xXx7arCP/OFcIwTsiQ== +devtools-protocol@0.0.1312386: + version "0.0.1312386" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1312386.tgz#5ab824d6f1669ec6c6eb0fba047e73601d969052" + integrity sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA== dezalgo@^1.0.4: version "1.0.4" @@ -5824,20 +5814,10 @@ diff-sequences@^29.6.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^3.4.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== +diff@^5.0.0, diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== dir-compare@^3.0.0: version "3.3.0" @@ -5861,14 +5841,14 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@24.6.4: - version "24.6.4" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.6.4.tgz#e19b8305f7e1ea0b4faaa30382c81b9d6de39863" - integrity sha512-BNcHRc9CWEuI9qt0E655bUBU/j/3wUCYBVKGu1kVpbN5lcUdEJJJeiO0NHK3dgKmra6LUUZlo+mWqc+OCbi0zw== +dmg-builder@24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.13.3.tgz#95d5b99c587c592f90d168a616d7ec55907c7e55" + integrity sha512-rcJUkMfnJpfCboZoOOPf4L29TRtEieHNOeAbYPWPxlaBw/Z1RKrRA86dOI9rwaI4tQSc/RD82zTNHprfUHXsoQ== dependencies: - app-builder-lib "24.6.4" - builder-util "24.5.0" - builder-util-runtime "9.2.1" + app-builder-lib "24.13.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" fs-extra "^10.1.0" iconv-lite "^0.6.2" js-yaml "^4.1.0" @@ -5932,15 +5912,10 @@ domexception@^4.0.0: dependencies: webidl-conversions "^7.0.0" -dompurify@^2.2.9: - version "2.4.7" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc" - integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ== - -dompurify@^2.4.7: - version "2.5.7" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.7.tgz#6e0d36b9177db5a99f18ade1f28579db5ab839d7" - integrity sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q== +dompurify@^2.2.9, dompurify@^2.4.7: + version "2.5.8" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.8.tgz#2809d89d7e528dc7a071dea440d7376df676f824" + integrity sha512-o1vSNgrmYMQObbSSvF/1brBYEQPHhV1+gsmrusO7/GXtp1T9rCS8cXFqVxK/9crT1jA6Ccv+5MTSjBNqr7Sovw== dot-case@^3.0.4: version "3.0.4" @@ -5980,9 +5955,9 @@ dotenv@^9.0.2: integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== dotenv@~16.3.1: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== + version "16.3.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" + integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== drivelist@^9.0.2, drivelist@^9.2.4: version "9.2.4" @@ -5994,6 +5969,15 @@ drivelist@^9.0.2, drivelist@^9.2.4: nan "^2.14.0" prebuild-install "^5.2.4" +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer2@~0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -6017,22 +6001,22 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== ejs@^3.1.7, ejs@^3.1.8: - version "3.1.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" - integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== dependencies: jake "^10.8.5" electron-builder@^24.6.4: - version "24.6.4" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.6.4.tgz#c51271e49b9a02c9a3ec444f866b6008c4d98a1d" - integrity sha512-uNWQoU7pE7qOaIQ6CJHpBi44RJFVG8OHRBIadUxrsDJVwLLo8Nma3K/EEtx5/UyWAQYdcK4nVPYKoRqBb20hbA== + version "24.13.3" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.13.3.tgz#c506dfebd36d9a50a83ee8aa32d803d83dbe4616" + integrity sha512-yZSgVHft5dNVlo31qmJAe4BVKQfFdwpRw7sFp1iQglDRCDD6r22zfRJuZlhtB5gp9FHUxCMEoWGq10SkCnMAIg== dependencies: - app-builder-lib "24.6.4" - builder-util "24.5.0" - builder-util-runtime "9.2.1" + app-builder-lib "24.13.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" chalk "^4.1.2" - dmg-builder "24.6.4" + dmg-builder "24.13.3" fs-extra "^10.1.0" is-ci "^3.0.0" lazy-val "^1.0.5" @@ -6048,14 +6032,14 @@ electron-notarize@^1.1.1: debug "^4.1.1" fs-extra "^9.0.1" -electron-publish@24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.5.0.tgz#492a4d7caa232e88ee3c18f5c3b4dc637e5e1b3a" - integrity sha512-zwo70suH15L15B4ZWNDoEg27HIYoPsGJUF7xevLJLSI7JUPC8l2yLBdLGwqueJ5XkDL7ucYyRZzxJVR8ElV9BA== +electron-publish@24.13.1: + version "24.13.1" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.13.1.tgz#57289b2f7af18737dc2ad134668cdd4a1b574a0c" + integrity sha512-2ZgdEqJ8e9D17Hwp5LEq5mLQPjqU3lv/IALvgp+4W8VeNhryfGhYEQC/PgDPMrnWUp+l60Ou5SJLsu+k4mhQ8A== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "24.5.0" - builder-util-runtime "9.2.1" + builder-util "24.13.1" + builder-util-runtime "9.2.4" chalk "^4.1.2" fs-extra "^10.1.0" lazy-val "^1.0.5" @@ -6082,17 +6066,17 @@ electron-rebuild@^3.2.7: yargs "^17.0.1" electron-store@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.1.0.tgz#46a398f2bd9aa83c4a9daaae28380e2b3b9c7597" - integrity sha512-2clHg/juMjOH0GT9cQ6qtmIvK183B39ZXR0bUoPwKwYHJsEF3quqyDzMFUAu+0OP8ijmN2CbPRAelhNbWUbzwA== + version "8.2.0" + resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.2.0.tgz#114e6e453e8bb746ab4ccb542424d8c881ad2ca1" + integrity sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw== dependencies: conf "^10.2.0" type-fest "^2.17.0" -electron-to-chromium@^1.4.535: - version "1.4.548" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.548.tgz#e695d769e0e801fa6d438b63f6bc9b80372000d6" - integrity sha512-R77KD6mXv37DOyKLN/eW1rGS61N6yHOfapNSX9w+y9DdPG83l9Gkuv7qkCFZ4Ta4JPhrjgQfYbv4Y3TnM1Hi2Q== +electron-to-chromium@^1.5.73: + version "1.5.118" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.118.tgz#064bda9bfea1611074288adb1fdd1f787a131e21" + integrity sha512-yNDUus0iultYyVoEFLnQeei7LOQkL8wg8GQpkPCRrOlJXlcCwa6eGKZkxQ9ciHsqZyYbj8Jd94X1CTPzGm+uIA== electron-updater@^4.6.5: version "4.6.5" @@ -6108,13 +6092,13 @@ electron-updater@^4.6.5: lodash.isequal "^4.5.0" semver "^7.3.5" -electron@^27.0.3: - version "27.0.3" - resolved "https://registry.yarnpkg.com/electron/-/electron-27.0.3.tgz#dc843d95700b33d88e71b458082b66f37ca901c5" - integrity sha512-VaB9cI1se+mUtz366NP+zxFVnkHLbCBNO4wwouw3FuGyX/m7/Bv1I89JhWOBv78tC+n11ZYMrVD23Jf6EZgVcg== +electron@30.1.2: + version "30.1.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-30.1.2.tgz#9c8b9b0d0e3f07783d8c5dbd9519b3ffd11f1551" + integrity sha512-A5CFGwbA+HSXnzwjc8fP2GIezBcAb0uN/VbNGLOW8DHOYn07rvJ/1bAJECHUUzt5zbfohveG3hpMQiYpbktuDw== dependencies: "@electron/get" "^2.0.0" - "@types/node" "^18.11.18" + "@types/node" "^20.9.0" extract-zip "^2.0.1" emoji-regex@^8.0.0: @@ -6137,6 +6121,11 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -6151,42 +6140,41 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -engine.io-client@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.2.tgz#8709e22c291d4297ae80318d3c8baeae71f0e002" - integrity sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg== +engine.io-client@~6.6.1: + version "6.6.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.6.3.tgz#815393fa24f30b8e6afa8f77ccca2f28146be6de" + integrity sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" engine.io-parser "~5.2.1" - ws "~8.11.0" - xmlhttprequest-ssl "~2.0.0" + ws "~8.17.1" + xmlhttprequest-ssl "~2.1.1" engine.io-parser@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" - integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ== + version "5.2.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== -engine.io@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.3.tgz#80b0692912cef3a417e1b7433301d6397bf0374b" - integrity sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw== +engine.io@~6.6.0: + version "6.6.4" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.6.4.tgz#0a89a3e6b6c1d4b0c2a2a637495e7c149ec8d8ee" + integrity sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g== dependencies: - "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" "@types/node" ">=10.0.0" accepts "~1.3.4" base64id "2.0.0" - cookie "~0.4.1" + cookie "~0.7.2" cors "~2.8.5" debug "~4.3.1" engine.io-parser "~5.2.1" - ws "~8.11.0" + ws "~8.17.1" -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== +enhanced-resolve@^5.17.1: + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -6206,7 +6194,7 @@ enquirer@~2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^4.4.0: +entities@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== @@ -6227,9 +6215,9 @@ envinfo@7.8.1: integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== envinfo@^7.7.3: - version "7.10.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13" - integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw== + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== err-code@^2.0.2: version "2.0.3" @@ -6250,57 +6238,67 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1: - version "1.22.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.2.tgz#90f7282d91d0ad577f505e423e52d4c1d93c1b8a" - integrity sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.1" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" +es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9: + version "1.23.9" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.9.tgz#5b45994b7de78dada5c1bebf1379646b32b9d606" + integrity sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.2.7" + get-proto "^1.0.0" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.12.3" + is-data-view "^1.0.2" + is-regex "^1.2.1" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.0" + math-intrinsics "^1.1.0" + object-inspect "^1.13.3" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.11" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.3" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.18" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" @@ -6322,55 +6320,65 @@ es-get-iterator@^1.1.3: isarray "^2.0.5" stop-iteration-iterator "^1.0.0" -es-iterator-helpers@^1.0.12: - version "1.0.15" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" - integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== +es-iterator-helpers@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#d1dd0f58129054c0ad922e6a9a1e65eef435fe75" + integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== dependencies: - asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - iterator.prototype "^1.1.2" - safe-array-concat "^1.0.1" + es-abstract "^1.23.6" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.6" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.4" + safe-array-concat "^1.1.3" es-module-lexer@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" - integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== + version "1.6.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" + integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== +es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== +es-shim-unscopables@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== dependencies: - has "^1.0.3" + hasown "^2.0.2" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" es6-error@^4.1.1: version "4.1.1" @@ -6382,10 +6390,10 @@ es6-promise@^4.2.4, es6-promise@^4.2.8: resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" @@ -6407,7 +6415,7 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escodegen@^2.0.0: +escodegen@^2.0.0, escodegen@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== @@ -6431,31 +6439,33 @@ eslint-plugin-prettier@^4.2.1: prettier-linter-helpers "^1.0.0" eslint-plugin-react-hooks@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + version "4.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" + integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react@^7.32.2: - version "7.33.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" + version "7.37.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz#1b6c80b6175b6ae4b26055ae4d55d04c414c7181" + integrity sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.3" + array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" + es-iterator-helpers "^1.2.1" estraverse "^5.3.0" + hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" + object.entries "^1.1.8" + object.fromentries "^2.0.8" + object.values "^1.2.1" prop-types "^15.8.1" - resolve "^2.0.0-next.4" + resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.8" + string.prototype.matchall "^4.0.12" + string.prototype.repeat "^1.0.0" eslint-plugin-unused-imports@^2.0.0: version "2.0.0" @@ -6491,17 +6501,18 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.39.0: - version "8.51.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3" - integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA== + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.51.0" - "@humanwhocodes/config-array" "^0.11.11" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -6553,9 +6564,9 @@ esprima@~3.1.0: integrity sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg== esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -6599,12 +6610,17 @@ event-stream@=3.3.4: stream-combiner "~0.0.4" through "~2.3.1" -eventemitter3@^4.0.4: +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== + +eventemitter3@^4.0.0, eventemitter3@^4.0.4: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.2.0: +events@^3.2.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -6703,41 +6719,41 @@ expand-template@^2.0.3: integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== exponential-backoff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" - integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.2.tgz#a8f26adb96bf78e8cd8ad1037928d5e5c0679d91" + integrity sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA== -express@^4.16.3: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== +express@^4.21.0: + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.5.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -6773,7 +6789,7 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extract-zip@2.0.1, extract-zip@^2.0.1: +extract-zip@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== @@ -6799,21 +6815,21 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-fifo@^1.1.0, fast-fifo@^1.2.0: +fast-fifo@^1.2.0, fast-fifo@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== fast-glob@^3.2.5, fast-glob@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" @@ -6835,15 +6851,20 @@ fast-safe-stringify@^2.1.1: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + fastest-levenshtein@^1.0.12: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" @@ -6882,9 +6903,9 @@ file-icons-js@~1.0.3: integrity sha512-n4zoKEpMaAxBTUB7wtgrFBa4dM3b7mBLLA1VI/Q5Cdk/k2UA8S8oaxvnECp3QOzg0Dn+KKRzfIHF7qSdRkA65Q== file-type@^18.5.0: - version "18.5.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-18.5.0.tgz#604a001ba0d32577d4c3fa420ee104d656b914d2" - integrity sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ== + version "18.7.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-18.7.0.tgz#cddb16f184d6b94106cfc4bb56978726b25cb2a2" + integrity sha512-ihHtXRzXEziMrQ56VSgU7wkxh55iNchFkosu7Y9/S+tXHdKyrGjVK0ujbqNnsxzea+78MaLhN6PGmfYSAv1ACw== dependencies: readable-web-to-node-stream "^3.0.2" strtok3 "^7.0.0" @@ -6945,10 +6966,10 @@ filenamify@^5.1.1: strip-outer "^2.0.0" trim-repeated "^2.0.0" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -6957,13 +6978,13 @@ filter-obj@^1.1.0: resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" @@ -6984,14 +7005,6 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@5.0.0, find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -7014,6 +7027,21 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== + dependencies: + micromatch "^4.0.2" + fix-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/fix-path/-/fix-path-3.0.0.tgz#c6b82fd5f5928e520b392a63565ebfef0ddf037e" @@ -7022,9 +7050,9 @@ fix-path@^3.0.0: shell-path "^2.1.0" flat-cache@^3.0.4: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" - integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" keyv "^4.5.3" @@ -7036,16 +7064,11 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -follow-redirects@^1.15.4: - version "1.15.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== -follow-redirects@^1.15.6: +follow-redirects@^1.0.0, follow-redirects@^1.15.6: version "1.15.9" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== @@ -7055,19 +7078,19 @@ font-awesome@^4.7.0: resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" integrity sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== dependencies: - is-callable "^1.1.3" + is-callable "^1.2.7" foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.6" signal-exit "^4.0.1" form-data-encoder@^2.1.2: @@ -7076,12 +7099,13 @@ form-data-encoder@^2.1.2: integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" mime-types "^2.1.12" formdata-polyfill@^4.0.10: @@ -7107,11 +7131,10 @@ forwarded@0.2.0: integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fqbn@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fqbn/-/fqbn-1.0.5.tgz#4a4ea6babadeffc12c4637d5a4f5ef57c7ef317b" - integrity sha512-ImcK5biXDRSQHsvC8XXhEZH/YPmW7lRrmTABv6m5D7HQz3Xzi5foHZxTxmeXekcrRkZOfIrDWWtpk2wtUJgPPA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/fqbn/-/fqbn-1.3.0.tgz#1d1b21c721db6cd882d6dccbd7ec6332a001f3f1" + integrity sha512-h+egsORZNuWZvsgn7nPkBTuo6isy9TRrfWSmn/6ywNsgLoIuR7FrOVNMWBwCLjBI0b6FV52VkWY4CIZcQpUJZA== dependencies: - ardunno-cli "^0.1.7" clone "^2.1.2" deep-equal "^2.2.3" @@ -7140,9 +7163,9 @@ fs-extra@^10.0.0, fs-extra@^10.1.0: universalify "^2.0.0" fs-extra@^11.1.0, fs-extra@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + version "11.3.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -7176,7 +7199,7 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-minipass@^2.0.0: +fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== @@ -7210,25 +7233,22 @@ fstream@^1.0.12: mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" functions-have-names@^1.2.3: version "1.2.3" @@ -7293,31 +7313,26 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.0, get-func-name@^2.0.2: +get-func-name@^2.0.1, get-func-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.2, get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" @@ -7339,6 +7354,14 @@ get-port@5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" @@ -7364,13 +7387,23 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + +get-uri@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-6.0.4.tgz#6daaee9e12f9759e19e55ba313956883ef50e0a7" + integrity sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ== + dependencies: + basic-ftp "^5.0.2" + data-uri-to-buffer "^6.0.2" + debug "^4.3.4" git-raw-commits@^3.0.0: version "3.0.0" @@ -7467,28 +7500,17 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^10.2.2, glob@^10.3.3: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== +glob@^10.2.2, glob@^10.3.10, glob@^10.3.3, glob@^10.3.7: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0, glob@^7.2.3: version "7.2.3" @@ -7502,7 +7524,7 @@ glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0, glob@^7.2.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.1, glob@^8.0.3: +glob@^8.0.1, glob@^8.0.3, glob@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -7541,18 +7563,19 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.23.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" - integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" -globalthis@^1.0.1, globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== +globalthis@^1.0.1, globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" globby@11.1.0, globby@^11.0.3, globby@^11.1.0: version "11.1.0" @@ -7584,16 +7607,14 @@ google-protobuf@3.15.8: integrity sha512-2jtfdqTaSxk0cuBJBtTTWsot4WtR9RVr2rXg7x7OoqiuOKopPrwXpM1G4dXIkLcUNRh3RKzz76C8IOkksZSeOw== google-protobuf@^3.20.1: - version "3.21.2" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.2.tgz#4580a2bea8bbb291ee579d1fefb14d6fa3070ea4" - integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== + version "3.21.4" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.4.tgz#2f933e8b6e5e9f8edde66b7be0024b68f77da6c9" + integrity sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ== -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^11.7.0, got@^11.8.5: version "11.8.6" @@ -7629,7 +7650,7 @@ got@^12.0.0, got@^12.1.0, got@^12.6.1: p-cancelable "^3.0.0" responselike "^3.0.0" -graceful-fs@4.2.11, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@4.2.11, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -7640,9 +7661,9 @@ graphemer@^1.4.0: integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== grpc-tools@^1.12.4: - version "1.12.4" - resolved "https://registry.yarnpkg.com/grpc-tools/-/grpc-tools-1.12.4.tgz#a044c9e8157941033ea7a5f144c2dc9dc4501de4" - integrity sha512-5+mLAJJma3BjnW/KQp6JBjUMgvu7Mu3dBvBPd1dcbNIb+qiR0817zDpgPjS7gRb+l/8EVNIa3cB02xI9JLToKg== + version "1.13.0" + resolved "https://registry.yarnpkg.com/grpc-tools/-/grpc-tools-1.13.0.tgz#a4fea8eebce51fb9fec00055a3e52016dfd5af89" + integrity sha512-7CbkJ1yWPfX0nHjbYG58BQThNhbICXBZynzCUxCb3LzX5X9B3hQbRY2STiRgIEiLILlK9fgl0z0QVGwPCdXf5g== dependencies: "@mapbox/node-pre-gyp" "^1.0.5" @@ -7683,60 +7704,36 @@ hard-rejection@^2.1.0: resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-property-descriptors@^1.0.2: +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== dependencies: - has-symbols "^1.0.2" + dunder-proto "^1.0.0" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.1: +has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== @@ -7748,11 +7745,6 @@ has-unicode@2.0.1, has-unicode@^2.0.0, has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -has@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" @@ -7761,10 +7753,10 @@ hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" @@ -7773,7 +7765,7 @@ hast-util-whitespace@^2.0.0: resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== -he@1.2.0: +he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -7818,9 +7810,9 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1, hosted-git-info@^4.1.0: lru-cache "^6.0.0" hosted-git-info@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58" - integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== + version "6.1.3" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.3.tgz#2ee1a14a097a1236bddf8672c35b613c46c55946" + integrity sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw== dependencies: lru-cache "^7.5.1" @@ -7831,7 +7823,7 @@ html-encoding-sniffer@^3.0.0: dependencies: whatwg-encoding "^2.0.0" -http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.1: +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== @@ -7865,6 +7857,42 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" +http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@^14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + http-status-codes@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-1.4.0.tgz#6e4c15d16ff3a9e2df03b89f3a55e1aae05fb477" @@ -7879,14 +7907,14 @@ http2-wrapper@^1.0.0-beta.5.2: resolve-alpn "^1.0.0" http2-wrapper@^2.1.10: - version "2.2.0" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" - integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== + version "2.2.1" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== dependencies: quick-lru "^5.1.1" resolve-alpn "^1.2.0" -https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: +https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -7894,6 +7922,14 @@ https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: agent-base "6" debug "4" +https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== + dependencies: + agent-base "^7.1.2" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -7953,13 +7989,13 @@ idb@^4.0.5: resolved "https://registry.yarnpkg.com/idb/-/idb-4.0.5.tgz#23b930fbb0abce391e939c35b7b31a669e74041f" integrity sha512-P+Fk9HT2h1DhXoE1YNK183SY+CRh2GHNh28de94sGwhe0bUA75JJeVJWt3SenE5p0BXK7maflIq29dl6UZHrFw== -idtoken-verifier@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/idtoken-verifier/-/idtoken-verifier-2.2.3.tgz#1758e9b0596f7036134938d63e107a72045622b8" - integrity sha512-hhpzB+MRgEvbwqzRLFdVbG55lKdXQVfeYEjAA2qu0UC72MSLeR0nX7P7rY5Dycz1aISHPOwq80hIPFoJ/+SItA== +idtoken-verifier@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/idtoken-verifier/-/idtoken-verifier-2.2.4.tgz#5749bd3fc9b757db40ad764484173584fb19fb55" + integrity sha512-5t7O8cNHpJBB8FnwLD0qFZqy/+qGICObQKUl0njD6vXKHhpZPLEe8LU7qv/GBWB3Qv5e/wAIFHYVi4SoQwdOxQ== dependencies: base64-js "^1.5.1" - crypto-js "^4.1.1" + crypto-js "^4.2.0" es6-promise "^4.2.8" jsbn "^1.1.0" unfetch "^4.2.0" @@ -7988,9 +8024,9 @@ ignore-walk@^5.0.1: minimatch "^5.0.1" ignore-walk@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.4.tgz#89950be94b4f522225eb63a13c56badb639190e9" - integrity sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw== + version "6.0.5" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" + integrity sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A== dependencies: minimatch "^9.0.0" @@ -8000,9 +8036,9 @@ ignore@^3.3.5: integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== ignore@^5.0.4, ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== image-size@~0.5.0: version "0.5.5" @@ -8010,14 +8046,14 @@ image-size@~0.5.0: integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@3.1.0, import-local@^3.0.2: +import-local@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== @@ -8025,6 +8061,14 @@ import-local@3.1.0, import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -8040,6 +8084,11 @@ indent-string@^5.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -8104,40 +8153,39 @@ inspect-with-kind@^1.0.5: dependencies: kind-of "^6.0.2" -internal-slot@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" - -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" + hasown "^2.0.2" + side-channel "^1.1.0" interpret@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -inversify@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/inversify/-/inversify-6.0.1.tgz#b20d35425d5d8c5cd156120237aad0008d969f02" - integrity sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ== +inversify@6.0.2, inversify@^6.1.3: + version "6.0.2" + resolved "https://registry.yarnpkg.com/inversify/-/inversify-6.0.2.tgz#dc7fa0348213d789d35ffb719dea9685570989c7" + integrity sha512-i9m8j/7YIv4mDuYXUAcrpKPSaju/CIly9AHK5jvCBeoiM/2KEsuCQTTP+rzSWWpLYWRukdXFSl6ZTk2/uumbiA== + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" ip-regex@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -ip@^2.0.0, ip@^2.0.1: +ip@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== @@ -8148,21 +8196,21 @@ ipaddr.js@1.9.1: integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-arrayish@^0.2.1: version "0.2.1" @@ -8170,18 +8218,22 @@ is-arrayish@^0.2.1: integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== dependencies: - has-tostringtag "^1.0.0" + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== dependencies: - has-bigints "^1.0.1" + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" @@ -8190,20 +8242,20 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-buffer@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -8222,19 +8274,29 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== +is-core-module@^2.13.0, is-core-module@^2.16.0, is-core-module@^2.5.0, is-core-module@^2.8.1: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - has "^1.0.3" + hasown "^2.0.2" -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" @@ -8251,12 +8313,12 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-fullwidth-code-point@^1.0.0: version "1.0.0" @@ -8271,11 +8333,14 @@ is-fullwidth-code-point@^3.0.0: integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-function@^1.0.10, is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" @@ -8301,27 +8366,23 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== +is-map@^2.0.2, is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== is-natural-number@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" @@ -8385,35 +8446,37 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-regex@^1.1.4, is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== +is-set@^2.0.2, is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-ssh@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" - integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== + version "1.4.1" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.1.tgz#76de1cdbe8f92a8b905d1a172b6bc09704c20396" + integrity sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg== dependencies: protocols "^2.0.1" @@ -8437,19 +8500,22 @@ is-stream@^3.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== dependencies: - has-symbols "^1.0.2" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" is-text-path@^1.0.1: version "1.0.1" @@ -8458,44 +8524,44 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15, is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: - which-typed-array "^1.1.11" + which-typed-array "^1.1.16" is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakref@^1.0.2, is-weakref@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-what@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== -is-wsl@^2.2.0: +is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -8518,9 +8584,9 @@ isbinaryfile@^4.0.8: integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== isbinaryfile@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.0.tgz#034b7e54989dab8986598cbcea41f66663c65234" - integrity sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg== + version "5.0.4" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.4.tgz#2a2edefa76cafa66613fe4c1ea52f7f031017bdf" + integrity sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ== isexe@^2.0.0: version "2.0.0" @@ -8532,25 +8598,17 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" - -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== +iterator.prototype@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz#12c959a29de32de0aa3bbbb801f4d777066dae39" + integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + get-proto "^1.0.0" + has-symbols "^1.1.0" + set-function-name "^2.0.2" jackspeak@^3.1.2: version "3.4.3" @@ -8562,9 +8620,9 @@ jackspeak@^3.1.2: "@pkgjs/parseargs" "^0.11.0" jake@^10.8.5: - version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" - integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== dependencies: async "^3.2.3" chalk "^4.0.2" @@ -8620,7 +8678,7 @@ js-yaml@^3.10.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsbn@^1.1.0: +jsbn@1.1.0, jsbn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== @@ -8662,21 +8720,16 @@ jsdom@^21.1.1: ws "^8.13.0" xml-name-validator "^4.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +jsesc@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -8693,9 +8746,9 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-parse-even-better-errors@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz#2cb2ee33069a78870a0c7e3da560026b89669cf7" - integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" + integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== json-schema-traverse@^0.4.1: version "0.4.1" @@ -8717,6 +8770,17 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stable-stringify@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz#addb683c2b78014d0b78d704c2fcbdf0695a60e2" + integrity sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + isarray "^2.0.5" + jsonify "^0.0.1" + object-keys "^1.1.1" + json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -8734,7 +8798,7 @@ json5@^2.1.2, json5@^2.2.0, json5@^2.2.2, json5@^2.2.3: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonc-parser@3.2.0, jsonc-parser@^3.0.0: +jsonc-parser@3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== @@ -8744,6 +8808,11 @@ jsonc-parser@^2.2.0: resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz#59549150b133f2efacca48fe9ce1ec0659af2342" integrity sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg== +jsonc-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4" + integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -8760,6 +8829,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonify@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== + jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -8810,6 +8884,13 @@ kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + kleur@^4.0.3: version "4.1.5" resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" @@ -8967,9 +9048,9 @@ lines-and-columns@^1.1.6: integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lines-and-columns@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b" - integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== + version "2.0.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== linkify-it@^3.0.1: version "3.0.3" @@ -9072,7 +9153,7 @@ loader-utils@^1.0.3: emojis-list "^3.0.0" json5 "^1.0.1" -loader-utils@^2.0.0: +loader-utils@^2.0.0, loader-utils@^2.0.3, loader-utils@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== @@ -9156,7 +9237,7 @@ lodash@^4.17.15, lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@4.1.0, log-symbols@^4.0.0, log-symbols@^4.1.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -9175,9 +9256,9 @@ log-update@^4.0.0: wrap-ansi "^6.2.0" long@^5.0.0: - version "5.2.3" - resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" - integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== + version "5.3.1" + resolved "https://registry.yarnpkg.com/long/-/long-5.3.1.tgz#9d4222d3213f38a5ec809674834e0f0ab21abe96" + integrity sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng== loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" @@ -9187,11 +9268,11 @@ loose-envify@^1.1.0, loose-envify@^1.4.0: js-tokens "^3.0.0 || ^4.0.0" loupe@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" - integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== dependencies: - get-func-name "^2.0.0" + get-func-name "^2.0.1" lower-case@^2.0.2: version "2.0.2" @@ -9237,16 +9318,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: +lru-cache@^7.14.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: version "7.18.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== -"lru-cache@^9.1.1 || ^10.0.0": - version "10.0.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" - integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== - lzma-native@^8.0.5: version "8.0.6" resolved "https://registry.yarnpkg.com/lzma-native/-/lzma-native-8.0.6.tgz#3ea456209d643bafd9b5d911781bdf0b396b2665" @@ -9290,7 +9366,29 @@ make-dir@^3.0.2, make-dir@^3.1.0: dependencies: semver "^6.0.0" -make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.0.3, make-fetch-happen@^11.1.1: +make-fetch-happen@^10.0.3: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f" integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== @@ -9344,6 +9442,11 @@ matcher@^3.0.0: dependencies: escape-string-regexp "^4.0.0" +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + mdast-util-definitions@^5.0.0: version "5.1.2" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" @@ -9429,10 +9532,10 @@ meow@^8.1.2: type-fest "^0.18.0" yargs-parser "^20.2.3" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-options@^3.0.4: version "3.0.4" @@ -9650,19 +9753,24 @@ micromark@^3.0.0: micromark-util-types "^1.0.1" uvu "^0.5.0" -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.8: + 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.2" + braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, mime-db@^1.28.0: +mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +mime-db@^1.28.0: + version "1.53.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" + integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" @@ -9670,7 +9778,7 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: dependencies: mime-db "1.52.0" -mime@1.6.0, mime@^1.4.1: +mime@1.6.0, mime@^1.4.1, mime@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -9721,11 +9829,12 @@ min-indent@^1.0.0: integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== mini-css-extract-plugin@^2.6.1: - version "2.7.6" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz#282a3d38863fddcd2e0c220aaed5b90bc156564d" - integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== + version "2.9.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz#966031b468917a5446f4c24a80854b2947503c5b" + integrity sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w== dependencies: schema-utils "^4.0.0" + tapable "^2.2.1" minimalistic-assert@^1.0.1: version "1.0.1" @@ -9739,13 +9848,6 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" -minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -9753,7 +9855,7 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.1: +minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.1, minimatch@^5.1.6: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== @@ -9767,14 +9869,7 @@ minimatch@^8.0.2: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.0, minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.4: +minimatch@^9.0.0, minimatch@^9.0.4: version "9.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== @@ -9802,10 +9897,21 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + minipass-fetch@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.4.tgz#4d4d9b9f34053af6c6e597a64be8e66e42bf45b7" - integrity sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg== + version "3.0.5" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c" + integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg== dependencies: minipass "^7.0.3" minipass-sized "^1.0.3" @@ -9821,9 +9927,9 @@ minipass-flush@^1.0.5: minipass "^3.0.0" minipass-json-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" - integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz#5121616c77a11c406c3ffa77509e0b77bb267ec3" + integrity sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg== dependencies: jsonparse "^1.3.1" minipass "^3.0.0" @@ -9842,7 +9948,7 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.1: +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: version "3.3.6" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== @@ -9859,12 +9965,7 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.3: - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.3, minipass@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== @@ -9877,10 +9978,10 @@ minizlib@^2.1.1, minizlib@^2.1.2: minipass "^3.0.0" yallist "^4.0.0" -mitt@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd" - integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ== +mitt@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" + integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" @@ -9900,31 +10001,30 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== mocha@^10.1.0, mocha@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - nanoid "3.3.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" mockdate@^3.0.5: version "3.0.5" @@ -9937,9 +10037,9 @@ modify-values@^1.0.1: integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== moment@^2.24.0, moment@^2.25.3: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== mount-point@^3.0.0: version "3.0.0" @@ -9967,12 +10067,7 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.0.0, ms@^2.1.1: +ms@2.1.3, ms@^2.0.0, ms@^2.1.1, 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== @@ -9991,7 +10086,7 @@ msgpackr-extract@^3.0.2: "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.3" "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.3" -msgpackr@1.6.1, msgpackr@^1.10.1: +msgpackr@^1.10.1, msgpackr@^1.10.2: version "1.11.2" resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.11.2.tgz#4463b7f7d68f2e24865c395664973562ad24473d" integrity sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g== @@ -10027,17 +10122,17 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mute-stream@~1.0.0: +mute-stream@^1.0.0, mute-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== -nan@^2.14.0: - version "2.18.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" - integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== +nan@^2.14.0, nan@^2.17.0: + version "2.22.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.2.tgz#6b504fd029fb8f38c0990e52ad5c26772fdacfbb" + integrity sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ== -nano@^10.1.3, nano@^9.0.5: +nano@^10.1.3: version "10.1.4" resolved "https://registry.yarnpkg.com/nano/-/nano-10.1.4.tgz#cb4cabd677733ddb81c88c1b8635101e2d84e926" integrity sha512-bJOFIPLExIbF6mljnfExXX9Cub4W0puhDjVMp+qV40xl/DBvgKao7St4+6/GB6EoHZap7eFnrnx4mnp5KYgwJA== @@ -10046,15 +10141,10 @@ nano@^10.1.3, nano@^9.0.5: node-abort-controller "^3.1.1" qs "^6.13.0" -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.8: + version "3.3.9" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.9.tgz#e0097d8e026b3343ff053e9ccd407360a03f503a" + integrity sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg== napi-build-utils@^1.0.1: version "1.0.2" @@ -10067,9 +10157,9 @@ native-keymap@^2.2.1: integrity sha512-EfdMpTcX40mlHBJSWidFV4WLpwwaebK3D3JFuO/42voOAnG2WHgDdg6JerbqcxXvRhvIg934GV+9PjB3jzfu9A== native-request@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.1.0.tgz#acdb30fe2eefa3e1bc8c54b3a6852e9c5c0d3cb0" - integrity sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.1.2.tgz#b677952757429db6cd41972a29c3b781977413ed" + integrity sha512-/etjwrK0J4Ebbcnt35VMWnfiUX/B04uwGJxyJInagxDqf2z5drSt/lsOvEMWGYunz1kaLZAFrV4NDAbOoDKvAQ== natural-compare-lite@^1.4.0: version "1.4.0" @@ -10086,16 +10176,26 @@ ncp@^2.0.0: resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== -negotiator@0.6.3, negotiator@^0.6.3: +negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@^0.6.3: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.6.0, 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" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + nice-grpc-common@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/nice-grpc-common/-/nice-grpc-common-2.0.2.tgz#e6aeebb2bd19d87114b351e291e30d79dd38acf7" @@ -10112,9 +10212,9 @@ no-case@^3.0.4: tslib "^2.0.3" node-abi@*, node-abi@^3.0.0: - version "3.48.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.48.0.tgz#122d132ae1ac097b0d711144560b17922de026ab" - integrity sha512-uWR/uwQyVV2iN5+Wkf1/oQxOR9YjU7gBclJLg2qK7GDvVohcnY6LaBXKV89N79EQFyN4/e43O32yQYE5QdFYTA== + version "3.74.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.74.0.tgz#5bfb4424264eaeb91432d2adb9da23c63a301ed0" + integrity sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== dependencies: semver "^7.3.5" @@ -10135,15 +10235,20 @@ node-addon-api@^1.6.3: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== -node-addon-api@^3.0.0, node-addon-api@^3.0.2, node-addon-api@^3.1.0, node-addon-api@^3.2.1: +node-addon-api@^3.0.0, node-addon-api@^3.1.0, node-addon-api@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + +node-addon-api@^8.2.0: + version "8.3.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-8.3.1.tgz#53bc8a4f8dbde3de787b9828059da94ba9fd4eed" + integrity sha512-lytcDEdxKjGJPTLEfW4mYMigRezMlyJY8W4wxJK8zE533Jlb8L8dRuObJFWg2P+AuOIxoCgKF+2Oq4d4Zd0OUA== node-api-version@^0.1.4: version "0.1.4" @@ -10164,7 +10269,7 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@^2.6.1, node-fetch@^2.6.7, node-fetch@^2.7.0: 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== @@ -10187,26 +10292,21 @@ node-gyp-build-optional-packages@5.2.2: dependencies: detect-libc "^2.0.1" -node-gyp-build@^4.2.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" - integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== - -node-gyp-build@^4.3.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" - integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== +node-gyp-build@^4.2.1, node-gyp-build@^4.3.0: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== node-gyp@^9.0.0, node-gyp@^9.3.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.0.tgz#2a7a91c7cba4eccfd95e949369f27c9ba704f369" - integrity sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg== + version "9.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" + integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== dependencies: env-paths "^2.2.0" exponential-backoff "^3.1.1" glob "^7.1.4" graceful-fs "^4.2.6" - make-fetch-happen "^11.0.3" + make-fetch-happen "^10.0.3" nopt "^6.0.0" npmlog "^6.0.0" rimraf "^3.0.2" @@ -10215,11 +10315,11 @@ node-gyp@^9.0.0, node-gyp@^9.3.0: which "^2.0.2" node-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-loader/-/node-loader-2.0.0.tgz#9109a6d828703fd3e0aa03c1baec12a798071562" - integrity sha512-I5VN34NO4/5UYJaUBtkrODPWxbobrE4hgDqPrjB25yPkonFhCmZ146vTH+Zg417E9Iwoh1l/MbRs1apc5J295Q== + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-loader/-/node-loader-2.1.0.tgz#8c4eb926e8bdcacb7349d17b40ebcc49fd2458d5" + integrity sha512-OwjPkyh8+7jW8DMd/iq71uU1Sspufr/C2+c3t0p08J3CrM9ApZ4U53xuisNrDXOHyGi5OYHgtfmmh+aK9zJA6g== dependencies: - loader-utils "^2.0.0" + loader-utils "^2.0.3" node-log-rotate@^0.1.5: version "0.1.5" @@ -10235,17 +10335,17 @@ node-machine-id@1.1.12: resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== -node-pty@0.11.0-beta17: - version "0.11.0-beta17" - resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.11.0-beta17.tgz#7df6a60dced6bf7a3a282b65cf51980c68954af6" - integrity sha512-JALo4LgYKmzmmXI23CIfS6DpCuno647YJpNg3RT6jCKTHWrt+RHeB6JAlb/pJG9dFNSeaiIAWD+0waEg2AzlfA== +node-pty@0.11.0-beta24: + version "0.11.0-beta24" + resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.11.0-beta24.tgz#084841017187656edaf14b459946c4a1d7cf8392" + integrity sha512-CzItw3hitX+wnpw9dHA/A+kcbV7ETNKrsyQJ+s0ZGzsu70+CSGuIGPLPfMnAc17vOrQktxjyRQfaqij75GVJFw== dependencies: - nan "^2.14.0" + nan "^2.17.0" -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== noop-logger@^0.1.1: version "0.1.1" @@ -10307,9 +10407,9 @@ normalize-url@^6.0.1: integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== normalize-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a" - integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== + version "8.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.1.tgz#9b7d96af9836577c58f5883e939365fa15623a4a" + integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== npm-bundled@^1.1.2: version "1.1.2" @@ -10319,9 +10419,9 @@ npm-bundled@^1.1.2: npm-normalize-package-bin "^1.0.1" npm-bundled@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" - integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.1.tgz#cca73e15560237696254b10170d8f86dad62da25" + integrity sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ== dependencies: npm-normalize-package-bin "^3.0.0" @@ -10423,9 +10523,9 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: path-key "^3.0.0" npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== dependencies: path-key "^4.0.0" @@ -10459,22 +10559,15 @@ npmlog@^6.0.0, npmlog@^6.0.2: gauge "^4.0.3" set-blocking "^2.0.0" -nsfw@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/nsfw/-/nsfw-2.2.4.tgz#4ed94544a63fc843b7e3ccff6668dce13d27a33a" - integrity sha512-sTRNa7VYAiy5ARP8etIBfkIfxU0METW40UinDnv0epQMe1pzj285HdXKRKkdrV3rRzMNcuNZn2foTNszV0x+OA== - dependencies: - node-addon-api "^5.0.0" - number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== nwsapi@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + version "2.2.18" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.18.tgz#3c4d7927e1ef4d042d319438ecfda6cd81b7ee41" + integrity sha512-p1TRH/edngVEHVbwqWnxUViEmq5znDvyB+Sik5cmuLpGOIfDf/39zLiq3swPF8Vakqn+gvNiOQAZu8djYlQILA== nx@16.10.0, "nx@>=16.5.1 < 17": version "16.10.0" @@ -10534,73 +10627,64 @@ object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1 resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" + call-bind "^1.0.7" + define-properties "^1.2.1" object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" -object.entries@^1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== +object.entries@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" -object.values@^1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== +object.values@^1.1.6, object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" on-finished@2.4.1: version "2.4.1" @@ -10630,6 +10714,14 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + open@^8.0.6, open@^8.4.0: version "8.4.2" resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" @@ -10639,17 +10731,22 @@ open@^8.0.6, open@^8.4.0: is-docker "^2.1.1" is-wsl "^2.2.0" +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" ora@^5.1.0, ora@^5.4.1: version "5.4.1" @@ -10676,6 +10773,15 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + p-any@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-any/-/p-any-4.0.0.tgz#0e9c8b0fa3e58cc79e6a1c6c715aa9326b6a4447" @@ -10837,6 +10943,28 @@ p-waterfall@2.1.1: dependencies: p-reduce "^2.0.0" +pac-proxy-agent@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz#9cfaf33ff25da36f6147a20844230ec92c06e5df" + integrity sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA== + dependencies: + "@tootallnate/quickjs-emscripten" "^0.23.0" + agent-base "^7.1.2" + debug "^4.3.4" + get-uri "^6.0.1" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.6" + pac-resolver "^7.0.1" + socks-proxy-agent "^8.0.5" + +pac-resolver@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-7.0.1.tgz#54675558ea368b64d210fd9c92a640b5f3b8abb6" + integrity sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== + dependencies: + degenerator "^5.0.0" + netmask "^2.0.2" + package-json-from-dist@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" @@ -10900,9 +11028,9 @@ parse-json@^5.0.0, parse-json@^5.2.0: lines-and-columns "^1.1.6" parse-path@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" - integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== + version "7.0.1" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.1.tgz#ae548cd36315fd8881a3610eae99fa08123ee0e2" + integrity sha512-6ReLMptznuuOEzLoGEa+I1oWRSj2Zna5jLWC+l6zlfAI4dbbSaIES29ThzuPkbhNahT65dWzfoZEO6cfJw2Ksg== dependencies: protocols "^2.0.0" @@ -10914,11 +11042,11 @@ parse-url@^8.1.0: parse-path "^7.0.0" parse5@^7.0.0, parse5@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.2.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" + integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== dependencies: - entities "^4.4.0" + entities "^4.5.0" parseurl@~1.3.3: version "1.3.3" @@ -10933,6 +11061,27 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" +patch-package@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61" + integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^4.1.2" + ci-info "^3.7.0" + cross-spawn "^7.0.3" + find-yarn-workspace-root "^2.0.0" + fs-extra "^9.0.0" + json-stable-stringify "^1.0.2" + klaw-sync "^6.0.0" + minimist "^1.2.6" + open "^7.4.2" + rimraf "^2.6.3" + semver "^7.5.3" + slash "^2.0.0" + tmp "^0.0.33" + yaml "^2.2.2" + path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" @@ -10993,15 +11142,7 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" -path-scurry@^1.10.1, path-scurry@^1.6.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-scurry@^1.11.1: +path-scurry@^1.11.1, path-scurry@^1.6.1: version "1.11.1" resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== @@ -11009,10 +11150,10 @@ path-scurry@^1.11.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== path-type@^3.0.0: version "3.0.0" @@ -11038,25 +11179,25 @@ pause-stream@0.0.11: dependencies: through "~2.3" -peek-readable@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" - integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== +peek-readable@^5.1.3: + version "5.4.2" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.4.2.tgz#aff1e1ba27a7d6911ddb103f35252ffc1787af49" + integrity sha512-peBp3qZyuS6cNIJ2akRNG1uo1WJ1d0wTxg/fxMdZ0BqCVhx242bSFHM9eNqflfJVS9SsgkzgT/1UgnsurBOTMg== pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -perfect-scrollbar@^1.3.0, perfect-scrollbar@^1.5.0: +perfect-scrollbar@1.5.5, perfect-scrollbar@^1.5.0, perfect-scrollbar@^1.5.5: version "1.5.5" resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz#41a211a2fb52a7191eff301432134ea47052b27f" integrity sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" @@ -11125,26 +11266,39 @@ plist@^3.0.4, plist@^3.0.5: base64-js "^1.5.1" xmlbuilder "^15.1.1" -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== +portfinder@^1.0.28: + version "1.0.35" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.35.tgz#6ebaf945da4d14c55d996e907b217f73e1dc06c9" + integrity sha512-73JaFg4NwYNAufDtS5FsFu/PdM49ahJrO1i44aCRsDWju1z5wuGDaqyFUQWR6aJoK2JPDWlaYYAGFNIGTSUHSw== + dependencies: + async "^3.2.6" + debug "^4.3.6" -postcss-modules-local-by-default@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" - integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== + +postcss-modules-local-by-default@^4.0.5: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== dependencies: icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^7.0.0" postcss-value-parser "^4.1.0" -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== +postcss-modules-scope@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== dependencies: - postcss-selector-parser "^6.0.4" + postcss-selector-parser "^7.0.0" postcss-modules-values@^4.0.0: version "4.0.0" @@ -11153,10 +11307,10 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== +postcss-selector-parser@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262" + integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -11166,14 +11320,14 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.21: - version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== +postcss@^8.4.33: + version "8.5.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" prebuild-install@^5.2.4: version "5.3.6" @@ -11261,7 +11415,7 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -progress@2.0.3, progress@^2.0.3: +progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -11280,11 +11434,11 @@ promise-retry@^2.0.1: retry "^0.12.0" promzard@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.0.tgz#3246f8e6c9895a77c0549cefb65828ac0f6c006b" - integrity sha512-KQVDEubSUHGSt5xLakaToDFrSoZhStB8dXLzk2xvwR67gJktrHFvpR63oZgHyK19WKbHFLXJqCPXdVR3aBP8Ig== + version "1.0.2" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.2.tgz#2226e7c6508b1da3471008ae17066a7c3251e660" + integrity sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ== dependencies: - read "^2.0.0" + read "^3.0.1" prop-types@^15.0.0, prop-types@^15.5.0, prop-types@^15.5.6, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" @@ -11296,14 +11450,14 @@ prop-types@^15.0.0, prop-types@^15.5.0, prop-types@^15.5.6, prop-types@^15.6.0, react-is "^16.13.1" property-information@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3" - integrity sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg== + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== -protobufjs@^7.2.3, protobufjs@^7.2.4: - version "7.2.5" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.5.tgz#45d5c57387a6d29a17aab6846dcc283f9b8e7f2d" - integrity sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A== +protobufjs@^7.2.3, protobufjs@^7.2.5: + version "7.4.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" + integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -11319,9 +11473,9 @@ protobufjs@^7.2.3, protobufjs@^7.2.4: long "^5.0.0" protocols@^2.0.0, protocols@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" - integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== + version "2.0.2" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.2.tgz#822e8fcdcb3df5356538b3e91bfd890b067fd0a4" + integrity sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ== proxy-addr@~2.0.7: version "2.0.7" @@ -11331,7 +11485,21 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-from-env@1.1.0, proxy-from-env@^1.1.0: +proxy-agent@^6.4.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.5.0.tgz#9e49acba8e4ee234aacb539f89ed9c23d02f232d" + integrity sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A== + dependencies: + agent-base "^7.1.2" + debug "^4.3.4" + http-proxy-agent "^7.0.1" + https-proxy-agent "^7.0.6" + lru-cache "^7.14.1" + pac-proxy-agent "^7.1.0" + proxy-from-env "^1.1.0" + socks-proxy-agent "^8.0.5" + +proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== @@ -11354,9 +11522,11 @@ pseudomap@^1.0.2: integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + version "1.15.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" public-ip@^5.0.0: version "5.0.0" @@ -11376,34 +11546,29 @@ pump@^1.0.0: once "^1.3.1" pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + version "3.0.2" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" + integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== dependencies: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -puppeteer-core@19.7.2: - version "19.7.2" - resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-19.7.2.tgz#deee9ef915829b6a1d1a3a008625c29eeb251161" - integrity sha512-PvI+fXqgP0uGJxkyZcX51bnzjFA73MODZOAv0fSD35yR7tvbqwtMV3/Y+hxQ0AMMwzxkEebP6c7po/muqxJvmQ== - dependencies: - chromium-bidi "0.4.4" - cross-fetch "3.1.5" - debug "4.3.4" - devtools-protocol "0.0.1094867" - extract-zip "2.0.1" - https-proxy-agent "5.0.1" - proxy-from-env "1.1.0" - rimraf "3.0.2" - tar-fs "2.1.1" - unbzip2-stream "1.4.3" - ws "8.11.0" +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0, punycode@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +puppeteer-core@23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-23.1.0.tgz#50703d2e27c1d73d523c25b807f6e6d95a6b1c47" + integrity sha512-SvAsu+xnLN2FMXE/59bp3s3WXp8ewqUGzVV4AQtml/2xmsciZnU/bXcCW+eETHPWQ6Agg2vTI7QzWXPpEARK2g== + dependencies: + "@puppeteer/browsers" "2.3.1" + chromium-bidi "0.6.4" + debug "^4.3.6" + devtools-protocol "0.0.1312386" + typed-query-selector "^2.12.0" + ws "^8.18.0" puppeteer-to-istanbul@1.4.0: version "1.4.0" @@ -11415,37 +11580,31 @@ puppeteer-to-istanbul@1.4.0: v8-to-istanbul "^1.2.1" yargs "^15.3.1" -puppeteer@19.7.2: - version "19.7.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-19.7.2.tgz#1b3ce99a093cc2f8f84dfb06f066d0757ea79d4b" - integrity sha512-4Lm7Qpe/LU95Svirei/jDLDvR5oMrl9BPGd7HMY5+Q28n+BhvKuW97gKkR+1LlI86bO8J3g8rG/Ll5kv9J1nlQ== - dependencies: - cosmiconfig "8.0.0" - https-proxy-agent "5.0.1" - progress "2.0.3" - proxy-from-env "1.1.0" - puppeteer-core "19.7.2" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== +puppeteer@23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-23.1.0.tgz#3abe4980670f214c8edfe689012e83418f81f9aa" + integrity sha512-m+CyicDlGN1AVUeOsCa6/+KQydJzxfsPowL7fQy+VGNeaWafB0m8G5aGfXdfZztKMxzCsdz7KNNzbJPeG9wwFw== dependencies: - side-channel "^1.0.4" + "@puppeteer/browsers" "2.3.1" + chromium-bidi "0.6.4" + cosmiconfig "^9.0.0" + devtools-protocol "0.0.1312386" + puppeteer-core "23.1.0" + typed-query-selector "^2.12.0" -qs@^6.10.1, qs@^6.10.3, qs@^6.11.0: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: - side-channel "^1.0.4" + side-channel "^1.0.6" -qs@^6.13.0: - version "6.13.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.1.tgz#3ce5fc72bd3a8171b85c99b93c65dd20b7d1b16e" - integrity sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg== +qs@^6.10.1, qs@^6.10.3, qs@^6.11.0, qs@^6.13.0, qs@^6.4.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== dependencies: - side-channel "^1.0.6" + side-channel "^1.1.0" query-string@^7.0.1: version "7.1.3" @@ -11467,11 +11626,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" @@ -11494,16 +11648,6 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - raw-body@2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" @@ -11539,12 +11683,12 @@ react-disable@^0.1.1: integrity sha512-KKEDYJUnF8hIPlmGYJu38HG8BlBB4EElCFY1zfA9W46/MF76DSGvgcduWl1eVT/CAw3ahb2sWTSfhon+kPSiKw== react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.0" + scheduler "^0.23.2" react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" @@ -11552,9 +11696,9 @@ react-is@^16.13.1, react-is@^16.7.0: integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== react-markdown@^8.0.0: version "8.0.7" @@ -11586,9 +11730,9 @@ react-perfect-scrollbar@^1.5.3, react-perfect-scrollbar@^1.5.8: prop-types "^15.6.1" react-select@^5.6.0: - version "5.7.7" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.7.tgz#dbade9dbf711ef2a181970c10f8ab319ac37fbd0" - integrity sha512-HhashZZJDRlfF/AKj0a0Lnfs3sRdw/46VJIRd8IbB9/Ovr74+ZIwkAdSBjSPXsFMG+u72c5xShqwLSKIJllzqw== + version "5.10.1" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.10.1.tgz#e858dd98358ccd864b65d53ab0fb682cd5e96b89" + integrity sha512-roPEZUL4aRZDx6DcsD+ZNreVl+fM8VsKn0Wtex1v4IazH60ILp5xhdlp464IsEAlJdXeD+BhDAFsBVMfvLQueA== dependencies: "@babel/runtime" "^7.12.0" "@emotion/cache" "^11.4.0" @@ -11598,14 +11742,14 @@ react-select@^5.6.0: memoize-one "^6.0.0" prop-types "^15.6.0" react-transition-group "^4.3.0" - use-isomorphic-layout-effect "^1.1.2" + use-isomorphic-layout-effect "^1.2.0" -react-tabs@^3.1.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-3.2.3.tgz#ccbb3e1241ad3f601047305c75db661239977f2f" - integrity sha512-jx325RhRVnS9DdFbeF511z0T0WEqEoMl1uCE3LoZ6VaZZm7ytatxbum0B8bCTmaiV0KsU+4TtLGTGevCic7SWg== +react-tabs@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-6.1.0.tgz#a1fc9d9b8db4c6e7bb327a1b6783bc51a1c457a1" + integrity sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ== dependencies: - clsx "^1.1.0" + clsx "^2.0.0" prop-types "^15.5.0" react-tooltip@^4.2.21: @@ -11635,17 +11779,17 @@ react-virtuoso@^2.17.0: "@virtuoso.dev/urx" "^0.2.12" react-window@^1.8.6: - version "1.8.9" - resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.9.tgz#24bc346be73d0468cdf91998aac94e32bc7fa6a8" - integrity sha512-+Eqx/fj1Aa5WnhRfj9dJg4VYATGwIUP2ItwItiJ6zboKWA6EX3lYDAXfGF2hyNqplEprhbtjbipiADEcwQ823Q== + version "1.8.11" + resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.11.tgz#a857b48fa85bd77042d59cc460964ff2e0648525" + integrity sha512-+SRbUVT2scadgFSWx+R1P754xHPEqvcfSfVX10QYg6POOz+WNgkN48pS+BtZNIMGiL1HYrSEiCkwsMS15QogEQ== dependencies: "@babel/runtime" "^7.0.0" memoize-one ">=3.1.1 <6" react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" @@ -11727,6 +11871,13 @@ read@^2.0.0: dependencies: mute-stream "~1.0.0" +read@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read/-/read-3.0.1.tgz#926808f0f7c83fa95f1ef33c0e2c09dbb28fd192" + integrity sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw== + dependencies: + mute-stream "^1.0.0" + readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" @@ -11749,12 +11900,23 @@ readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.7.0.tgz#cedbd8a1146c13dfff8dab14068028d58c15ac91" + integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + readable-web-to-node-stream@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" - integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.4.tgz#392ba37707af5bf62d725c36c1b5d6ef4119eefc" + integrity sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw== dependencies: - readable-stream "^3.6.0" + readable-stream "^4.7.0" readdirp@~3.6.0: version "3.6.0" @@ -11789,26 +11951,28 @@ redent@^3.0.0: strip-indent "^3.0.0" reflect-metadata@^0.1.10: - version "0.1.13" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== + version "0.1.14" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859" + integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== -reflect.getprototypeof@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== dependencies: regenerate "^1.4.2" @@ -11818,9 +11982,9 @@ regenerate@^1.4.2: integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== regenerator-transform@^0.15.2: version "0.15.2" @@ -11829,33 +11993,41 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== dependencies: - "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.12.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== dependencies: - jsesc "~0.5.0" + jsesc "~3.0.2" remark-parse@^10.0.0: version "10.0.2" @@ -11936,20 +12108,20 @@ resolve-package-path@^4.0.3: path-root "^0.1.1" resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.9.0: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.4: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -11981,23 +12153,23 @@ retry@^0.12.0: integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== -rimraf@2, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" -rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -12011,6 +12183,13 @@ rimraf@^4.4.1: dependencies: glob "^9.2.0" +rimraf@^5.0.0: + version "5.0.10" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" + integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== + dependencies: + glob "^10.3.7" + rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -12053,9 +12232,9 @@ run-parallel@^1.1.9: queue-microtask "^1.2.2" rxjs@^7.5.1, rxjs@^7.5.5: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: tslib "^2.1.0" @@ -12066,39 +12245,48 @@ sade@^1.7.3: dependencies: mri "^1.1.0" -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" isarray "^2.0.5" +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex-test@^1.0.0: +safe-push-apply@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" safe-stable-stringify@^2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== + version "2.5.0" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz#4ca2f8e385f2831c432a719b108a3bf7af42a1dd" + integrity sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.2: version "2.1.2" @@ -12113,9 +12301,9 @@ sanitize-filename@^1.6.3: truncate-utf8-bytes "^1.0.0" sax@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== saxes@^6.0.0: version "6.0.0" @@ -12124,10 +12312,10 @@ saxes@^6.0.0: dependencies: xmlchars "^2.2.0" -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" @@ -12140,7 +12328,7 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: +schema-utils@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== @@ -12149,16 +12337,21 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== +schema-utils@^4.0.0, schema-utils@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0" + integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g== dependencies: "@types/json-schema" "^7.0.9" ajv "^8.9.0" ajv-formats "^2.1.1" ajv-keywords "^5.1.0" +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" + integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== + seek-bzip@^1.0.5, seek-bzip@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" @@ -12188,17 +12381,15 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" +semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: + version "7.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" + integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -12230,13 +12421,6 @@ serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" -serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" @@ -12244,41 +12428,29 @@ serialize-javascript@^5.0.1: dependencies: randombytes "^2.1.0" -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== +serialize-javascript@^6.0.0, serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" - integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== - dependencies: - define-data-property "^1.1.2" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -12290,14 +12462,24 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.0, set-function-name@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: - define-data-property "^1.0.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" setimmediate@^1.0.5, setimmediate@~1.0.4: version "1.0.5" @@ -12344,24 +12526,45 @@ shell-path@^2.1.0: dependencies: shell-env "^0.3.0" -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + es-errors "^1.3.0" + object-inspect "^1.13.3" -side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.2" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.4, side-channel@^1.0.6, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@3.0.7, signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -12415,6 +12618,11 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -12447,20 +12655,21 @@ snake-case@^3.0.4: tslib "^2.0.3" socket.io-adapter@~2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12" - integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA== + version "2.5.5" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz#c7a1f9c703d7756844751b6ff9abfc1780664082" + integrity sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg== dependencies: - ws "~8.11.0" + debug "~4.3.4" + ws "~8.17.1" socket.io-client@^4.5.3: - version "4.7.2" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.2.tgz#f2f13f68058bd4e40f94f2a1541f275157ff2c08" - integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.8.1.tgz#1941eca135a5490b94281d0323fe2a35f6f291cb" + integrity sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" - engine.io-client "~6.5.2" + engine.io-client "~6.6.1" socket.io-parser "~4.2.4" socket.io-parser@~4.2.4: @@ -12472,15 +12681,15 @@ socket.io-parser@~4.2.4: debug "~4.3.1" socket.io@^4.5.3: - version "4.7.2" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.7.2.tgz#22557d76c3f3ca48f82e73d68b7add36a22df002" - integrity sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw== + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.8.1.tgz#fa0eaff965cc97fdf4245e8d4794618459f7558a" + integrity sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg== dependencies: accepts "~1.3.4" base64id "~2.0.0" cors "~2.8.5" debug "~4.3.2" - engine.io "~6.5.2" + engine.io "~6.6.0" socket.io-adapter "~2.5.2" socket.io-parser "~4.2.4" @@ -12502,12 +12711,21 @@ socks-proxy-agent@^7.0.0: debug "^4.3.3" socks "^2.6.2" -socks@^2.3.3, socks@^2.6.2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" - integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== +socks-proxy-agent@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee" + integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== dependencies: - ip "^2.0.0" + agent-base "^7.1.2" + debug "^4.3.4" + socks "^2.8.3" + +socks@^2.3.3, socks@^2.6.2, socks@^2.8.3: + version "2.8.4" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.4.tgz#07109755cdd4da03269bda4725baa061ab56d5cc" + integrity sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ== + dependencies: + ip-address "^9.0.5" smart-buffer "^4.2.0" sort-keys-length@^1.0.0: @@ -12536,10 +12754,10 @@ source-map-js@^0.6.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-loader@^2.0.1: version "2.0.2" @@ -12582,9 +12800,9 @@ spdx-correct@^3.0.0: spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== spdx-expression-parse@^3.0.0: version "3.0.1" @@ -12595,9 +12813,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.16" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" - integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + version "3.0.21" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz#6d6e980c9df2b6fc905343a3b2d702a6239536c3" + integrity sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg== split-on-first@^1.0.0: version "1.1.0" @@ -12625,7 +12843,7 @@ split@^1.0.1: dependencies: through "2" -sprintf-js@^1.1.2: +sprintf-js@^1.1.2, sprintf-js@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== @@ -12636,13 +12854,13 @@ sprintf-js@~1.0.2: integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== ssri@^10.0.0, ssri@^10.0.1: - version "10.0.5" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.5.tgz#e49efcd6e36385196cb515d3a2ad6c3f0265ef8c" - integrity sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A== + version "10.0.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" + integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== dependencies: minipass "^7.0.3" -ssri@^9.0.1: +ssri@^9.0.0, ssri@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== @@ -12660,11 +12878,12 @@ statuses@2.0.1: integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== dependencies: - internal-slot "^1.0.4" + es-errors "^1.3.0" + internal-slot "^1.1.0" stream-combiner@~0.0.4: version "0.0.4" @@ -12678,13 +12897,15 @@ streamsearch@^1.1.0: resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== -streamx@^2.15.0: - version "2.15.1" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.1.tgz#396ad286d8bc3eeef8f5cea3f029e81237c024c6" - integrity sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA== +streamx@^2.15.0, streamx@^2.21.0: + version "2.22.0" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.22.0.tgz#cd7b5e57c95aaef0ff9b2aef7905afa62ec6e4a7" + integrity sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw== dependencies: - fast-fifo "^1.1.0" - queue-tick "^1.0.1" + fast-fifo "^1.3.2" + text-decoder "^1.1.0" + optionalDependencies: + bare-events "^2.2.0" strict-uri-encode@^2.0.0: version "2.0.0" @@ -12706,14 +12927,6 @@ string-natural-compare@^2.0.3: resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-2.0.3.tgz#9dbe1dd65490a5fe14f7a5c9bc686fc67cb9c6e4" integrity sha512-4Kcl12rNjc+6EKhY8QyDVuQTAlMWwRiNbsxnVwBUKFr7dYPQuXVrtNU4sEkjF9LHY0AY6uVbB3ktbkIH4LC+BQ== -string-replace-loader@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-replace-loader/-/string-replace-loader-3.1.0.tgz#11ac6ee76bab80316a86af358ab773193dd57a4f" - integrity sha512-5AOMUZeX5HE/ylKDnEa/KKBqvlnFmRZudSOjVJHxhoJg9QYTwl1rECx7SLR8BBH7tfxb4Rp7EM2XVfQFxIhsbQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - "string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -12741,49 +12954,66 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== +string.prototype.matchall@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-abstract "^1.23.6" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" + set-function-name "^2.0.2" + side-channel "^1.1.0" + +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== +string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string_decoder@^1.1.1: +string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -12874,7 +13104,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@3.1.1, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -12906,23 +13136,23 @@ strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0: through "^2.3.4" strtok3@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" - integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== + version "7.1.1" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.1.1.tgz#f548fd9dc59d0a76d5567ff8c16be31221f29dfc" + integrity sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg== dependencies: "@tokenizer/token" "^0.3.0" - peek-readable "^5.0.0" + peek-readable "^5.1.3" style-dictionary@^3.7.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/style-dictionary/-/style-dictionary-3.8.0.tgz#7cb8d64360c53431f768d44def665f61e971a73e" - integrity sha512-wHlB/f5eO3mDcYv6WtOz6gvQC477jBKrwuIXe+PtHskTCBsJdAOvL8hCquczJxDui2TnwpeNE+2msK91JJomZg== + version "3.9.2" + resolved "https://registry.yarnpkg.com/style-dictionary/-/style-dictionary-3.9.2.tgz#5b3ecd4af28a64f4855db71c90d24fd288f27318" + integrity sha512-M2pcQ6hyRtqHOh+NyT6T05R3pD/gwNpuhREBKvxC1En0vyywx+9Wy9nXWT1SZ9ePzv1vAo65ItnpA16tT9ZUCg== dependencies: chalk "^4.0.0" change-case "^4.1.2" commander "^8.3.0" fs-extra "^10.0.0" - glob "^7.2.0" + glob "^10.3.10" json5 "^2.2.2" jsonc-parser "^3.0.0" lodash "^4.17.15" @@ -12937,9 +13167,9 @@ style-loader@^2.0.0: schema-utils "^3.0.0" style-to-object@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.2.tgz#a8247057111dea8bd3b8a1a66d2d0c9cf9218a54" - integrity sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA== + version "0.4.4" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" + integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== dependencies: inline-style-parser "0.1.1" @@ -12972,20 +13202,13 @@ superagent@^7.1.5: readable-stream "^3.6.0" semver "^7.3.7" -supports-color@8.1.1, supports-color@^8.0.0: +supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -13003,30 +13226,41 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tapable@^2.1.1, tapable@^2.2.0: +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-fs@2.1.1, tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== +tar-fs@^1.16.2: + version "1.16.4" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.4.tgz#d3f0e1edf164b821f086640b1f0596f004021dc8" + integrity sha512-u3XczWoYAIVXe5GOKK6+VeWaHjtc47W7hyuTo3+4cNakcCcuDmlkYiiHEsECwTkcI3h1VUgtwBQ54+RvY6cM4w== + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + +tar-fs@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.2.tgz#425f154f3404cb16cb8ff6e671d45ab2ed9596c5" + integrity sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA== dependencies: chownr "^1.1.1" mkdirp-classic "^0.5.2" pump "^3.0.0" tar-stream "^2.1.4" -tar-fs@^1.16.2: - version "1.16.3" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" - integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== +tar-fs@^3.0.6: + version "3.0.8" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.0.8.tgz#8f62012537d5ff89252d01e48690dc4ebed33ab7" + integrity sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg== dependencies: - chownr "^1.0.1" - mkdirp "^0.5.1" - pump "^1.0.0" - tar-stream "^1.1.2" + pump "^3.0.0" + tar-stream "^3.1.5" + optionalDependencies: + bare-fs "^4.0.1" + bare-path "^3.0.0" tar-stream@^1.1.2, tar-stream@^1.5.2: version "1.6.2" @@ -13052,10 +13286,10 @@ tar-stream@^2.1.4, tar-stream@~2.2.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar-stream@^3.1.4: - version "3.1.6" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.6.tgz#6520607b55a06f4a2e2e04db360ba7d338cc5bab" - integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== +tar-stream@^3.1.4, tar-stream@^3.1.5: + version "3.1.7" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b" + integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== dependencies: b4a "^1.6.4" fast-fifo "^1.2.0" @@ -13074,9 +13308,9 @@ tar@6.1.11: yallist "^4.0.0" tar@^6.0.5, tar@^6.1.11, tar@^6.1.12, tar@^6.1.2: - version "6.2.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" - integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -13111,27 +13345,34 @@ temp@^0.9.1: mkdirp "^0.5.1" rimraf "~2.6.2" -terser-webpack-plugin@^5.3.7: - version "5.3.9" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== +terser-webpack-plugin@^5.3.11: + version "5.3.14" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== dependencies: - "@jridgewell/trace-mapping" "^0.3.17" + "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.16.8" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" -terser@^5.16.8: - version "5.21.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.21.0.tgz#d2b27e92b5e56650bc83b6defa00a110f0b124b2" - integrity sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw== +terser@^5.31.1: + version "5.39.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.39.0.tgz#0e82033ed57b3ddf1f96708d123cca717d86ca3a" + integrity sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" +text-decoder@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.3.tgz#b19da364d981b2326d5f43099c310cc80d770c65" + integrity sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA== + dependencies: + b4a "^1.6.4" + text-extensions@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" @@ -13182,22 +13423,15 @@ tmp@^0.0.33: os-tmpdir "~1.0.2" tmp@^0.2.0, tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== to-buffer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -13219,9 +13453,9 @@ token-types@^5.0.1: ieee754 "^1.2.1" tough-cookie@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" punycode "^2.1.1" @@ -13289,9 +13523,9 @@ trim-repeated@^2.0.0: escape-string-regexp "^5.0.0" trough@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" - integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== + version "2.2.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== truncate-utf8-bytes@^1.0.0: version "1.0.2" @@ -13324,10 +13558,10 @@ tslib@^1.10.0, tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.6.2: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsutils@^3.21.0: version "3.21.0" @@ -13359,10 +13593,10 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@^4.0.0, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-detect@^4.0.0, type-detect@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" + integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== type-fest@^0.13.1: version "0.13.1" @@ -13412,64 +13646,70 @@ type-is@^1.6.4, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.8" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" + +typed-query-selector@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/typed-query-selector/-/typed-query-selector-2.12.0.tgz#92b65dbc0a42655fccf4aeb1a08b1dddce8af5f2" + integrity sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg== typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -"typescript@>=3 < 6": - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - -typescript@^4.0.2, typescript@^4.9.3: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +"typescript@>=3 < 6", typescript@^5.3.3, typescript@^5.4.5: + version "5.8.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.2.tgz#8170b3702f74b79db2e5a96207c15e65807999e4" + integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ== -typescript@~4.5.5: - version "4.5.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" - integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== +typescript@~5.4.5: + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -13477,9 +13717,9 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4: - version "3.17.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" - integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + 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== umd-compat-loader@^2.1.2: version "2.1.2" @@ -13490,17 +13730,17 @@ umd-compat-loader@^2.1.2: loader-utils "^1.0.3" recast "^0.11.17" -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" -unbzip2-stream@1.4.3, unbzip2-stream@^1.0.9, unbzip2-stream@^1.4.3: +unbzip2-stream@^1.0.9, unbzip2-stream@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== @@ -13508,10 +13748,15 @@ unbzip2-stream@1.4.3, unbzip2-stream@^1.0.9, unbzip2-stream@^1.4.3: buffer "^5.2.1" through "^2.3.8" -undici-types@~5.25.1: - version "5.25.3" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" - integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== unfetch@^4.2.0: version "4.2.0" @@ -13519,9 +13764,9 @@ unfetch@^4.2.0: integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" @@ -13532,9 +13777,9 @@ unicode-match-property-ecmascript@^2.0.0: unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" @@ -13554,6 +13799,20 @@ unified@^10.0.0: trough "^2.0.0" vfile "^5.0.0" +union@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + unique-filename@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" @@ -13561,6 +13820,13 @@ unique-filename@^3.0.0: dependencies: unique-slug "^4.0.0" +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + unique-slug@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" @@ -13612,9 +13878,9 @@ unist-util-visit@^4.0.0: unist-util-visit-parents "^5.1.1" universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + version "6.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== universalify@^0.1.0: version "0.1.2" @@ -13627,9 +13893,9 @@ universalify@^0.2.0: integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" @@ -13672,13 +13938,13 @@ upath@2.0.1: resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== +update-browserslist-db@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.2.0" + picocolors "^1.1.1" upper-case-first@^2.0.2: version "2.0.2" @@ -13714,10 +13980,15 @@ url-parse@^1.5.3: querystringify "^2.1.1" requires-port "^1.0.0" -use-isomorphic-layout-effect@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== +urlpattern-polyfill@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz#f0a03a97bfb03cdf33553e5e79a2aadd22cac8ec" + integrity sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg== + +use-isomorphic-layout-effect@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz#afb292eb284c39219e8cb8d3d62d71999361a21d" + integrity sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w== user-home@^2.0.0: version "2.0.0" @@ -13727,9 +13998,9 @@ user-home@^2.0.0: os-homedir "^1.0.0" utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz#f9f63910d15536ee2b2d5dd4665389715eac5c1e" + integrity sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" @@ -13757,12 +14028,12 @@ uuid@^7.0.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== -uuid@^8.0.0, uuid@^8.3.2: +uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^9.0.0: +uuid@^9.0.0, uuid@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== @@ -13807,7 +14078,7 @@ validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validat spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -validate-npm-package-name@5.0.0, validate-npm-package-name@^5.0.0: +validate-npm-package-name@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== @@ -13821,6 +14092,11 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +validate-npm-package-name@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" + integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -13893,9 +14169,9 @@ vscode-languageserver-protocol@^3.17.2: vscode-languageserver-types "3.17.5" vscode-languageserver-textdocument@^1.0.1: - version "1.0.11" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" - integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== + version "1.0.12" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz#457ee04271ab38998a093c68c2342f53f6e4a631" + integrity sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA== vscode-languageserver-types@3.17.5: version "3.17.5" @@ -13907,10 +14183,10 @@ vscode-oniguruma@1.6.1: resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz#2bf4dfcfe3dd2e56eb549a3068c8ee39e6c30ce5" integrity sha512-vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ== -vscode-textmate@^7.0.3: - version "7.0.4" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-7.0.4.tgz#a30df59ce573e998e4e2ffbca5ab82d57bc3126f" - integrity sha512-9hJp0xL7HW1Q5OgGe03NACo7yiCTMEk3WU/rtKXUbncLtdg6rVVNJnHwD88UhbIYU2KoxY0Dih0x+kIsmUKn2A== +vscode-textmate@^9.0.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-9.2.0.tgz#be2b04b3f8853135b2d67274670540215c5bb92b" + integrity sha512-rkvG4SraZQaPSN/5XjwKswdU0OP9MF28QjrYzUBbhb8QyG3ljB1Ky996m++jiI7KdiAP2CkBiQZd9pqEDTClqA== vscode-uri@^2.1.1: version "2.1.2" @@ -13924,10 +14200,10 @@ w3c-xmlserializer@^4.0.0: dependencies: xml-name-validator "^4.0.0" -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +watchpack@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -13940,9 +14216,9 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: defaults "^1.0.3" web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + version "3.3.3" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== webidl-conversions@^3.0.0: version "3.0.1" @@ -13974,11 +14250,12 @@ webpack-cli@4.7.0: webpack-merge "^5.7.3" webpack-merge@^5.7.3: - version "5.9.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826" - integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg== + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: clone-deep "^4.0.1" + flat "^5.0.2" wildcard "^2.0.0" webpack-sources@^3.2.3: @@ -13987,33 +14264,32 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.76.0: - version "5.88.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e" - integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" + version "5.98.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.98.0.tgz#44ae19a8f2ba97537978246072fb89d10d1fbd17" + integrity sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA== + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + acorn "^8.14.0" + browserslist "^4.24.0" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.2.0" + schema-utils "^4.3.0" tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" + terser-webpack-plugin "^5.3.11" + watchpack "^2.4.1" webpack-sources "^3.2.3" whatwg-encoding@^2.0.0: @@ -14044,44 +14320,45 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== +which-boxed-primitive@^1.0.2, which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" is-generator-function "^1.0.10" - is-regex "^1.1.4" + is-regex "^1.2.1" is-weakref "^1.0.2" isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== +which-collection@^1.0.1, which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" which-module@^2.0.0: version "2.0.1" @@ -14093,27 +14370,18 @@ which-pm-runs@^1.0.0: resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== -which-typed-array@^1.1.11, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.11" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which-typed-array@^1.1.13: - version "1.1.14" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" - integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== +which-typed-array@^1.1.13, which-typed-array@^1.1.16, which-typed-array@^1.1.18, which-typed-array@^1.1.2: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== dependencies: - available-typed-arrays "^1.0.6" - call-bind "^1.0.5" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.1" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" which@^1.2.9: version "1.3.1" @@ -14153,6 +14421,11 @@ winchan@^0.2.2: resolved "https://registry.yarnpkg.com/winchan/-/winchan-0.2.2.tgz#6766917b88e5e1cb75f455ffc7cc13f51e5c834e" integrity sha512-pvN+IFAbRP74n/6mc6phNyCH8oVkzXsto4KCHPJ2AScniAnA1AmeLI03I2BzjePpaClGSI4GUMowzsD3qz5PRQ== +word-wrap@^1.2.5: + version "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" @@ -14166,10 +14439,10 @@ worker-loader@^3.0.8: loader-utils "^2.0.0" schema-utils "^3.0.0" -workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" @@ -14253,20 +14526,15 @@ write-pkg@4.0.0: type-fest "^0.4.1" write-json-file "^3.2.0" -ws@8.11.0, ws@~8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== +ws@^8.13.0, ws@^8.17.1, ws@^8.18.0: + version "8.18.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.1.tgz#ea131d3784e1dfdff91adb0a4a116b127515e3cb" + integrity sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w== -ws@^7.1.2: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.13.0: - version "8.14.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" - integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== +ws@~8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== xdg-basedir@^4.0.0: version "4.0.0" @@ -14303,10 +14571,10 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" - integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== +xmlhttprequest-ssl@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz#e9e8023b3f29ef34b97a859f584c5e6c61418e23" + integrity sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ== xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" @@ -14318,16 +14586,26 @@ xterm-addon-fit@^0.5.0: resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz#2d51b983b786a97dcd6cde805e700c7f913bc596" integrity sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ== -xterm-addon-search@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.8.2.tgz#be7aa74d5ff12c901707c6ff674229f214318032" - integrity sha512-I1863mjn8P6uVrqm/X+btalVsqjAKLhnhpbP7SavAOpEkI1jJhbHU2UTp7NjeRtcKTks6UWk/ycgds5snDSejg== +xterm-addon-fit@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.8.0.tgz#48ca99015385141918f955ca7819e85f3691d35f" + integrity sha512-yj3Np7XlvxxhYF/EJ7p3KHaMt6OdwQ+HDu573Vx1lRXsVxOcnVJs51RgjZOouIZOczTsskaS+CpXspK81/DLqw== + +xterm-addon-search@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.13.0.tgz#21286f4db48aa949fbefce34bb8bc0c9d3cec627" + integrity sha512-sDUwG4CnqxUjSEFh676DlS3gsh3XYCzAvBPSvJ5OPgF3MRL3iHLPfsb06doRicLC2xXNpeG2cWk8x1qpESWJMA== xterm@^4.16.0: version "4.19.0" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0.tgz#c0f9d09cd61de1d658f43ca75f992197add9ef6d" integrity sha512-c3Cp4eOVsYY5Q839dR5IejghRPpxciGmLWWaP9g+ppfMeBChMeLa1DCA+pmX/jyDZ+zxFOmlJL/82qVdayVoGQ== +xterm@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.3.0.tgz#867daf9cc826f3d45b5377320aabd996cb0fce46" + integrity sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" @@ -14358,6 +14636,11 @@ yaml@^1.10.0, yaml@^1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.2.2: + version "2.7.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.0.tgz#aef9bb617a64c937a9a748803786ad8d3ffe1e98" + integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA== + yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" @@ -14376,12 +14659,12 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-unparser@2.0.0: +yargs-unparser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== @@ -14434,7 +14717,7 @@ yargs@^17.0.1, yargs@^17.6.2, yargs@^17.7.2: y18n "^5.0.5" yargs-parser "^21.1.1" -yauzl@^2.10.0, yauzl@^2.4.2: +yauzl@^2.10.0, yauzl@^2.4.2, yauzl@^2.9.2: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== @@ -14446,3 +14729,8 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zod@3.23.8: + version "3.23.8" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" + integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== From 7dafe7b0d35e8720ca7a37d9b52f3fe7efc3b702 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Sat, 29 Mar 2025 01:53:46 +0900 Subject: [PATCH 74/87] feat: use Arduino CLI 1.2.0 (#2645) --- arduino-ide-extension/package.json | 2 +- .../cc/arduino/cli/commands/v1/board_pb.d.ts | 59 +++ .../cc/arduino/cli/commands/v1/board_pb.js | 482 +++++++++++++++++- .../cli/commands/v1/commands_grpc_pb.d.ts | 17 + .../cli/commands/v1/commands_grpc_pb.js | 34 ++ 5 files changed, 591 insertions(+), 3 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 603398edb..953331109 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -172,7 +172,7 @@ ], "arduino": { "arduino-cli": { - "version": "1.1.1" + "version": "1.2.0" }, "arduino-fwuploader": { "version": "2.4.1" diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts index 74c87488c..01ff287d4 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts @@ -360,6 +360,8 @@ export class BoardListRequest extends jspb.Message { setTimeout(value: number): BoardListRequest; getFqbn(): string; setFqbn(value: string): BoardListRequest; + getSkipCloudApiForBoardDetection(): boolean; + setSkipCloudApiForBoardDetection(value: boolean): BoardListRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): BoardListRequest.AsObject; @@ -376,6 +378,7 @@ export namespace BoardListRequest { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, timeout: number, fqbn: string, + skipCloudApiForBoardDetection: boolean, } } @@ -493,6 +496,8 @@ export class BoardListWatchRequest extends jspb.Message { clearInstance(): void; getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): BoardListWatchRequest; + getSkipCloudApiForBoardDetection(): boolean; + setSkipCloudApiForBoardDetection(value: boolean): BoardListWatchRequest; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): BoardListWatchRequest.AsObject; @@ -507,6 +512,7 @@ export class BoardListWatchRequest extends jspb.Message { export namespace BoardListWatchRequest { export type AsObject = { instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, + skipCloudApiForBoardDetection: boolean, } } @@ -621,3 +627,56 @@ export namespace BoardSearchResponse { boardsList: Array, } } + +export class BoardIdentifyRequest extends jspb.Message { + + hasInstance(): boolean; + clearInstance(): void; + getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined; + setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): BoardIdentifyRequest; + + getPropertiesMap(): jspb.Map; + clearPropertiesMap(): void; + getUseCloudApiForUnknownBoardDetection(): boolean; + setUseCloudApiForUnknownBoardDetection(value: boolean): BoardIdentifyRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): BoardIdentifyRequest.AsObject; + static toObject(includeInstance: boolean, msg: BoardIdentifyRequest): BoardIdentifyRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: BoardIdentifyRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): BoardIdentifyRequest; + static deserializeBinaryFromReader(message: BoardIdentifyRequest, reader: jspb.BinaryReader): BoardIdentifyRequest; +} + +export namespace BoardIdentifyRequest { + export type AsObject = { + instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject, + + propertiesMap: Array<[string, string]>, + useCloudApiForUnknownBoardDetection: boolean, + } +} + +export class BoardIdentifyResponse extends jspb.Message { + clearBoardsList(): void; + getBoardsList(): Array; + setBoardsList(value: Array): BoardIdentifyResponse; + addBoards(value?: BoardListItem, index?: number): BoardListItem; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): BoardIdentifyResponse.AsObject; + static toObject(includeInstance: boolean, msg: BoardIdentifyResponse): BoardIdentifyResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: BoardIdentifyResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): BoardIdentifyResponse; + static deserializeBinaryFromReader(message: BoardIdentifyResponse, reader: jspb.BinaryReader): BoardIdentifyResponse; +} + +export namespace BoardIdentifyResponse { + export type AsObject = { + boardsList: Array, + } +} diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js index 2625f2e0a..81abe9a99 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js @@ -28,6 +28,8 @@ goog.object.extend(proto, cc_arduino_cli_commands_v1_port_pb); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardDetailsRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardDetailsResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardIdentificationProperties', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest', null, global); +goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardListAllRequest', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardListAllResponse', null, global); goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BoardListItem', null, global); @@ -465,6 +467,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.cc.arduino.cli.commands.v1.BoardSearchResponse.displayName = 'proto.cc.arduino.cli.commands.v1.BoardSearchResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.displayName = 'proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.repeatedFields_, null); +}; +goog.inherits(proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.displayName = 'proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse'; +} @@ -3204,7 +3248,8 @@ proto.cc.arduino.cli.commands.v1.BoardListRequest.toObject = function(includeIns var f, obj = { instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), timeout: jspb.Message.getFieldWithDefault(msg, 2, 0), - fqbn: jspb.Message.getFieldWithDefault(msg, 3, "") + fqbn: jspb.Message.getFieldWithDefault(msg, 3, ""), + skipCloudApiForBoardDetection: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) }; if (includeInstance) { @@ -3254,6 +3299,10 @@ proto.cc.arduino.cli.commands.v1.BoardListRequest.deserializeBinaryFromReader = var value = /** @type {string} */ (reader.readString()); msg.setFqbn(value); break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setSkipCloudApiForBoardDetection(value); + break; default: reader.skipField(); break; @@ -3305,6 +3354,13 @@ proto.cc.arduino.cli.commands.v1.BoardListRequest.serializeBinaryToWriter = func f ); } + f = message.getSkipCloudApiForBoardDetection(); + if (f) { + writer.writeBool( + 4, + f + ); + } }; @@ -3381,6 +3437,24 @@ proto.cc.arduino.cli.commands.v1.BoardListRequest.prototype.setFqbn = function(v }; +/** + * optional bool skip_cloud_api_for_board_detection = 4; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BoardListRequest.prototype.getSkipCloudApiForBoardDetection = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.BoardListRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardListRequest.prototype.setSkipCloudApiForBoardDetection = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); +}; + + /** * List of repeated fields within this message type. @@ -4230,7 +4304,8 @@ proto.cc.arduino.cli.commands.v1.BoardListWatchRequest.prototype.toObject = func */ proto.cc.arduino.cli.commands.v1.BoardListWatchRequest.toObject = function(includeInstance, msg) { var f, obj = { - instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f) + instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), + skipCloudApiForBoardDetection: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -4272,6 +4347,10 @@ proto.cc.arduino.cli.commands.v1.BoardListWatchRequest.deserializeBinaryFromRead reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); msg.setInstance(value); break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setSkipCloudApiForBoardDetection(value); + break; default: reader.skipField(); break; @@ -4309,6 +4388,13 @@ proto.cc.arduino.cli.commands.v1.BoardListWatchRequest.serializeBinaryToWriter = cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter ); } + f = message.getSkipCloudApiForBoardDetection(); + if (f) { + writer.writeBool( + 2, + f + ); + } }; @@ -4349,6 +4435,24 @@ proto.cc.arduino.cli.commands.v1.BoardListWatchRequest.prototype.hasInstance = f }; +/** + * optional bool skip_cloud_api_for_board_detection = 2; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BoardListWatchRequest.prototype.getSkipCloudApiForBoardDetection = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.BoardListWatchRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardListWatchRequest.prototype.setSkipCloudApiForBoardDetection = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); +}; + + @@ -5172,4 +5276,378 @@ proto.cc.arduino.cli.commands.v1.BoardSearchResponse.prototype.clearBoardsList = }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.toObject = function(includeInstance, msg) { + var f, obj = { + instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f), + propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [], + useCloudApiForUnknownBoardDetection: jspb.Message.getBooleanFieldWithDefault(msg, 3, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest; + return proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new cc_arduino_cli_commands_v1_common_pb.Instance; + reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader); + msg.setInstance(value); + break; + case 2: + var value = msg.getPropertiesMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); + }); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setUseCloudApiForUnknownBoardDetection(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getInstance(); + if (f != null) { + writer.writeMessage( + 1, + f, + cc_arduino_cli_commands_v1_common_pb.Instance.serializeBinaryToWriter + ); + } + f = message.getPropertiesMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); + } + f = message.getUseCloudApiForUnknownBoardDetection(); + if (f) { + writer.writeBool( + 3, + f + ); + } +}; + + +/** + * optional Instance instance = 1; + * @return {?proto.cc.arduino.cli.commands.v1.Instance} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.getInstance = function() { + return /** @type{?proto.cc.arduino.cli.commands.v1.Instance} */ ( + jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Instance, 1)); +}; + + +/** + * @param {?proto.cc.arduino.cli.commands.v1.Instance|undefined} value + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} returns this +*/ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.setInstance = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.clearInstance = function() { + return this.setInstance(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.hasInstance = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * map properties = 2; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.getPropertiesMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 2, opt_noLazyCreate, + null)); +}; + + +/** + * Clears values from the map. The map will be non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.clearPropertiesMap = function() { + this.getPropertiesMap().clear(); + return this;}; + + +/** + * optional bool use_cloud_api_for_unknown_board_detection = 3; + * @return {boolean} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.getUseCloudApiForUnknownBoardDetection = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyRequest.prototype.setUseCloudApiForUnknownBoardDetection = function(value) { + return jspb.Message.setProto3BooleanField(this, 3, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.prototype.toObject = function(opt_includeInstance) { + return proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.toObject = function(includeInstance, msg) { + var f, obj = { + boardsList: jspb.Message.toObjectList(msg.getBoardsList(), + proto.cc.arduino.cli.commands.v1.BoardListItem.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse; + return proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.cc.arduino.cli.commands.v1.BoardListItem; + reader.readMessage(value,proto.cc.arduino.cli.commands.v1.BoardListItem.deserializeBinaryFromReader); + msg.addBoards(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getBoardsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.cc.arduino.cli.commands.v1.BoardListItem.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated BoardListItem boards = 1; + * @return {!Array} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.prototype.getBoardsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.BoardListItem, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse} returns this +*/ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.prototype.setBoardsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.cc.arduino.cli.commands.v1.BoardListItem=} opt_value + * @param {number=} opt_index + * @return {!proto.cc.arduino.cli.commands.v1.BoardListItem} + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.prototype.addBoards = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.v1.BoardListItem, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse} returns this + */ +proto.cc.arduino.cli.commands.v1.BoardIdentifyResponse.prototype.clearBoardsList = function() { + return this.setBoardsList([]); +}; + + goog.object.extend(exports, proto.cc.arduino.cli.commands.v1); diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts index c267fec60..d41e71c12 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts @@ -32,6 +32,7 @@ interface IArduinoCoreServiceService extends grpc.ServiceDefinition; responseDeserialize: grpc.deserialize; } +interface IArduinoCoreServiceService_IBoardIdentify extends grpc.MethodDefinition { + path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardIdentify"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} interface IArduinoCoreServiceService_IBoardListWatch extends grpc.MethodDefinition { path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardListWatch"; requestStream: false; @@ -528,6 +538,7 @@ export interface IArduinoCoreServiceServer extends grpc.UntypedServiceImplementa boardList: grpc.handleUnaryCall; boardListAll: grpc.handleUnaryCall; boardSearch: grpc.handleUnaryCall; + boardIdentify: grpc.handleUnaryCall; boardListWatch: grpc.handleServerStreamingCall; compile: grpc.handleServerStreamingCall; platformInstall: grpc.handleServerStreamingCall; @@ -605,6 +616,9 @@ export interface IArduinoCoreServiceClient { boardSearch(request: cc_arduino_cli_commands_v1_board_pb.BoardSearchRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardSearchResponse) => void): grpc.ClientUnaryCall; boardSearch(request: cc_arduino_cli_commands_v1_board_pb.BoardSearchRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardSearchResponse) => void): grpc.ClientUnaryCall; boardSearch(request: cc_arduino_cli_commands_v1_board_pb.BoardSearchRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardSearchResponse) => void): grpc.ClientUnaryCall; + boardIdentify(request: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse) => void): grpc.ClientUnaryCall; + boardIdentify(request: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse) => void): grpc.ClientUnaryCall; + boardIdentify(request: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse) => void): grpc.ClientUnaryCall; boardListWatch(request: cc_arduino_cli_commands_v1_board_pb.BoardListWatchRequest, options?: Partial): grpc.ClientReadableStream; boardListWatch(request: cc_arduino_cli_commands_v1_board_pb.BoardListWatchRequest, metadata?: grpc.Metadata, options?: Partial): grpc.ClientReadableStream; compile(request: cc_arduino_cli_commands_v1_compile_pb.CompileRequest, options?: Partial): grpc.ClientReadableStream; @@ -737,6 +751,9 @@ export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCor public boardSearch(request: cc_arduino_cli_commands_v1_board_pb.BoardSearchRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardSearchResponse) => void): grpc.ClientUnaryCall; public boardSearch(request: cc_arduino_cli_commands_v1_board_pb.BoardSearchRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardSearchResponse) => void): grpc.ClientUnaryCall; public boardSearch(request: cc_arduino_cli_commands_v1_board_pb.BoardSearchRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardSearchResponse) => void): grpc.ClientUnaryCall; + public boardIdentify(request: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse) => void): grpc.ClientUnaryCall; + public boardIdentify(request: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse) => void): grpc.ClientUnaryCall; + public boardIdentify(request: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse) => void): grpc.ClientUnaryCall; public boardListWatch(request: cc_arduino_cli_commands_v1_board_pb.BoardListWatchRequest, options?: Partial): grpc.ClientReadableStream; public boardListWatch(request: cc_arduino_cli_commands_v1_board_pb.BoardListWatchRequest, metadata?: grpc.Metadata, options?: Partial): grpc.ClientReadableStream; public compile(request: cc_arduino_cli_commands_v1_compile_pb.CompileRequest, options?: Partial): grpc.ClientReadableStream; diff --git a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js index 17ea5b8c4..70dd7a851 100644 --- a/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js +++ b/arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js @@ -74,6 +74,28 @@ function deserialize_cc_arduino_cli_commands_v1_BoardDetailsResponse(buffer_arg) return cc_arduino_cli_commands_v1_board_pb.BoardDetailsResponse.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_cc_arduino_cli_commands_v1_BoardIdentifyRequest(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.BoardIdentifyRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_BoardIdentifyRequest(buffer_arg) { + return cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_cc_arduino_cli_commands_v1_BoardIdentifyResponse(arg) { + if (!(arg instanceof cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse)) { + throw new Error('Expected argument of type cc.arduino.cli.commands.v1.BoardIdentifyResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_cc_arduino_cli_commands_v1_BoardIdentifyResponse(buffer_arg) { + return cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_cc_arduino_cli_commands_v1_BoardListAllRequest(arg) { if (!(arg instanceof cc_arduino_cli_commands_v1_board_pb.BoardListAllRequest)) { throw new Error('Expected argument of type cc.arduino.cli.commands.v1.BoardListAllRequest'); @@ -1282,6 +1304,18 @@ boardSearch: { responseSerialize: serialize_cc_arduino_cli_commands_v1_BoardSearchResponse, responseDeserialize: deserialize_cc_arduino_cli_commands_v1_BoardSearchResponse, }, + // Identify a board using the given properties. +boardIdentify: { + path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardIdentify', + requestStream: false, + responseStream: false, + requestType: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyRequest, + responseType: cc_arduino_cli_commands_v1_board_pb.BoardIdentifyResponse, + requestSerialize: serialize_cc_arduino_cli_commands_v1_BoardIdentifyRequest, + requestDeserialize: deserialize_cc_arduino_cli_commands_v1_BoardIdentifyRequest, + responseSerialize: serialize_cc_arduino_cli_commands_v1_BoardIdentifyResponse, + responseDeserialize: deserialize_cc_arduino_cli_commands_v1_BoardIdentifyResponse, + }, // List boards connection and disconnected events. boardListWatch: { path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardListWatch', From 0dff87e29c1d0d4f005fd0c94cd489498c749993 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 19:42:48 +0900 Subject: [PATCH 75/87] Updated translation files (#2597) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- i18n/af.json | 17 +- i18n/ar.json | 17 +- i18n/az.json | 17 +- i18n/be.json | 17 +- i18n/bg.json | 17 +- i18n/ca_ES.json | 17 +- i18n/cs.json | 333 +++++++++++++-------------- i18n/da.json | 17 +- i18n/de.json | 35 +-- i18n/el.json | 17 +- i18n/es.json | 19 +- i18n/eu.json | 17 +- i18n/fa.json | 17 +- i18n/fil.json | 17 +- i18n/fr.json | 223 +++++++++--------- i18n/he.json | 17 +- i18n/hu.json | 17 +- i18n/hy.json | 557 --------------------------------------------- i18n/id.json | 17 +- i18n/it.json | 17 +- i18n/ja.json | 17 +- i18n/ko.json | 17 +- i18n/my_MM.json | 17 +- i18n/ne.json | 17 +- i18n/nl.json | 17 +- i18n/no.json | 17 +- i18n/pl.json | 39 ++-- i18n/pt.json | 17 +- i18n/ro.json | 17 +- i18n/ru.json | 17 +- i18n/si.json | 17 +- i18n/sk.json | 557 --------------------------------------------- i18n/sr.json | 17 +- i18n/th.json | 563 +++++++++++++++++++++++----------------------- i18n/tr.json | 17 +- i18n/uk.json | 17 +- i18n/vi.json | 17 +- i18n/zh-Hant.json | 17 +- i18n/zh.json | 17 +- i18n/zh_TW.json | 17 +- 40 files changed, 973 insertions(+), 1897 deletions(-) delete mode 100644 i18n/hy.json delete mode 100644 i18n/sk.json diff --git a/i18n/af.json b/i18n/af.json index c6f4d2b10..4d3c5c0b9 100644 --- a/i18n/af.json +++ b/i18n/af.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Aflaai", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketsboek ligging", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "oplaai", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/ar.json b/i18n/ar.json index c0df39480..5bb6fad40 100644 --- a/i18n/ar.json +++ b/i18n/ar.json @@ -275,6 +275,9 @@ "checkForUpdates": "جار التحقق من التحديثات لـ Arduino IDE", "closeAndInstallButton": "قم بالاغلاق و التحديث", "closeToInstallNotice": "اغلق البرمجية و حّدث الجهاز الخاص بك ", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "حمّل", "downloadingNotice": "يتم تحميل اخر نسخة من Arduino IDE", "errorCheckingForUpdates": "حدث خطأ اثناء البحث عن تحديثات للـ Arduino IDE \n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "موقع ملف المشاريع", "sketchbook.showAllFiles": "True لعرض كل مجلدات مشاريع داخل المشروع . False افتراضيا", - "survey.notification": "مفعل اذا اراد المستخدم ان يتم تبليغه في حالوجود استطلاع راي . مفعل بشكل افتراضي", "unofficialBoardSupport": "انقر لعرض قائمة عناوين URL للوحات المدعومة بشكل غير رسمي", "upload": "الرفع", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "مشروع سحابي جديد", "newSketch": "مشروع جديد" }, - "survey": { - "answerSurvey": "الاجابة على الاستبيان", - "dismissSurvey": "لا تظهر مرة اخرى", - "surveyMessage": "يرجى ان تساعدنا لنحسن ادائنا من خلال الاجابة على هذا الاستبيان القصير جدا . نحن نحترم المجتمع الخاص بنا و نريد ان نتعرف بشكل افضل على داعمينا " - }, "theme": { "currentThemeNotFound": "تعذر الحصول على السمة التي تم اختيارها : {0} . Arduino IDE اختار سمات موجودة مسبقا و متوافقة مع السمة الغير متوفرة", "dark": "غامق", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "لا يمكن استخدام المشروع '{0}' , {1} قم باعادة تسمية المشروع للتخلص من هذه الرسالة . هل تريد اعادة تسمية المشروع الان؟", "renameSketchFolderTitle": "اسم المشروع غير صالح" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' موجود مسبقا" } diff --git a/i18n/az.json b/i18n/az.json index a462a8dae..8eaa924b5 100644 --- a/i18n/az.json +++ b/i18n/az.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Bağla Və Yüklə", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/be.json b/i18n/be.json index 8890f2c35..d57a5efbe 100644 --- a/i18n/be.json +++ b/i18n/be.json @@ -275,6 +275,9 @@ "checkForUpdates": "Праверыць наяўнасць абнаўленняў Arduino IDE", "closeAndInstallButton": "Зачыніць і ўсталяваць", "closeToInstallNotice": "Зачыніце праграмнае забеспячэнне і ўсталюйце абнаўленне на свой кампутар.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Спампаваць", "downloadingNotice": "Пампуе апошнюю версію Arduino IDE.", "errorCheckingForUpdates": "Памылка пры праверцы абнаўленняў Arduino IDE.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Месцазнаходжанне альбому з сцэнарамі", "sketchbook.showAllFiles": "Калі true, адлюстроўваюцца ўсе файлы сцэнараў унутры сцэнара.\nПершапачаткова false.", - "survey.notification": "Калі true, карыстальнікі павінны атрымліваць апавяшчэнні аб даступнасці апытання.\nПершапачаткова true.", "unofficialBoardSupport": "Пстрыкніце, каб праглядзець спіс адрасоў URL падтрымкі неафіцыйных плат", "upload": "выгрузіць", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Новы сцэнар у воблаку", "newSketch": "Новы сцэнар" }, - "survey": { - "answerSurvey": "Апытанне з адказамі", - "dismissSurvey": "Болей не адлюстроўваць", - "surveyMessage": "Калі ласка, дапамажыце нам стаць лепш, адказаўшы на гэтае звышкароткае апытанне.\nМы цэнім нашу супольнасць і хацелі б даведацца нашых прыхільнікаў трохі лепш." - }, "theme": { "currentThemeNotFound": "Не атрымалася знайсці абраную ў дадзены момант тэму: {0}.\nArduino IDE абрала ўбудаваную тэму, якая сумяшчальная з адсутнай.", "dark": "Цёмная", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "Сцэнар '{0}' не можа быць ужыты.\n{1} Каб пазбавіцца ад гэтага паведамлення, пераназавіце сцэнар.\nЦі жадаеце вы пераназваць сцэнар?", "renameSketchFolderTitle": "Хібная назва сцэнара" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "{0}' ужо існуе." } diff --git a/i18n/bg.json b/i18n/bg.json index a36be5219..d564bf42c 100644 --- a/i18n/bg.json +++ b/i18n/bg.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Местоположение на скицника", "sketchbook.showAllFiles": "True , за да се покажат всички файлове вътре в скицата. По подразбиране е false.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Щракнете за списък с неофициално поддържаните URL адреси на платки", "upload": "качване", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/ca_ES.json b/i18n/ca_ES.json index c39300d87..f14e61cc1 100644 --- a/i18n/ca_ES.json +++ b/i18n/ca_ES.json @@ -275,6 +275,9 @@ "checkForUpdates": "Comprova si hi ha actualitzacions de l'IDE d'Arduino", "closeAndInstallButton": "Tanca i instal·la", "closeToInstallNotice": "Tanqueu el programari i instal·leu l'actualització a la vostra màquina.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Descarrega", "downloadingNotice": "Descarregant de l'última versió de l'IDE d'Arduino.", "errorCheckingForUpdates": "S'ha produït un error en comprovar si hi ha actualitzacions de l'IDE d'Arduino.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Ubicació del quadern de programes", "sketchbook.showAllFiles": "Si està activat es mostraran els fitxers dins del programa. Per defecte està desactivat.", - "survey.notification": "Si està activat els usuaris seran notificats si hi ha una enquesta disponible. Per defecte està activat.", "unofficialBoardSupport": "Fes clic per obtenir una llista d'URLs de suport de plaques no oficials", "upload": "carrega", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Programa del núvol nou", "newSketch": "Programa nou" }, - "survey": { - "answerSurvey": "Contesta l'enquesta", - "dismissSurvey": "No ho tornes a mostrar", - "surveyMessage": "Ajuda'ns a millorar contestant aquesta enquesta súper curta. Valorem la nostra comunitat i volem conéixer els nostres usuaris un poc millor." - }, "theme": { "currentThemeNotFound": "No s'ha trobat el nom seleccionat: {0}. L'IDE d'Arduino ha agafat un tema compatible amb el que falta.", "dark": "Fosc", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "El programa \"{0}\" no es pot usar. {1} Per obtindre detalls del missatge, reanomena el programa. Vols reanomenar-lo ara?", "renameSketchFolderTitle": "El nom del programa no és vàlid" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "\"{0}\" ja existeix." } diff --git a/i18n/cs.json b/i18n/cs.json index 4226e419e..ea2270185 100644 --- a/i18n/cs.json +++ b/i18n/cs.json @@ -1,28 +1,28 @@ { "arduino": { "about": { - "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "detail": "Verze: {0}\nDatum: {1}[2]\nVerze CLI: {3}{4} [{5}]\n\n{6}", "label": "O {0}" }, "account": { "goToCloudEditor": "Otevřít v cloudovém editoru", - "goToIoTCloud": "Go to IoT Cloud", + "goToIoTCloud": "Jít do IoT cloudu", "goToProfile": "Jdi do profilu", "menuTitle": "Arduino Cloud" }, "board": { "board": "Deska {0}", - "boardConfigDialogTitle": "Zvolit jinou Desku a Port", - "boardDataReloaded": "Board data reloaded.", + "boardConfigDialogTitle": "Zvolit jinou desku a port", + "boardDataReloaded": "Informace o desce znovunačteny", "boardInfo": "Info o desce", "boards": "Desky", - "configDialog1": "Pokud chcete nahrát sketch, musíte zvolit jak desku tak i port.", - "configDialog2": "Pokud zvolíte jen desku, budete schopni kompilovat sketch, ale nebudete ji moci nahrát do desky.", - "couldNotFindPreviouslySelected": "Dříve zvolená deska '{0}' v instalované platformě '{1}' nebyla nalezena. Zvolte prosím manuálně desku kterou chcete použít. Chcete tuto desku zvolit nyní? ", + "configDialog1": "Pokud chcete nahrát projekt do desky, musíte zvolit jak desku, tak i port.", + "configDialog2": "Pokud zvolíte pouze desku, budete schopni projekt kompilovat, ale nebudete jej moci nahrát do desky.", + "couldNotFindPreviouslySelected": "Dříve zvolená deska '{0}' v instalované platformě '{1}' nebyla nalezena. Zvolte prosím manuálně desku, kterou chcete použít. Chcete tuto desku zvolit nyní? ", "editBoardsConfig": "Editovat Desku a Port", - "getBoardInfo": "Získat info o desce.", + "getBoardInfo": "Získat info o desce", "inSketchbook": "(v projektech)", - "installNow": "\"{0}{1}\" jádro musí být instalováno pro aktuálně zvolenou \"{2}\" desku. Chcete ho nyní nainstalovat?", + "installNow": "Jádro \"{0}{1}\" musí být instalováno pro aktuálně zvolenou \"{2}\" desku. Chcete ho nyní nainstalovat?", "noBoardsFound": "Nenalezeny žádné desky pro \"{0}\"", "noNativeSerialPort": "Fyzický sériový port, nemohu získat informace.", "noPortsDiscovered": "Nenalezeny žádné porty", @@ -32,12 +32,12 @@ "port": "Port {0}", "ports": "porty", "programmer": "Programátor", - "reloadBoardData": "Reload Board Data", + "reloadBoardData": "Znovunačíst údaje o desce", "reselectLater": "Zvolit později", "revertBoardsConfig": "Použij '{0}' objeven na '{1}'", "searchBoard": "Vyhledat desku", "selectBoard": "Zvolit desku", - "selectBoardToReload": "Please select a board first.", + "selectBoardToReload": "Nejprve zvolte desku", "selectPortForInfo": "Prosím zvolte port pro získání informací o desce.", "showAllAvailablePorts": "Zobrazit všechny dostupné porty (pokud je zaškrtnuto)", "showAllPorts": "Ukázat všechny porty", @@ -80,22 +80,22 @@ "checkForUpdates": "Kontrola pro aktualizace", "installAll": "Instalovat vše", "noUpdates": "Nejsou k dispozici žádné aktualizace", - "promptUpdateBoards": "Jsou k dispozici aktualizace pro některé z vašich desek ", + "promptUpdateBoards": "Pro některé z vašich desek jsou k dispozici aktualizace", "promptUpdateLibraries": "Jsou k dispozici aktualizace pro některé z vašich knihoven", "updatingBoards": "Aktualizuji desky...", "updatingLibraries": "Aktualizuji knihovny..." }, "cli-error-parser": { - "keyboardError": "'Keyboard' nebylo nalezeno. Obsahuje váš projekt řádek '#include '?", - "mouseError": "'Myš' nebyla nalezena. Obsahuje váš projekt řádek '#include '?" + "keyboardError": "‚Keyboard‘ nebylo nalezeno. Nechybí ve vašem projektu řádek ‚#include ‘?", + "mouseError": "‚Mouse‘ nebylo nalezeno. Nechybí ve vašem projektu řádek ‚#include ‘?" }, "cloud": { - "chooseSketchVisibility": "Zvolte viditelnost sketche:", + "chooseSketchVisibility": "Zvolte viditelnost projektu:", "cloudSketchbook": "Cloudové umístění projektů", "connected": "Připojen", "continue": "Pokračovat", - "donePulling": "Done pulling '{0}'.", - "donePushing": "Done pushing '{0}'.", + "donePulling": "Dokončeno stahování '{0}'.", + "donePushing": "Dokončeno odesílání '{0}'.", "embed": "Vložit: ", "emptySketchbook": "Umístění projektů je prázdné", "goToCloud": "Jít na Cloud", @@ -105,92 +105,92 @@ "offline": "Nepřipojen", "openInCloudEditor": "Otevřít v cloudovém editoru", "options": "Možnosti...", - "privateVisibility": "Soukromá. Pouze vy můžete vidět tuto sketch.", + "privateVisibility": "Soukromý projekt. Pouze vy jej můžete vidět.", "profilePicture": "Profilový obrázek", - "publicVisibility": "Veřejná. Kdokoli s odkazem může vidět tuto sketch.", + "publicVisibility": "Veřejný projekt. Kdokoliv s tímto odkazem jej může vidět.", "pull": "Stáhnout", "pullFirst": "Nejprve musíte stáhnout z cloudu, aby bylo možno do něj odeslat.", - "pullSketch": "Stáhnout sketch", - "pullSketchMsg": "Stažením této sketche z cloudu přepíšete její lokální verzi. Chcete opravdu pokračovat?", + "pullSketch": "Stáhnout projekt", + "pullSketchMsg": "Stažení tohoto projektu z cloudu přepíše jeho místní verzi. Jste si jisti, že chcete pokračovat?", "push": "Odeslat", - "pushSketch": "Odeslat sketch", - "pushSketchMsg": "Toto je veřejná sketch. Před odesláním se prosím ujistěte že jsou smazané citlivé informace ze souboru arduino_secrets.h . Tuto sketch můžete změnit na soukromou v panelu pro sdílení. ", + "pushSketch": "Odeslat projekt", + "pushSketchMsg": "Toto je veřejný projekt. Před odesláním se prosím ujistěte, že všechny citlivé informace ze souboru arduino_secrets.h jsou smazané. Tento projekt můžete kdykoliv učinit znovu soukromým v panelu sdílení. ", "remote": "Vzdálený", "share": "Sdílet...", - "shareSketch": "Sdílet sketch", - "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "shareSketch": "Sdílet projekt", + "showHideSketchbook": "Zobrazit/skrýt cloudové projekty", "signIn": "Přihlásit se", "signInToCloud": "Přihlásit se do Arduino Cloud", "signOut": "Odhlásit se", "sync": "Synchronizovat", - "syncEditSketches": "Synchronizovat a editovat sketche v Arduino Cloud", - "visitArduinoCloud": "Navštivte Arduino Cloud pro vytvoření cloudové sketche" + "syncEditSketches": "Synchronizujte a upravujte vaše Arduino cloudové projekty", + "visitArduinoCloud": "Navštivte Arduino Cloud pro vytvoření cloudového projektu." }, "cloudSketch": { - "alreadyExists": "Cloud sketch '{0}' already exists.", - "creating": "Creating cloud sketch '{0}'...", - "new": "New Cloud Sketch", - "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", - "pulling": "Synchronizing sketchbook, pulling '{0}'...", - "pushing": "Synchronizing sketchbook, pushing '{0}'...", - "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", + "alreadyExists": "Cloudový projekt '{0}' již existuje.", + "creating": "Vytváření cloudového projektu '{0}'…", + "new": "Nový cloudový projekt", + "notFound": "Nepodařilo se odeslat cloudový projekt '{0}'. Neexistuje.", + "pulling": "Synchronizace projektů, odesílání '{0}'…", + "pushing": "Synchronizace projektů, odesílání '{0}'…", + "renaming": "Přejmenovávání cloudového projektu z '{0}' na '{1}'…", "synchronizingSketchbook": "Synchronizuji projekt..." }, "common": { "all": "Vše", - "contributed": "Contributed", + "contributed": "Přispěl", "installManually": "Instalovat ručně", "later": "Později", "noBoardSelected": "Nebyla zvolena deska", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Žádný otevřený projekt", "notConnected": "[nepřipojen]", - "offlineIndicator": "Nejspíše nejste online. Bez Internetového připojení nebude Arduino CLI schopno stáhnout potřebné zdroje a toto může způsobit chybu. Prosím připojte se k Internetu a restartujte aplikaci.", + "offlineIndicator": "Nejspíše jste offline. Bez Internetového připojení není Arduino CLI schopno stáhnout potřebné zdroje, a to může způsobit chybu. Prosím připojte se k internetu a restartujte aplikaci.", "oldFormat": "{0}používá stále starý formát `.pde`. Chcete ho převést na soubor s příponou `.ino`?", "partner": "Partner", "processing": "Zpracovávám", "recommended": "Doporučené", "retired": "Zastaralý", - "selectManually": "Select Manually", + "selectManually": "Zvolit ručně", "selectedOn": "zapnuto{0}", "serialMonitor": "Seriový monitor", "type": "typ", "unknown": "Neznámý", - "updateable": "Updatable", - "userAbort": "User abort" + "updateable": "Aktualizovatelné", + "userAbort": "Přerušení uživatelem" }, "compile": { "error": "Chyba kompilace: {0}" }, "component": { - "boardsIncluded": "Boards included in this package:", + "boardsIncluded": "Desky obsažené v tomto balíku:", "by": "od", - "clickToOpen": "Click to open in browser: {0}", + "clickToOpen": "Klikněte pro otevření v prohlížeči: {0}", "filterSearch": "Filtrovat vyhledávání... ", "install": "Instalovat", - "installLatest": "Install Latest", - "installVersion": "Install {0}", - "installed": "{0} installed", + "installLatest": "Instalovat poslední", + "installVersion": "Instalovat {0}", + "installed": "{0} nainstalováno", "moreInfo": "Více informací", - "otherVersions": "Other Versions", + "otherVersions": "Ostatní verze", "remove": "Odstranit", - "title": "{0} by {1}", + "title": "{0} podle {1}", "uninstall": "Odinstalovat", "uninstallMsg": "Chcete odinstalovat {0}?", - "update": "Update" + "update": "Aktualizovat" }, "configuration": { "cli": { - "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + "inaccessibleDirectory": "Nepodařilo se získat přístup k lokaci projektu v '{0}': {1}" } }, "connectionStatus": { - "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + "connectionLost": "Připojení ztraceno. Cloudové akce a aktualizace nebudou dostupné. " }, "contributions": { "addFile": "Přidat soubor", - "fileAdded": "Soubor byl přidán do sketche.", + "fileAdded": "Jeden soubor byl přidán do projektu.", "plotter": { - "couldNotOpen": "Couldn't open serial plotter" + "couldNotOpen": "Nepodařilo se otevřít sériový vykreslovač" }, "replaceTitle": "Vyměnit" }, @@ -203,27 +203,27 @@ } }, "coreContribution": { - "copyError": "Copy error messages", - "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + "copyError": "Kopírovat chybové hlášky", + "noBoardSelected": "Není vybraná žádná deska. Vyberte vaši desku z Nástroje > Deska nabídky." }, - "createCloudCopy": "Push Sketch to Cloud", + "createCloudCopy": "Odeslat projekt do cloudu", "daemon": { - "restart": "Restart Daemon", + "restart": "Restartovat Daemon", "start": "Spustit Daemon", "stop": "Zastavit Daemon" }, "debug": { "debugWithMessage": "Debug - {0}", "debuggingNotSupported": "Debugging není podporován s '{0}'", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "Získat informace o ladění…", "noPlatformInstalledFor": "Platforma není nainstalována pro '{0}'", "optimizeForDebugging": "optimalizovat pro Debugging", - "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + "sketchIsNotCompiled": "Projekt '{0}' musí být ověřený před zahájením relace ladění. Ověřte projekt a zahajte ladění znovu. Přejete si ověřit projekt rovnou?" }, "developer": { - "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", - "dumpBoardList": "Dump the Board List" + "clearBoardList": "Vyčistit historii seznamu desek", + "clearBoardsConfig": "Vymazat výběr desky a portu", + "dumpBoardList": "Vypsat seznam desek" }, "dialog": { "dontAskAgain": "Znovu se neptat" @@ -253,11 +253,11 @@ "failedInstall": "Instalace se nezdařila. Prosím zkuste to později. ", "install": "Instalovat", "installingFirmware": "Instaluji firmware.", - "overwriteSketch": "Instalace přepíše sketch na desce.", + "overwriteSketch": "Instalace přepíše projekt nahraný na desce.", "selectBoard": "Zvolit desku", "selectVersion": "Zvolit verzi firmwaru", "successfullyInstalled": "Firmware byl úspěšně nainstalován. ", - "updater": "Firmware Updater" + "updater": "aktualizační program firmwaru" }, "help": { "environment": "Prostředí", @@ -275,6 +275,9 @@ "checkForUpdates": "Zkontrolovat aktualizace", "closeAndInstallButton": "Zavřít a nainstalovat", "closeToInstallNotice": "Vypněte program a nainstalujte update na Váš stroj. ", + "donateLinkIconTitle": "otevřít stránku pro darování", + "donateLinkText": "darujte, abyste nás podpořili", + "donateText": "Open source is láska, {0}", "downloadButton": "Stáhnout", "downloadingNotice": "Stahuji poslední verzi Arduino IDE.", "errorCheckingForUpdates": "Nastala chyba při kontrole aktualizací Arduino IDE{0}", @@ -289,8 +292,8 @@ "versionDownloaded": "Arduino IDE {0}bylo staženo." }, "installable": { - "libraryInstallFailed": "Failed to install library: '{0}{1}'.", - "platformInstallFailed": "Failed to install platform: '{0}{1}'." + "libraryInstallFailed": "Instalace knihovny '{0}{1}' se nezdařila. ", + "platformInstallFailed": "Instalace platformy '{0}{1}' se nezdařila. " }, "library": { "addZip": "Přidat .ZIP knihovnu...", @@ -298,10 +301,10 @@ "contributedLibraries": "Přispěné knihovny", "include": "Zahrnout knihovnu", "installAll": "Instalovat vše", - "installLibraryDependencies": "Install library dependencies", + "installLibraryDependencies": "Instalovat závislosti knihovny", "installMissingDependencies": "Chcete nainstalovat všechny chybějící závislosti? ", "installOneMissingDependency": "Chcete nainstalovat chybějící závislost? ", - "installWithoutDependencies": "Install without dependencies", + "installWithoutDependencies": "Instalovat bez závislostí", "installedSuccessfully": "Knihovna {0}:{1}byla úspěšně nainstalována", "libraryAlreadyExists": "Knihovna již existuje. Chcete jí přepsat?", "manageLibraries": "Spravovat knihovny...", @@ -318,42 +321,42 @@ "topic": "Téma" }, "libraryTopic": { - "communication": "Communication", - "dataProcessing": "Data Processing", - "dataStorage": "Data Storage", - "deviceControl": "Device Control", - "display": "Display", + "communication": "Komunikace", + "dataProcessing": "Zpracovávání dat", + "dataStorage": "Ukládání dat", + "deviceControl": "Ovládání zařízení", + "display": "Displej", "other": "Jiné", "sensors": "Senzory", - "signalInputOutput": "Signal Input/Output", + "signalInputOutput": "Vstup/výstup signálu", "timing": "Časování", - "uncategorized": "Uncategorized" + "uncategorized": "Nezařazeno" }, "libraryType": { "installed": "Nainstalováno" }, "menu": { "advanced": "Pokročilé", - "sketch": "Sketch", + "sketch": "Projekt", "tools": "Nástroje" }, "monitor": { - "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", - "baudRate": "{0} baud", - "connectionFailedError": "Could not connect to {0} {1} port.", - "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", - "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", - "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", - "notConnectedError": "Not connected to {0} {1} port.", - "unableToCloseWebSocket": "Unable to close websocket", - "unableToConnectToWebSocket": "Unable to connect to websocket" + "alreadyConnectedError": "Nepovedlo se připojit k {0} {1} portu. Již připojeno.", + "baudRate": "{0} baudů", + "connectionFailedError": "Nepovedlo se připojit k {0} {1} portu.", + "connectionFailedErrorWithDetails": "{0} Nepovedlo se připojit k {1} {2} portu.", + "connectionTimeout": "Vypršel časový limit. IDE neobdrželo od sériového monitoru zprávu o úspěchu po úspěšném připojení", + "missingConfigurationError": "Nepovedlo se připojit k {0} {1} portu. Chybí konfigurace sériového monitoru.", + "notConnectedError": "Nepřipojeno k {0} {1} portu.", + "unableToCloseWebSocket": "Nelze uzavřít websocket", + "unableToConnectToWebSocket": "Nelze se připojit k websocketu" }, "newCloudSketch": { - "newSketchTitle": "Name of the new Cloud Sketch" + "newSketchTitle": "Název nového cloudového projektu" }, "portProtocol": { "network": "Síť", - "serial": "Serial" + "serial": "Sériový" }, "preferences": { "additionalManagerURLs": "Další URL pro manager desek", @@ -364,41 +367,41 @@ "automatic": "Automaticky", "board.certificates": "Seznam certifikátů, které mohou být nahrány na desky", "browse": "Procházet", - "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "checkForUpdate": "Dostávejte oznámení o dostupných aktualizacích pro IDE, desky a knihovny. Po změně vyžaduje restart IDE. Ve výchozím nastavení zapnuto.", "choose": "Zvolit", - "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", - "cloud.enabled": "Ano pokud je povolená automatická synchronizace sketche. Ano je výchozí hodnota. ", - "cloud.pull.warn": "Ano pokud by měl být uživatel varován před stahováním cloud sketche. Ano je výchozí hodnota. ", - "cloud.push.warn": "Ano pokud by měl být uživatel varován před odesláním cloud sketche. Ano je výchozí hodnota. ", - "cloud.pushpublic.warn": "Ano pokud by měl být uživatel varován před odesláním veřejné sketche do cloudu. Ano je výchozí hodnota. ", - "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", - "cloud.sketchSyncEndpoint": "Endpoint použitý pro stahování a odesílání sketchí z backendu. Ve výchozím stavu je toto směrováno na Arduino Cloud API.", + "cli.daemonDebug": "Zapnout ladící logování gRPC volání na Arduino CLI. Pro aplikaci tohoto nastavení je nutný restart IDE. Ve výchozím nastavení vypnuto.", + "cloud.enabled": "Zapnuto, pokud jsou zapnuty funkce synchonizace. Ve výchozím nastavení zapnuto.", + "cloud.pull.warn": "Zapnout, pokud uživatelé mají být varováni před stahování cloudového projektu. Ve výchozím nastavení zapnuto.", + "cloud.push.warn": "Zapnout, pokud uživatelé mají být varováni před odesláním cloudového projektu. Ve výchozím nastavení zapnuto.", + "cloud.pushpublic.warn": "Zapnout, pokud uživatelé mají být varováni před odesláním veřejného projektu do cloudu. Ve výchozím nastavení zapnuto. ", + "cloud.sharedSpaceId": "ID sdíleného prostoru Arduino Cloud, z nějž se načítají projekty. Pokud je prázdné, je vybrán váš soukromý prostor.", + "cloud.sketchSyncEndpoint": "Koncový bod používaný k odesílání a stahování projektů ze vzdáleného úložiště. Ve výchozím nastavení směřuje na API Arduino Cloud.", "compile": "kompilovat", - "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", - "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", + "compile.experimental": "Zapnout, pokud má IDE zpracovávat více chyb kompilátoru. Ve výchozím nastavení vypnuto.", + "compile.revealRange": "Upravuje způsob, jakým jsou chyby kompilátoru zobrazeny v editoru po neúspěšném ověření/nahrání. Možné hodnoty: „auto\": Posune zobrazení svisle podle potřeby a zobrazí řádek. „center\": Posune zobrazení svisle podle potřeby a zobrazí řádek ve středu. „top\": Posune zobrazení svisle podle potřeby a zobrazí řádek blízko horní části okna, optimalizováno pro zobrazení definice kódu. „centerIfOutsideViewport\": Posune zobrazení svisle podle potřeby a zobrazí řádek ve středu pouze pokud je mimo aktuální zobrazení. Výchozí hodnota je '{0}'.", "compile.verbose": "Ano pro podrobný výstup při kompilaci. Ne je výchozí hodnota. ", "compile.warnings": "Řekne gcc který stupeň varování se má použít. \"Žádný\" je výchozí hodnota. ", "compilerWarnings": "Varování kompileru", "editorFontSize": "Editor velikosti fontu", "editorQuickSuggestions": "Rychlá nápověda v editoru", "enterAdditionalURLs": "Vložte další URL, jednu pro každý řádek", - "files.inside.sketches": "Zobrazit soubory uvnitř sketche", - "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", + "files.inside.sketches": "Zobrazit soubory uvnitř projektů", + "ide.updateBaseUrl": "Základní URL, z níž se stahují aktualizace. Ve výchozím nastavení: 'https://downloads.arduino.cc/arduino-ide'.", "ide.updateChannel": "Výběr kanálu pro aktualizace. 'stable' pro stabilní vydání, 'nightly' pro nejnovější vývojové verze.", "interfaceScale": "Velikost rozhraní", "invalid.editorFontSize": "Neplatná velikost editoru písem: Toto číslo musí být kladné.", "invalid.sketchbook.location": "Neplatné umístění projektů:{0}", "invalid.theme": "Neplatné téma.", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", - "language.log": "Ano pokud by jazykový server pro Arduino měl generovat logovací soubory do složky se sketchi, jinak ne. Ne je výchozí hodnota.", - "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", + "language.asyncWorkers": "Počet asynchronních pracovníků – async workers – používaných Arduino Language Serverem (clangd). Indexování na pozadí používá také tento počet pracovníků. Minimální hodnota je 0 a maximální 8. Při hodnotě 0 používá jazykový server všechna dostupná jádra. Výchozí hodnota je 0.", + "language.log": "Zapnout, aby Arduino Language Server vytvářel soubory `.log` do složek projektů. Jinak vypnuto. Ve výchozím nastavení vypnuto. ", + "language.realTimeDiagnostics": "Pokud je zapnuto, jazykový server poskytuje diagnostiku v reálném čase při psaní v editoru. Ve výchozím nastavení vypnuto.", "manualProxy": "Ruční nastavení proxy", "monitor": { - "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." + "dockPanel": "Oblast aplikačního prostředí, kde bude umístěn widget _{0}_. Může být buď „bottom\" – dole – nebo „right\" – vpravo. Výchozí hodnota je „{1}\"." }, "network": "Síť", "newSketchbookLocation": "Zvolit nové umístění projektů", - "noCliConfig": "Could not load the CLI configuration", + "noCliConfig": "Nepovedlo se načíst CLI konfiguraci", "noProxy": "Bez proxy", "proxySettings": { "hostname": "Jméno hosta", @@ -408,71 +411,70 @@ }, "showVerbose": "Zobrazit podrobný výstup během", "sketch": { - "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + "inoBlueprint": "Cesta v souborovém systému k výchozí šabloně souborů `.ino`. Pokud je specifikována, obsah této šablony bude použit pro každý nový projekt vytvořený v IDE. Pokud není specifikována, projekty budou generovány s výchozím Arduino obsahem. Nedostupné šablony jsou ignorovány. Pro aplikaci tohoto nastavení **je potřeba restartovat IDE**." }, - "sketchbook.location": "Umístění sketche", - "sketchbook.showAllFiles": "Ano pro zobrazení všech souborů sketche. Ne je výchozí hodnota. ", - "survey.notification": "True if users should be notified if a survey is available. True by default.", + "sketchbook.location": "Umístění projektu", + "sketchbook.showAllFiles": "Zapnout zobrazování všech projektů uvnitř projektu. Ve výchozím nastavení vypnuto.", "unofficialBoardSupport": "Zde klikněte pro seznam adres neoficiálně podporovaných desek", "upload": "nahrát", - "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", + "upload.autoVerify": "Zapnout, pokud má IDE automaticky ověřit kód před nahráním. Ve výchozím nastavení zapnuto. Pokud je tato hodnota vypnuta, IDE nekompiluje kód znovu před nahráním binárního souboru na desku. Nanejvýš důrazně se doporučuje nastavit tuto hodnotu na vypnuto pouze, pokud jste si naprosto jisti tím, že víte, co děláte.", "upload.verbose": "Ano pro podrobný výstup při nahrávání. Ne je výchozí hodnota. ", - "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", + "upload.verify": "Po nahrání ověřte, že obsah paměti na desce odpovídá nahranému binárnímu souboru.", "verifyAfterUpload": "Kontrolovat kód po nahrání", "window.autoScale": "Ano pokud se měřítko uživatelského prostředí automaticky mění s velikostí písma. ", "window.zoomLevel": { - "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." + "deprecationMessage": "Zastaralé. Použijte místo toho 'window.zoomLevel'." } }, "renameCloudSketch": { - "renameSketchTitle": "New name of the Cloud Sketch" + "renameSketchTitle": "Nový název cloudového projektu" }, "replaceMsg": "Vyměnit existující verzi {0}?", "selectZip": "Zvolte ZIP soubor s knihovnou kterou chcete přidat", "serial": { "autoscroll": "Autoscroll", "carriageReturn": "Enter (CR)", - "connecting": "Connecting to '{0}' on '{1}'...", - "message": "Message (Enter to send message to '{0}' on '{1}')", + "connecting": "Připojování k '{0}' na '{1}'…", + "message": "Zpráva (Enter pro odeslání zprávy do '{0}' na '{1}')", "newLine": "Nový řádek (NL)", "newLineCarriageReturn": "Oba NL & CR", "noLineEndings": "Bez konce řádku", "notConnected": "Nepřipojen. Zvolte desku a port pro automatické připojení.", - "openSerialPlotter": "Serial Plotter", + "openSerialPlotter": "Sériový vykreslovač", "timestamp": "Časová značka", "toggleTimestamp": "Přepnout časovou značku" }, "sketch": { - "archiveSketch": "Archivovat sketch", - "cantOpen": "Složka s názvem \"{0}\" již existuje, proto nemohu otevřít sketch. ", - "compile": "Compiling sketch...", - "configureAndUpload": "Configure and Upload", + "archiveSketch": "Archivovat projekt", + "cantOpen": "Složka s názvem \"{0}\" již existuje, proto nelze projekt otevřít. ", + "compile": "Kompiluji projekt…", + "configureAndUpload": "Nastavit a nahrát", "createdArchive": "Vytvořen archív '{0}'.", "doneCompiling": "Ověřování dokončeno.", "doneUploading": "Nahrávání dokončeno. ", - "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", - "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "editInvalidSketchFolderLocationQuestion": "Chcete zkusit projekt uložit s jiným umístěním?", + "editInvalidSketchFolderQuestion": "Chcete zkusit projekt uložit s jiným názvem?", "exportBinary": "Exportovat kompilované soubory", - "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", - "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", - "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", - "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", - "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", + "invalidCloudSketchName": "Název musí začínat písmenem, číslicí nebo podtržítkem, za nímž následují písmena, číslice, pomlčky, tečky a podtržítka. Maximální délka názvu činí 36 znaků.", + "invalidSketchFolderLocationDetails": "Projekt nelze uložit do složky uvnitř sebe sama.", + "invalidSketchFolderLocationMessage": "Neplatné umístění složky projektu: '{0}'", + "invalidSketchFolderNameMessage": "Neplatný název složky projektu '{0}'", + "invalidSketchName": "Název musí začínat písmenem, číslicí nebo podtržítkem, za nímž následují písmena, číslice, pomlčky, tečky a podtržítka. Maximální délka názvu činí 63 znaků.", "moving": "Přesouvám", - "movingMsg": "Soubor \"{0}\" musí být uvnitř složky která je shodná názvem \"{1}\".\nVytvořit složku, přesunout tam- soubor a pokračovat? ", - "new": "New Sketch", - "noTrailingPeriod": "A filename cannot end with a dot", + "movingMsg": "Soubor \"{0}\" musí být uvnitř složky pojmenované \"{1}\".\nVytvořit složku, přesunout do ní soubor a pokračovat?", + "new": "Nový projekt", + "noTrailingPeriod": "Název souboru nemůže končit tečkou", "openFolder": "Otevřít složku", "openRecent": "Otevřít nedávné", - "openSketchInNewWindow": "Otevřít sketch v novém okně", - "reservedFilename": "'{0}' is a reserved filename.", - "saveFolderAs": "Uložit složku sketche jako...", - "saveSketch": "Uložte svůj sketch, abyste ho mohli znovu otevřít později.", - "saveSketchAs": "Uložit složku sketche jako...", - "showFolder": "Zobrazit složku sketche", - "sketch": "Sketch", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", + "openSketchInNewWindow": "Otevřít projekt v novém okně", + "reservedFilename": "'{0}' je vyhrazený název souboru.", + "saveFolderAs": "Uložit projekt jako…", + "saveSketch": "Uložte svůj projekt, abyste ho mohli znovu otevřít později.", + "saveSketchAs": "Uložit složku projektu jako…", + "showFolder": "Zobrazit složku projektu", + "sketch": "Projekt", + "sketchAlreadyContainsThisFileError": "Projekt již obsahuje soubor pojmenovaný ‚{0}‘", + "sketchAlreadyContainsThisFileMessage": "Nepovedlo se uložit projekt „{0}“ jako „{1}“. {2}", "sketchbook": "Projekty", "titleLocalSketchbook": "Složka lokálních projektů", "titleSketchbook": "Projekty", @@ -484,30 +486,25 @@ "verifyOrCompile": "Ověřit/Kompilovat" }, "sketchbook": { - "newCloudSketch": "New Cloud Sketch", - "newSketch": "New Sketch" - }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Znovu nezobrazovat", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." + "newCloudSketch": "Nový cloudový projekt", + "newSketch": "Nový projekt" }, "theme": { - "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", - "dark": "Dark", - "deprecated": "{0} (deprecated)", - "hc": "Dark High Contrast", - "hcLight": "Light High Contrast", - "light": "Light", - "user": "{0} (user)" + "currentThemeNotFound": "Nelze najít aktuálně vybrané téma: {0}. Arduino IDE vybralo vestavěné téma kompatibilní s chybějícím tématem.", + "dark": "Tmavý", + "deprecated": "{0} (zastaralé)", + "hc": "Tmavý s vysokým kontrastem", + "hcLight": "Světlý s vysokým kontrastem", + "light": "Světlý", + "user": "{0} (uživatel)" }, "title": { "cloud": "Cloud" }, "updateIndexes": { - "updateIndexes": "Update Indexes", - "updateLibraryIndex": "Update Library Index", - "updatePackageIndex": "Update Package Index" + "updateIndexes": "Aktualizovat indexy", + "updateLibraryIndex": "Aktualizovat index knihoven", + "updatePackageIndex": "Aktualizovat index balíků" }, "upload": { "error": "{0}chyba: {1}" @@ -518,22 +515,30 @@ "upload": "Nahrát" }, "validateSketch": { - "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", - "abortFixTitle": "Invalid sketch", - "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", - "renameSketchFileTitle": "Invalid sketch filename", - "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", - "renameSketchFolderTitle": "Invalid sketch name" + "abortFixMessage": "Projekt je stále neplatný. Přejete si opravit zbývající problémy? Kliknutím na '{0}' se otevře nový projekt.", + "abortFixTitle": "Neplatný projekt", + "renameSketchFileMessage": "Projekt '{0}' nelze použít. {1} Přejete si jej teď přejmenovat?", + "renameSketchFileTitle": "Neplatný název projektu", + "renameSketchFolderMessage": "Projekt '{0}' nelze použít. {1} Chcete-li se této zprávy zbavit, přejmenujte jej. Přejete si projekt teď přejmenovat?", + "renameSketchFolderTitle": "Neplatný název projektu" + }, + "versionWelcome": { + "cancelButton": "Možná později.", + "donateButton": "Darujte teď! 😀", + "donateMessage": "Arduino se zavázalo udržovat software zdarma a s otevřeným zdrojovým kódem pro všechny. Váš příspěvek nám pomáhá vyvíjet nové funkce, vylepšovat knihovny a podporovat miliony uživatelů po celém světě.", + "donateMessage2": "Zvažte prosím podporu naší práce na bezplatném a open source Arduino IDE.", + "title": "Vítejte v nové verzi Arduina IDE!", + "titleWithVersion": "Vítejte v novém Arduino IDE {0}!" }, "workspace": { - "alreadyExists": "'{0}' already exists." + "alreadyExists": "'{0}' již existuje." } }, "theia": { "core": { "cannotConnectBackend": "Nebylo možné se připojit k backendu. ", "cannotConnectDaemon": "Nebylo možné se připojit k CLI Daemon.", - "couldNotSave": "Nebylo možné uložit sketch. Zkopírujte prosím neuloženou práci do Vašeho oblíbeného textového editoru a restartujte IDE. ", + "couldNotSave": "Nebylo možné projekt uložit. Zkopírujte prosím neuloženou práci do vašeho oblíbeného textového editoru a restartujte IDE. ", "daemonOffline": "CLI Daemon nepřipojen", "offline": "Nepřipojen", "offlineText": "Nepřipojen", @@ -547,8 +552,8 @@ "expand": "Rozšířit" }, "workspace": { - "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", - "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "deleteCloudSketch": "Cloudový projekt '{0}' bude navždy smazán z Arduino serverů a místní mezipaměti. Tato akce je nevratná. Přejete si pokračovat?", + "deleteCurrentSketch": "Projekt '{0}' bude navždy smazán. Tato akce je nevratná. Přejete si pokračovat?", "fileNewName": "Název pro nový soubor", "invalidExtension": ".{0}je neplatná přípona", "newFileName": "Nový název souboru" diff --git a/i18n/da.json b/i18n/da.json index 17cd55547..e6dbab0c0 100644 --- a/i18n/da.json +++ b/i18n/da.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/de.json b/i18n/de.json index 392096cb1..0404d0bf5 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -12,12 +12,12 @@ }, "board": { "board": "Board{0}", - "boardConfigDialogTitle": " Anderes Board und anderen Ports wählen", - "boardDataReloaded": "Board data reloaded.", + "boardConfigDialogTitle": "Andere Boards und Ports wählen", + "boardDataReloaded": "Board Daten neu gelesen.", "boardInfo": "Board-Informationen", "boards": "Boards", "configDialog1": " Wähle ein Board und einen Port, wenn du den Sketch hochladen möchtest.", - "configDialog2": "Wenn Sie nur ein Board auswählen, werden Sie den Sketch nur kompilieren können, jedoch nicht hochladen.", + "configDialog2": " Wenn du nur das Board und keinen Port wählst, kannst du den Sketch kompilieren, aber nicht hochladen.", "couldNotFindPreviouslySelected": " Das vorher gewählte Board '{0}' gehört nicht zur installierten Plattform '{1}'. Möchtest du das Board neu auswählen?", "editBoardsConfig": "Board und Port ändern...", "getBoardInfo": "Board-Infos abrufen", @@ -32,12 +32,12 @@ "port": "Port{0}", "ports": "Ports", "programmer": "Programmer", - "reloadBoardData": "Reload Board Data", + "reloadBoardData": "Board Daten neuladen", "reselectLater": "Später auswählen", "revertBoardsConfig": "'{0}' an '{1}' verwenden", "searchBoard": "Board suchen", "selectBoard": "Board wählen", - "selectBoardToReload": "Please select a board first.", + "selectBoardToReload": "Bitte erst ein Board auswählen.", "selectPortForInfo": " Wähle einen Port, um Infos über das Board zu erhalten.", "showAllAvailablePorts": " Alle verfügbaren Ports anzeigen, wenn aktiviert.", "showAllPorts": "Alle Ports anzeigen", @@ -275,6 +275,9 @@ "checkForUpdates": "Arduino IDE Updates suchen", "closeAndInstallButton": "Schließen und Installieren", "closeToInstallNotice": "Software beenden und Update auf deinem Computer installieren", + "donateLinkIconTitle": "Öffne die Spenden Seite", + "donateLinkText": "Spenden um uns zu Unterstützen", + "donateText": "Open Source ist Liebe, {0}", "downloadButton": "Download", "downloadingNotice": "Die neueste Version der Arduino IDE wird heruntergeladen.", "errorCheckingForUpdates": "Fehler bei der Suche nach IDE Updates{0}", @@ -371,7 +374,7 @@ "cloud.pull.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Herunterladen eines Sketches aus der Cloud gewarnt. Standardmäßig aktiviert.", "cloud.push.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Hochladen eines Sketches in die Cloud gewarnt. Standardmäßig aktiviert. ", "cloud.pushpublic.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Hochladen eines öffentlichen Sketches in die Cloud gewarnt. Standardmäßig aktiviert. ", - "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", + "cloud.sharedSpaceId": "Die ID der Arduino-Cloud 'shared space' von welchem die Sketchbooks geladen werden sollen. Wenn leer, wird dein privater Bereich verwendet.", "cloud.sketchSyncEndpoint": "Endpunkt, um Sketches zu/von einem Backend zu laden. Standardeinstellung ist die Arduino Cloud API.", "compile": "Kompilieren", "compile.experimental": "Wenn diese Option aktiviert, werden mehrere Compiler-Fehler in der IDE gleichzeitig behandelt. Standardmäßig deaktiviert.", @@ -412,12 +415,11 @@ }, "sketchbook.location": "Pfad für Sketchbook", "sketchbook.showAllFiles": "Wenn diese Option aktiviert ist, werden alle Sketch-Dateien innerhalb des Sketches angezeigt. Standardmäßig deaktiviert. ", - "survey.notification": "Wenn diese Option aktiviert ist, werden Nutzer über eine verfügbare Umfrage informiert. Standardmäßig aktiviert.", "unofficialBoardSupport": "Klicke hier, um eine URL-Liste von inoffiziell unterstützten Boards anzuzeigen.", "upload": "Hochladen", - "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", + "upload.autoVerify": "Wahr wenn die IDE automatisch den Code vor dem Hochladen verifizieren soll. Standard: Wahr. Wenn der Wert Falsch ist, wird die IDE den Code vor dem Upload der Binärdaten nicht noch einmal Kompilieren . Wirklich nur auf Falsch setzen wenn du genau weißt warum und was du tust!", "upload.verbose": "Wenn die Option aktiviert ist, werden ausführliche Compiler-Meldungen angezeigt. Standardmäßig deaktiviert.", - "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", + "upload.verify": "Verifiziere das hochzuladende Binary nach dem Hochladen im Speicher des Boards identisch ist.", "verifyAfterUpload": "Code nach Hochladen überprüfen ", "window.autoScale": "Wenn die Option aktiviert ist, skaliert die Nutzeroberfläche automatisch mit der Schriftgröße.", "window.zoomLevel": { @@ -487,11 +489,6 @@ "newCloudSketch": "Neuer Cloud-Sketch", "newSketch": "Neu" }, - "survey": { - "answerSurvey": "Umfrage beantworten", - "dismissSurvey": "Nicht erneut anzeigen", - "surveyMessage": "Helfen Sie uns, uns zu verbessern, indem Sie diese kurze Umfrage ausfüllen. Wir wissen unsere Community wertzuschätzen und möchten unsere Unterstützer gerne ein wenig besser kennenlernen." - }, "theme": { "currentThemeNotFound": "Das aktuell ausgewählte Theme konnte nicht gefunden werden: {0}. Die Arduino IDE hat ein eingebautes Theme ausgewählt, welches kompatibel mit dem fehlenden Theme ist.", "dark": "Dunkel", @@ -525,8 +522,16 @@ "renameSketchFolderMessage": "Der Sketch '{0}' kann nicht verwendet werden. {1} Um diese Meldung loszuwerden, muss der Sketch umbenannt werden. Möchtest du den Sketch jetzt umbenennen?", "renameSketchFolderTitle": "Ungültiger Sketch-Name" }, + "versionWelcome": { + "cancelButton": "Vielleicht später", + "donateButton": "Spende Jetzt", + "donateMessage": "Arduino verpflichtet sich die Software frei und quell-offen für alle zu bewahren. Deine Spende hilft uns neue Funktionalitäten, verbesserte Bibliotheken zu entwickeln, und hilft Millionen Benutzern Welt Weit.", + "donateMessage2": "Bitte denke über einen Unterstützung unserer Arbeit an der freien und quell-offenen Arduino IDE nach.", + "title": "Willkommen zu einer neuen Version der Arduino IDE!", + "titleWithVersion": "Willkommen zur neuen Arduino IDE {0}!" + }, "workspace": { - "alreadyExists": "{0} existiert bereits." + "alreadyExists": "'{0}' existiert bereits." } }, "theia": { diff --git a/i18n/el.json b/i18n/el.json index 45a2e65a9..11e3cf9d6 100644 --- a/i18n/el.json +++ b/i18n/el.json @@ -275,6 +275,9 @@ "checkForUpdates": "Ελέγξτε για νέες ενημερώσεις Arduino IDE", "closeAndInstallButton": "Κλείσιμο και εγκατάσταση", "closeToInstallNotice": "Κλείστε το πρόγραμμα και εγκαταστήστε την ενημέρωση στον υπολογιστή σας.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Κατεβάστε", "downloadingNotice": "Λήψη της πιο πρόσφατης έκδοσης του Arduino IDE.", "errorCheckingForUpdates": "Σφάλμα κατά τον έλεγχο για ενημερώσεις του Arduino IDE.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Τοποθεσία σχεδίων", "sketchbook.showAllFiles": "Αληθές για εμφάνιση όλων των αρχείων σχεδίου μεσα στο σχέδιο. Είναι ψευδές απο προεπιλογή.", - "survey.notification": "Σωστό εάν οι χρήστες πρέπει να ειδοποιούνται εάν υπάρχει διαθέσιμη έρευνα. Αληθές από προεπιλογή.", "unofficialBoardSupport": "Κλικ για λίστα Συνδέσμων ανεπίσημης υποστήριξης πλακετών", "upload": "ανέβασμα", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Νέο σχέδιο Cloud ", "newSketch": "Νέο Σχέδιο" }, - "survey": { - "answerSurvey": "Απάντηση στην έρευνα", - "dismissSurvey": "Να μην εμφανιστεί ξανά", - "surveyMessage": "Βοηθήστε μας να βελτιωθούμε απαντώντας σε αυτήν την εξαιρετικά σύντομη έρευνα. Εκτιμούμε την κοινότητά μας και θα θέλαμε να γνωρίσουμε λίγο καλύτερα τους υποστηρικτές μας." - }, "theme": { "currentThemeNotFound": "Δεν ήταν δυνατή η εύρεση του τρέχοντος επιλεγμένου θέματος:{0} . Το Arduino IDE έχει επιλέξει ένα ενσωματωμένο θέμα συμβατό με αυτό που λείπει.", "dark": "Σκοτεινό", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "Το σχέδιο '{0}' δεν μπορεί να χρησιμοποιηθεί. {1}Για να απαλλαγείτε από αυτό το μήνυμα, μετονομάστε το σχέδιο. Θέλετε να μετονομάσετε το σχέδιο τώρα;", "renameSketchFolderTitle": "Μη έγκυρο όνομα σκίτσου" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' υπάρχει ήδη." } diff --git a/i18n/es.json b/i18n/es.json index c606772d4..01954663b 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -5,7 +5,7 @@ "label": "Acerca de {0}" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", + "goToCloudEditor": "Ir a Arduino Cloud", "goToIoTCloud": "Go to IoT Cloud", "goToProfile": "Ir al Perfil", "menuTitle": "Arduino Cloud" @@ -275,6 +275,9 @@ "checkForUpdates": "Comprobar actualizaciones para Arduino IDE", "closeAndInstallButton": "Cerrar e instalar", "closeToInstallNotice": "Cierra el programa e instala la actualización en tu máquina.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Descargar", "downloadingNotice": "Descargando la última versión del Arduino IDE.", "errorCheckingForUpdates": "Error al comprobar las actualizaciones del IDE de Arduino.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Ruta del Sketchbook", "sketchbook.showAllFiles": "Verdadero para mostrar todos los archivos de bocetos dentro del boceto. Por defecto es falso.", - "survey.notification": "Verdadero si usuarios deberían ser notificados cuando una encuesta esté disponible. Verdadero es predeterminado.", "unofficialBoardSupport": "Pulsa para listar las URLs de las tarjetas no oficiales", "upload": "Carga", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Nuevo Sketch en la Nube", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Completar encuesta", - "dismissSurvey": "No volver a mostrar", - "surveyMessage": "Por favor ayudenos mejorar completando esta breve encuesta. Valoramos nuestra comunidad y nos gustaría conocer algo mejor a los que nos apoyan." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' ya existe." } diff --git a/i18n/eu.json b/i18n/eu.json index a0e3163ea..7b4afcf91 100644 --- a/i18n/eu.json +++ b/i18n/eu.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Itxi eta instalatu", "closeToInstallNotice": "Itxi softwarea eta instalatu eguneratzea zure makinan.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Software eguneratzea", "downloadingNotice": "Arduino IDEren azken bertsioa deskargatzen", "errorCheckingForUpdates": "Errorea Arduino IDE eguneraketak egiaztatzean.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Programa bildumaren kokalekua", "sketchbook.showAllFiles": "Egia programaren barruko programa-fitxategi guztiak erakusteko. Lehenetsia gezurra da.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Egin klik ofizialak ez diren plaken laguntza-URL zerrenda ikusteko", "upload": "karga", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/fa.json b/i18n/fa.json index 8fba4156e..0b6f2e37f 100644 --- a/i18n/fa.json +++ b/i18n/fa.json @@ -275,6 +275,9 @@ "checkForUpdates": "به روز رسانی آردوینو IDE را بررسی کنید", "closeAndInstallButton": "بستن و نصب", "closeToInstallNotice": "نرم افزار را ببندید و به روز رسانی را روی دستگاه خود نصب کنید.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "دانلود", "downloadingNotice": "در حال بارگیری آخرین نسخه از آردوینو", "errorCheckingForUpdates": "خطا در حلقه بررسی برای وجود بروزرسانی برای آردوینو رخ داد. {0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "مکان منبع طرح ها", "sketchbook.showAllFiles": "همه فایل‌های طرح را در داخل طرح نشان دهد درست است. به طور پیش فرض نادرست است.", - "survey.notification": "درست است اگر در صورت وجود نظرسنجی به کاربران اطلاع داده شود. به طور پیش فرض درست است.", "unofficialBoardSupport": "برای لیستی از آدرس های اینترنتی پشتیبانی هیئت مدیره غیررسمی کلیک کنید", "upload": "بارگذاری", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "طرح جدید روی فضای ابری", "newSketch": "طرح جدید" }, - "survey": { - "answerSurvey": "به نظرسنجی پاسخ دهید", - "dismissSurvey": "دیگر نشان نده", - "surveyMessage": "لطفاً با پاسخ دادن به این نظرسنجی فوق العاده کوتاه ما را در پیشرفت خود یاری کنید. ما برای جامعه خود ارزش قائلیم و دوست داریم حامیان خود را کمی بهتر بشناسیم." - }, "theme": { "currentThemeNotFound": "طرح زمینه انتخابی فعلی یافت نشد:«{0}». پس Arduino IDE یک طرح زمینه داخلی سازگار با طرح زمینه یافت نشده انتخاب کرده است.", "dark": "تاریک", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "طرح«{0}» قابل استفاده نیست. «{1}» برای خلاص شدن از این پیام، نام طرح را تغییر دهید. اکنون می خواهید نام طرح را تغییر دهید؟", "renameSketchFolderTitle": "نام طرح بی‌اعتبار است" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' از قبل وجود دارد." } diff --git a/i18n/fil.json b/i18n/fil.json index e8bcc9c4e..266f8846d 100644 --- a/i18n/fil.json +++ b/i18n/fil.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True para ipakita lahat ng sketch files sa loob ng isang sketch. Ito ay false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/fr.json b/i18n/fr.json index 29b80f3f3..916a94f4e 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -1,55 +1,55 @@ { "arduino": { "about": { - "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "detail": "Version : {0}\nDate : {1}{2}\nVersion du CLI : {3}\n\n{4}", "label": "A propos de {0}" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", + "goToCloudEditor": "Aller à l'éditeur du cloud", "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", + "goToProfile": "Aller au profil", "menuTitle": "Arduino Cloud" }, "board": { "board": "Carte{0}", - "boardConfigDialogTitle": "Select Other Board and Port", - "boardDataReloaded": "Board data reloaded.", + "boardConfigDialogTitle": "Sélectionner une autre carte et un autre port", + "boardDataReloaded": "Données de la carte rechargées.", "boardInfo": "Information de la carte", - "boards": "boards", + "boards": "cartes", "configDialog1": "Sélectionnez une carte et un port si vous souhaitez téléverser un croquis.", "configDialog2": "Si vous sélectionnez seulement une carte, vous pourrez compiler votre croquis, mais pas le téléverser.", "couldNotFindPreviouslySelected": "Impossible de trouver la carte précédente sélectionnée \"{0}\" dans les plateformes installées \"{1}\". Merci de re-sélectionner manuellement la carte que vous souhaitez utiliser. Souhaitez vous la re-sélectionner maintenant ?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "Modifier la carte et le port...", "getBoardInfo": "Obtenir les informations sur la carte", "inSketchbook": "(dans le Croquis)", "installNow": "Le \"{0} {1}\" core doit être installé pour la carte sélectionnée \"{2}\". Souhaitez vous l'installer maintenant ?", - "noBoardsFound": "No boards found for \"{0}\"", + "noBoardsFound": "Aucunes cartes trouvées pour \"{0}\"", "noNativeSerialPort": "Native serial port, can't obtain info.", - "noPortsDiscovered": "No ports discovered", + "noPortsDiscovered": "Aucun ports découverts", "nonSerialPort": "Non-serial port, can't obtain info.", "openBoardsConfig": "Sélectionner une autre carte et un autre port ...", "pleasePickBoard": "Merci de sélectionner une carte connecté au port que vous avez sélectionné.", "port": "Port{0}", "ports": "ports", "programmer": "Programmeur", - "reloadBoardData": "Reload Board Data", + "reloadBoardData": "Recharger les données de la carte", "reselectLater": "Re-sélectionner plus tard", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", - "searchBoard": "Search board", + "revertBoardsConfig": "Utiliser '{0}' découvert sur '{1}'", + "searchBoard": "Rechercher une carte", "selectBoard": "Selectionner une carte", - "selectBoardToReload": "Please select a board first.", + "selectBoardToReload": "Merci de sélectionner une carte d’abord.", "selectPortForInfo": "Merci de choisir un port pour obtenir des informations sur la carte.", "showAllAvailablePorts": "Affiche les ports disponibles quand activer.", - "showAllPorts": "Show all ports", + "showAllPorts": "Afficher tous les ports", "succesfullyInstalledPlatform": "Plateforme installé avec succès {0}:{1}", "succesfullyUninstalledPlatform": "Plateforme désinstallée avec succès {0}:{1}", "typeOfPorts": "{0} ports", - "unconfirmedBoard": "Unconfirmed board", - "unknownBoard": "Unknown board" + "unconfirmedBoard": "Carte non confirmée", + "unknownBoard": "Carte inconnue" }, - "boardsManager": "Gestionnaire de carte", + "boardsManager": "Gestionnaire de cartes", "boardsType": { - "arduinoCertified": "Arduino Certified" + "arduinoCertified": "Arduino certifié" }, "bootloader": { "burnBootloader": "Graver la séquence d'initialisation", @@ -77,17 +77,17 @@ "uploadingCertificates": "Transfert des certificats" }, "checkForUpdates": { - "checkForUpdates": "Check for Arduino Updates", - "installAll": "Install All", - "noUpdates": "There are no recent updates available.", - "promptUpdateBoards": "Updates are available for some of your boards.", - "promptUpdateLibraries": "Updates are available for some of your libraries.", - "updatingBoards": "Updating boards...", - "updatingLibraries": "Updating libraries..." + "checkForUpdates": "Vérifier les mises à jour d’Arduino", + "installAll": "Tout installer", + "noUpdates": "Il n'y a pas de mises à jour récentes disponibles.", + "promptUpdateBoards": "Des mises à jour sont disponibles pour certaines de vos cartes.", + "promptUpdateLibraries": "Des mises à jour sont disponibles pour certaines de vos bibliothèques.", + "updatingBoards": "Mise à jour des cartes...", + "updatingLibraries": "Mise à jour des bibliothèques..." }, "cli-error-parser": { - "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", - "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + "keyboardError": "Clavier non trouvé. Votre croquis inclut-il la ligne '#include ' ?", + "mouseError": "'Mouse' non trouvé. Votre croquis inclut-il la ligne '#include ' ?" }, "cloud": { "chooseSketchVisibility": "Choisissez la visibilité du croquis :", @@ -98,7 +98,7 @@ "donePushing": "Done pushing '{0}'.", "embed": "Embarqué : ", "emptySketchbook": "Votre carnet de croquis est vide", - "goToCloud": "Go to Cloud", + "goToCloud": "Aller au cloud", "learnMore": "En savoir plus", "link": "Lien :", "notYetPulled": "Impossible de push sur le Cloud. Rien n'a été pull jusque la.", @@ -118,7 +118,7 @@ "remote": "A distance", "share": "Partager...", "shareSketch": "Partager le croquis", - "showHideSketchbook": "Show/Hide Cloud Sketchbook", + "showHideSketchbook": "Montrer / Cacher le carnet de croquis du cloud.", "signIn": "Se connecter", "signInToCloud": "Se connecter à Arduino Cloud", "signOut": "Deconnexion", @@ -134,49 +134,49 @@ "pulling": "Synchronizing sketchbook, pulling '{0}'...", "pushing": "Synchronizing sketchbook, pushing '{0}'...", "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", - "synchronizingSketchbook": "Synchronizing sketchbook..." + "synchronizingSketchbook": "Synchroniser le carnet de croquis..." }, "common": { - "all": "All", + "all": "Tout", "contributed": "Contributed", "installManually": "Installer manuellement.", "later": "Plus tard", "noBoardSelected": "Aucune carte sélectionnée.", - "noSketchOpened": "No sketch opened", + "noSketchOpened": "Aucun croquis ouvert", "notConnected": "[hors ligne]", "offlineIndicator": "Il semblerait que vous êtes déconnecté. Sans connexion internet la CLI d'Arduino pourrait ne pas être en mesure de télécharger les resources requises, ce qui pourrait provoquer des dysfonctionnements. Merci de vous connecter à Internet et de redémarrer l'application.", "oldFormat": "Le '{0}' utilise toujours l'ancien format `.pde`. Souhaitez-vous utiliser le nouveau format `.ino`?", - "partner": "Partner", + "partner": "Partenaire", "processing": "Traitement en cours", - "recommended": "Recommended", - "retired": "Retired", - "selectManually": "Select Manually", + "recommended": "Recommandé", + "retired": "Retiré", + "selectManually": "Sélectionner manuellement", "selectedOn": "sur {0}", "serialMonitor": "Moniteur série", "type": "Type", "unknown": "Inconnu", - "updateable": "Updatable", - "userAbort": "User abort" + "updateable": "Pouvant être mis à jour", + "userAbort": "Abandon par l'utilisateur" }, "compile": { "error": "Erreur de compilation : {0}" }, "component": { - "boardsIncluded": "Boards included in this package:", + "boardsIncluded": "Cartes incluses dans ce paquet :", "by": "par", - "clickToOpen": "Click to open in browser: {0}", + "clickToOpen": "Cliquez pour ouvrir dans le navigateur : {0}", "filterSearch": "Filtrez votre recherche...", "install": "Installer", - "installLatest": "Install Latest", - "installVersion": "Install {0}", - "installed": "{0} installed", + "installLatest": "Installer la dernière", + "installVersion": "Installer {0}", + "installed": "{0} installé", "moreInfo": "Plus d'information", - "otherVersions": "Other Versions", + "otherVersions": "Autres versions", "remove": "Supprimer ", - "title": "{0} by {1}", + "title": "{0} par {1}", "uninstall": "Désinstaller", "uninstallMsg": "Voulez vous désinstaller {0}?", - "update": "Update" + "update": "Mettre à jour" }, "configuration": { "cli": { @@ -196,15 +196,15 @@ }, "core": { "compilerWarnings": { - "all": "All", - "default": "Default", - "more": "More", - "none": "None" + "all": "Tout", + "default": "Par défaut", + "more": "Plus", + "none": "Aucun" } }, "coreContribution": { "copyError": "Copier les messages d'erreur", - "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + "noBoardSelected": "Aucune carte sélectionnée. Merci de sélectionner votre carte Arduino dans le menu Outils > Carte." }, "createCloudCopy": "Push Sketch to Cloud", "daemon": { @@ -215,14 +215,14 @@ "debug": { "debugWithMessage": "Débogage - {0}", "debuggingNotSupported": "Le débogage n'est pas supporté pour '{0}'", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "Obtenir des informations de débogage...", "noPlatformInstalledFor": "La plateforme n'est pas installée pour '{0}'", "optimizeForDebugging": "Optimisé pour le déboggage.", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, "developer": { "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", + "clearBoardsConfig": "Effacer la carte et la sélection du port ", "dumpBoardList": "Dump the Board List" }, "dialog": { @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Fermer et installer", "closeToInstallNotice": "Fermez le logiciel et installez la mise à jour sur votre machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "Faites un don pour nous soutenir", + "donateText": "Open source is love, {0}", "downloadButton": "Télécharger", "downloadingNotice": "Téléchargement de la dernière version de l'IDE Arduino.", "errorCheckingForUpdates": "Erreur lors de la vérification de la mise à jour de l'IDE Arduino.\n{0}", @@ -297,11 +300,11 @@ "arduinoLibraries": "Bibliothèques Arduino", "contributedLibraries": "Bibliothèques tierce-partie", "include": "Importer une bibliothèque", - "installAll": "Install All", - "installLibraryDependencies": "Install library dependencies", + "installAll": "Tout installer", + "installLibraryDependencies": "Installer les dépendances de la bibliothèque", "installMissingDependencies": "Souhaitez vous installer toutes les ressources liées manquantes ?", "installOneMissingDependency": "Souhaitez-vous installer la ressource liée manquante?", - "installWithoutDependencies": "Install without dependencies", + "installWithoutDependencies": "Installer sans les dépendances", "installedSuccessfully": "Librairie installée avec succès {0}:{1}", "libraryAlreadyExists": "Cette librairie existe déjà. Souhaitez-vous l'écraser ?", "manageLibraries": "Gérer les bibliothèques...", @@ -315,22 +318,22 @@ "zipLibrary": "Bibliothèque" }, "librarySearchProperty": { - "topic": "Topic" + "topic": "Sujet" }, "libraryTopic": { "communication": "Communication", - "dataProcessing": "Data Processing", - "dataStorage": "Data Storage", - "deviceControl": "Device Control", - "display": "Display", - "other": "Other", - "sensors": "Sensors", - "signalInputOutput": "Signal Input/Output", - "timing": "Timing", - "uncategorized": "Uncategorized" + "dataProcessing": "Traitement de données", + "dataStorage": "Stockage de données", + "deviceControl": "Contrôle d'appareil", + "display": "Affichage", + "other": "Autre", + "sensors": "Capteurs", + "signalInputOutput": "Signaux entrants/sortants", + "timing": "Synchronisation", + "uncategorized": "Non classé" }, "libraryType": { - "installed": "Installed" + "installed": "Installé" }, "menu": { "advanced": "Avancé", @@ -340,20 +343,20 @@ "monitor": { "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", "baudRate": "{0} baud", - "connectionFailedError": "Could not connect to {0} {1} port.", + "connectionFailedError": "Impossible de se connecter au ports {0} {1}.", "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", - "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", + "connectionTimeout": "Délai d’attente dépassé. L’IDE n’a pas reçu le message de réussite du moniteur après s’être connecté avec succès", "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", "notConnectedError": "Not connected to {0} {1} port.", "unableToCloseWebSocket": "Impossible de fermer le web socket", "unableToConnectToWebSocket": "Impossible de se connecter au web socket" }, "newCloudSketch": { - "newSketchTitle": "Name of the new Cloud Sketch" + "newSketchTitle": "Non du nouveau croquis Cloud" }, "portProtocol": { "network": "Réseau", - "serial": "Serial" + "serial": "Série" }, "preferences": { "additionalManagerURLs": "URL de gestionnaire de cartes supplémentaires", @@ -364,9 +367,9 @@ "automatic": "Automatique", "board.certificates": "Liste des certificats pouvant être téléversé vers les cartes.", "browse": "Parcourir", - "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", + "checkForUpdate": "Recevoir les notifications de mises à jour disponibles pour l’IDE, les cartes et les bibliothèques. Nécessite un redémarrage de l’IE après la modification. Activé par défaut.", "choose": "Choisir", - "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", + "cli.daemonDebug": "Activer la journalisation de débogage des appels gRPC vers le CLI Arduino. Un redémarrage de l’IDE est nécessaire pour que ce paramètre prenne effet. Désactivé par défaut.", "cloud.enabled": "Vrai si les fonctions de synchronisation de croquis est activé. Par défaut, la valeur est vrai.", "cloud.pull.warn": "Vrai si les utilisateurs devrait être averti avant de pull un croquis sur le cloud. Par défaut, la valeur est vrai.", "cloud.push.warn": "Vrai, si les utilisateurs devrait être averti avant de push un croquis sur le cloud. Par défaut, la valeur est vrai.", @@ -398,13 +401,13 @@ }, "network": "Réseau", "newSketchbookLocation": "Sélectionner la localisation du nouveau croquis.", - "noCliConfig": "Could not load the CLI configuration", + "noCliConfig": "Impossible de charger la configuration du CLI", "noProxy": "Aucun proxy", "proxySettings": { - "hostname": "Host name", - "password": "Password", - "port": "Port number", - "username": "Username" + "hostname": "Nom d'hôte", + "password": "Mot de passe", + "port": "Numéro de port", + "username": "Nom d'utilisateur" }, "showVerbose": "Afficher la sortie de débogage verbeuse pendant", "sketch": { @@ -412,7 +415,6 @@ }, "sketchbook.location": "Localisation du croquis.", "sketchbook.showAllFiles": "Vrai pour montrer tous les fichiers croquis à l'intérieur du croquis. La valeur par défaut est faux.", - "survey.notification": "Vrai si les utilisateurs doivent être avertis si une enquête est disponible. Vrai par défaut.", "unofficialBoardSupport": "Cliquer pour la liste non-officielle des URLs des support de cartes", "upload": "téléverser", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -451,21 +453,21 @@ "doneCompiling": "Compilation terminée.", "doneUploading": "Téléversement fait.", "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", - "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", + "editInvalidSketchFolderQuestion": "Voulez-vous essayer d'enregistrer le croquis sous un autre nom?", "exportBinary": "Exporter les binaires compilés", "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", - "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", + "invalidSketchFolderLocationDetails": "Vous ne pouvez pas enregistrer un croquis dans un dossier qui lui est interne", "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", - "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", + "invalidSketchFolderNameMessage": "Nom de dossier de croquis invalide: '{0}'", "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", "moving": "Déplacement", "movingMsg": "Le fichier \"{0}\" à besoin d'être à l'intérieur d'un dossier de croquis appelé \"{1}\".\nCréer ce dossier, déplacer le fichier et continuer ?", - "new": "New Sketch", - "noTrailingPeriod": "A filename cannot end with a dot", + "new": "Nouveau croquis", + "noTrailingPeriod": "Un nom de fichier ne peut pas se terminer par un point", "openFolder": "Ouvrir le dossier", "openRecent": "Ouvrir les récents", "openSketchInNewWindow": "Ouvrir le croquis dans une nouvelle fenêtre", - "reservedFilename": "'{0}' is a reserved filename.", + "reservedFilename": "'{0}' est un nom de fichier réservé.", "saveFolderAs": "Sauvegarder le dossier de croquis en tant que ...", "saveSketch": "Enregistrer son programme pour le rouvrir plus tard.", "saveSketchAs": "Sauvegarder un dossier de croquis comme ...", @@ -485,48 +487,51 @@ }, "sketchbook": { "newCloudSketch": "New Cloud Sketch", - "newSketch": "New Sketch" - }, - "survey": { - "answerSurvey": "Enquête sur les réponses", - "dismissSurvey": "Ne pas montrer de nouveau", - "surveyMessage": "Aide-nous à nous améliorer en répondant à cette enquête très courte. Nous apprécions notre communauté et nous aimerions connaître un peu mieux nos supporters." + "newSketch": "Nouveau croquis" }, "theme": { - "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", - "dark": "Dark", + "currentThemeNotFound": "Impossible de trouver le thème actuellement sélectionné : {0}. L'IDE Arduino a choisi un thème intégré compatible avec celui qui manque.", + "dark": "Sombre", "deprecated": "{0} (deprecated)", - "hc": "Dark High Contrast", - "hcLight": "Light High Contrast", - "light": "Light", + "hc": "Sombre avec contraste élevé", + "hcLight": "Clair avec contraste élevé", + "light": "Clair", "user": "{0} (user)" }, "title": { "cloud": "Cloud" }, "updateIndexes": { - "updateIndexes": "Update Indexes", - "updateLibraryIndex": "Update Library Index", - "updatePackageIndex": "Update Package Index" + "updateIndexes": "Mettre à jour les index", + "updateLibraryIndex": "Mettre à jour l’index des bibliothèques", + "updatePackageIndex": "Mettre à jour l’index des paquets" }, "upload": { "error": "{0} erreur : {1}" }, "userFields": { "cancel": "Annuler", - "enterField": "Enter {0}", + "enterField": "Saisir {0}", "upload": "Téléverser" }, "validateSketch": { - "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", - "abortFixTitle": "Invalid sketch", - "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", - "renameSketchFileTitle": "Invalid sketch filename", - "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", - "renameSketchFolderTitle": "Invalid sketch name" + "abortFixMessage": "Le croquis n’est toujours pas valide. Voulez -vous corriger les problèmes restants ? En cliquant sur '{0}', un nouveau croquis s’ouvrira.", + "abortFixTitle": "Croquis invalide", + "renameSketchFileMessage": "Le fichier de croquis '{0}' ne peut pas être utilisé. {1} Voulez-vous renommer le fichier de croquis maintenant ?", + "renameSketchFileTitle": "Nom de fichier du croquis invalide", + "renameSketchFolderMessage": "Le croquis '{0}' ne peut pas être utilisé. {1} Pour supprimer ce message, renommez le croquis. Voulez-vous renommer le croquis maintenant ?", + "renameSketchFolderTitle": "Nom de croquis invalide" + }, + "versionWelcome": { + "cancelButton": "Peut-être plus tard", + "donateButton": "Faire un don maintenant", + "donateMessage": "Arduino s’engage à garder les logiciels libres et gratuits pour tous. Votre don nous aide à développer de nouvelles fonctionnalités, à améliorer les bibliothèques et à soutenir des millions d’utilisateurs dans le monde entier.", + "donateMessage2": "Veuillez envisager de soutenir notre travail sur l’IDE Arduino gratuit et libre.", + "title": "Bienvenue dans une nouvelle version de l’IDE Arduino !", + "titleWithVersion": "Bienvenue dans le nouvel IDE Arduino {0}!" }, "workspace": { - "alreadyExists": "'{0}' already exists." + "alreadyExists": "'{0}' existe déjà." } }, "theia": { @@ -547,8 +552,8 @@ "expand": "Replier" }, "workspace": { - "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", - "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "deleteCloudSketch": "Le croquis du cloud '{0}' sera définitivement supprimé des serveurs Arduino et des caches locaux. Cette action est irréversible. Voulez-vous supprimer le croquis actuel ?", + "deleteCurrentSketch": "Le croquis '{0}' sera définitivement supprimé. Cette action est irréversible. Voulez-vous supprimer le croquis actuel ?", "fileNewName": "Nouveau nom pour le fichier", "invalidExtension": "« .{0} » n''est pas une extension valide.", "newFileName": "Nouveau nom pour le fichier" diff --git a/i18n/he.json b/i18n/he.json index 66ed4846b..9b6c413cd 100644 --- a/i18n/he.json +++ b/i18n/he.json @@ -275,6 +275,9 @@ "checkForUpdates": "בדיקת עדכונים לArduino IDE", "closeAndInstallButton": "סגור והתקן", "closeToInstallNotice": "סגור את התוכנה והתקן את העדכון על המכונה שלך.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "הורד", "downloadingNotice": "מוריד את הגרסה המעודכנת האחרונה של Arduino IDE.", "errorCheckingForUpdates": "שגיאה בעת בדיקת עדכונים ל Arduino IDE.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "ענה על סקר", - "dismissSurvey": "אל תראה שוב.", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/hu.json b/i18n/hu.json index 0e4b75a22..d8ae57f3a 100644 --- a/i18n/hu.json +++ b/i18n/hu.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "SketchBook elérési helye ", "sketchbook.showAllFiles": "Kipipálva: az összes vázlatfájl/sketch megjelenítése a vázlaton/sketch-en belül. Alapértelmezés szerint: nincs kipipálva.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Kattints ide a nem hivatalos alaplapok fordítási URL-jeinek listájához ", "upload": "feltöltés", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/hy.json b/i18n/hy.json deleted file mode 100644 index 17cd55547..000000000 --- a/i18n/hy.json +++ /dev/null @@ -1,557 +0,0 @@ -{ - "arduino": { - "about": { - "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", - "label": "About {0}" - }, - "account": { - "goToCloudEditor": "Go to Cloud Editor", - "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", - "menuTitle": "Arduino Cloud" - }, - "board": { - "board": "Board{0}", - "boardConfigDialogTitle": "Select Other Board and Port", - "boardDataReloaded": "Board data reloaded.", - "boardInfo": "Board Info", - "boards": "boards", - "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", - "configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.", - "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", - "editBoardsConfig": "Edit Board and Port...", - "getBoardInfo": "Get Board Info", - "inSketchbook": " (in Sketchbook)", - "installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?", - "noBoardsFound": "No boards found for \"{0}\"", - "noNativeSerialPort": "Native serial port, can't obtain info.", - "noPortsDiscovered": "No ports discovered", - "nonSerialPort": "Non-serial port, can't obtain info.", - "openBoardsConfig": "Select other board and port…", - "pleasePickBoard": "Please pick a board connected to the port you have selected.", - "port": "Port{0}", - "ports": "ports", - "programmer": "Programmer", - "reloadBoardData": "Reload Board Data", - "reselectLater": "Reselect later", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", - "searchBoard": "Search board", - "selectBoard": "Select Board", - "selectBoardToReload": "Please select a board first.", - "selectPortForInfo": "Please select a port to obtain board info.", - "showAllAvailablePorts": "Shows all available ports when enabled", - "showAllPorts": "Show all ports", - "succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}", - "succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}", - "typeOfPorts": "{0} ports", - "unconfirmedBoard": "Unconfirmed board", - "unknownBoard": "Unknown board" - }, - "boardsManager": "Boards Manager", - "boardsType": { - "arduinoCertified": "Arduino Certified" - }, - "bootloader": { - "burnBootloader": "Burn Bootloader", - "burningBootloader": "Burning bootloader...", - "doneBurningBootloader": "Done burning bootloader." - }, - "burnBootloader": { - "error": "Error while burning the bootloader: {0}" - }, - "certificate": { - "addNew": "Add New", - "addURL": "Add URL to fetch SSL certificate", - "boardAtPort": "{0} at {1}", - "certificatesUploaded": "Certificates uploaded.", - "enterURL": "Enter URL", - "noSupportedBoardConnected": "No supported board connected", - "openContext": "Open context", - "remove": "Remove", - "selectBoard": "Select a board...", - "selectCertificateToUpload": "1. Select certificate to upload", - "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", - "upload": "Upload", - "uploadFailed": "Upload failed. Please try again.", - "uploadRootCertificates": "Upload SSL Root Certificates", - "uploadingCertificates": "Uploading certificates." - }, - "checkForUpdates": { - "checkForUpdates": "Check for Arduino Updates", - "installAll": "Install All", - "noUpdates": "There are no recent updates available.", - "promptUpdateBoards": "Updates are available for some of your boards.", - "promptUpdateLibraries": "Updates are available for some of your libraries.", - "updatingBoards": "Updating boards...", - "updatingLibraries": "Updating libraries..." - }, - "cli-error-parser": { - "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", - "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" - }, - "cloud": { - "chooseSketchVisibility": "Choose visibility of your Sketch:", - "cloudSketchbook": "Cloud Sketchbook", - "connected": "Connected", - "continue": "Continue", - "donePulling": "Done pulling '{0}'.", - "donePushing": "Done pushing '{0}'.", - "embed": "Embed:", - "emptySketchbook": "Your Sketchbook is empty", - "goToCloud": "Go to Cloud", - "learnMore": "Learn more", - "link": "Link:", - "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", - "offline": "Offline", - "openInCloudEditor": "Open in Cloud Editor", - "options": "Options...", - "privateVisibility": "Private. Only you can view the Sketch.", - "profilePicture": "Profile picture", - "publicVisibility": "Public. Anyone with the link can view the Sketch.", - "pull": "Pull", - "pullFirst": "You have to pull first to be able to push to the Cloud.", - "pullSketch": "Pull Sketch", - "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", - "push": "Push", - "pushSketch": "Push Sketch", - "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", - "remote": "Remote", - "share": "Share...", - "shareSketch": "Share Sketch", - "showHideSketchbook": "Show/Hide Cloud Sketchbook", - "signIn": "SIGN IN", - "signInToCloud": "Sign in to Arduino Cloud", - "signOut": "Sign Out", - "sync": "Sync", - "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", - "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." - }, - "cloudSketch": { - "alreadyExists": "Cloud sketch '{0}' already exists.", - "creating": "Creating cloud sketch '{0}'...", - "new": "New Cloud Sketch", - "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", - "pulling": "Synchronizing sketchbook, pulling '{0}'...", - "pushing": "Synchronizing sketchbook, pushing '{0}'...", - "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", - "synchronizingSketchbook": "Synchronizing sketchbook..." - }, - "common": { - "all": "All", - "contributed": "Contributed", - "installManually": "Install Manually", - "later": "Later", - "noBoardSelected": "No board selected", - "noSketchOpened": "No sketch opened", - "notConnected": "[not connected]", - "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", - "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", - "partner": "Partner", - "processing": "Processing", - "recommended": "Recommended", - "retired": "Retired", - "selectManually": "Select Manually", - "selectedOn": "on {0}", - "serialMonitor": "Serial Monitor", - "type": "Type", - "unknown": "Unknown", - "updateable": "Updatable", - "userAbort": "User abort" - }, - "compile": { - "error": "Compilation error: {0}" - }, - "component": { - "boardsIncluded": "Boards included in this package:", - "by": "by", - "clickToOpen": "Click to open in browser: {0}", - "filterSearch": "Filter your search...", - "install": "Install", - "installLatest": "Install Latest", - "installVersion": "Install {0}", - "installed": "{0} installed", - "moreInfo": "More info", - "otherVersions": "Other Versions", - "remove": "Remove", - "title": "{0} by {1}", - "uninstall": "Uninstall", - "uninstallMsg": "Do you want to uninstall {0}?", - "update": "Update" - }, - "configuration": { - "cli": { - "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" - } - }, - "connectionStatus": { - "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." - }, - "contributions": { - "addFile": "Add File", - "fileAdded": "One file added to the sketch.", - "plotter": { - "couldNotOpen": "Couldn't open serial plotter" - }, - "replaceTitle": "Replace" - }, - "core": { - "compilerWarnings": { - "all": "All", - "default": "Default", - "more": "More", - "none": "None" - } - }, - "coreContribution": { - "copyError": "Copy error messages", - "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." - }, - "createCloudCopy": "Push Sketch to Cloud", - "daemon": { - "restart": "Restart Daemon", - "start": "Start Daemon", - "stop": "Stop Daemon" - }, - "debug": { - "debugWithMessage": "Debug - {0}", - "debuggingNotSupported": "Debugging is not supported by '{0}'", - "getDebugInfo": "Getting debug info...", - "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "optimizeForDebugging": "Optimize for Debugging", - "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" - }, - "developer": { - "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", - "dumpBoardList": "Dump the Board List" - }, - "dialog": { - "dontAskAgain": "Don't ask again" - }, - "editor": { - "autoFormat": "Auto Format", - "commentUncomment": "Comment/Uncomment", - "copyForForum": "Copy for Forum (Markdown)", - "decreaseFontSize": "Decrease Font Size", - "decreaseIndent": "Decrease Indent", - "increaseFontSize": "Increase Font Size", - "increaseIndent": "Increase Indent", - "nextError": "Next Error", - "previousError": "Previous Error", - "revealError": "Reveal Error" - }, - "examples": { - "builtInExamples": "Built-in examples", - "couldNotInitializeExamples": "Could not initialize built-in examples.", - "customLibrary": "Examples from Custom Libraries", - "for": "Examples for {0}", - "forAny": "Examples for any board", - "menu": "Examples" - }, - "firmware": { - "checkUpdates": "Check Updates", - "failedInstall": "Installation failed. Please try again.", - "install": "Install", - "installingFirmware": "Installing firmware.", - "overwriteSketch": "Installation will overwrite the Sketch on the board.", - "selectBoard": "Select Board", - "selectVersion": "Select firmware version", - "successfullyInstalled": "Firmware successfully installed.", - "updater": "Firmware Updater" - }, - "help": { - "environment": "Environment", - "faq": "Frequently Asked Questions", - "findInReference": "Find in Reference", - "gettingStarted": "Getting Started", - "keyword": "Type a keyword", - "privacyPolicy": "Privacy Policy", - "reference": "Reference", - "search": "Search on Arduino.cc", - "troubleshooting": "Troubleshooting", - "visit": "Visit Arduino.cc" - }, - "ide-updater": { - "checkForUpdates": "Check for Arduino IDE Updates", - "closeAndInstallButton": "Close and Install", - "closeToInstallNotice": "Close the software and install the update on your machine.", - "downloadButton": "Download", - "downloadingNotice": "Downloading the latest version of the Arduino IDE.", - "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", - "goToDownloadButton": "Go To Download", - "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", - "ideUpdaterDialog": "Software Update", - "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", - "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", - "notNowButton": "Not now", - "skipVersionButton": "Skip Version", - "updateAvailable": "Update Available", - "versionDownloaded": "Arduino IDE {0} has been downloaded." - }, - "installable": { - "libraryInstallFailed": "Failed to install library: '{0}{1}'.", - "platformInstallFailed": "Failed to install platform: '{0}{1}'." - }, - "library": { - "addZip": "Add .ZIP Library...", - "arduinoLibraries": "Arduino libraries", - "contributedLibraries": "Contributed libraries", - "include": "Include Library", - "installAll": "Install All", - "installLibraryDependencies": "Install library dependencies", - "installMissingDependencies": "Would you like to install all the missing dependencies?", - "installOneMissingDependency": "Would you like to install the missing dependency?", - "installWithoutDependencies": "Install without dependencies", - "installedSuccessfully": "Successfully installed library {0}:{1}", - "libraryAlreadyExists": "A library already exists. Do you want to overwrite it?", - "manageLibraries": "Manage Libraries...", - "namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?", - "needsMultipleDependencies": "The library {0}:{1} needs some other dependencies currently not installed:", - "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", - "overwriteExistingLibrary": "Do you want to overwrite the existing library?", - "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", - "title": "Library Manager", - "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", - "zipLibrary": "Library" - }, - "librarySearchProperty": { - "topic": "Topic" - }, - "libraryTopic": { - "communication": "Communication", - "dataProcessing": "Data Processing", - "dataStorage": "Data Storage", - "deviceControl": "Device Control", - "display": "Display", - "other": "Other", - "sensors": "Sensors", - "signalInputOutput": "Signal Input/Output", - "timing": "Timing", - "uncategorized": "Uncategorized" - }, - "libraryType": { - "installed": "Installed" - }, - "menu": { - "advanced": "Advanced", - "sketch": "Sketch", - "tools": "Tools" - }, - "monitor": { - "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", - "baudRate": "{0} baud", - "connectionFailedError": "Could not connect to {0} {1} port.", - "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", - "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", - "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", - "notConnectedError": "Not connected to {0} {1} port.", - "unableToCloseWebSocket": "Unable to close websocket", - "unableToConnectToWebSocket": "Unable to connect to websocket" - }, - "newCloudSketch": { - "newSketchTitle": "Name of the new Cloud Sketch" - }, - "portProtocol": { - "network": "Network", - "serial": "Serial" - }, - "preferences": { - "additionalManagerURLs": "Additional Boards Manager URLs", - "auth.audience": "The OAuth2 audience.", - "auth.clientID": "The OAuth2 client ID.", - "auth.domain": "The OAuth2 domain.", - "auth.registerUri": "The URI used to register a new user.", - "automatic": "Automatic", - "board.certificates": "List of certificates that can be uploaded to boards", - "browse": "Browse", - "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", - "choose": "Choose", - "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", - "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", - "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", - "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", - "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", - "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", - "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", - "compile": "compile", - "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", - "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", - "compile.verbose": "True for verbose compile output. False by default", - "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", - "compilerWarnings": "Compiler warnings", - "editorFontSize": "Editor font size", - "editorQuickSuggestions": "Editor Quick Suggestions", - "enterAdditionalURLs": "Enter additional URLs, one for each row", - "files.inside.sketches": "Show files inside Sketches", - "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", - "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", - "interfaceScale": "Interface scale", - "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", - "invalid.sketchbook.location": "Invalid sketchbook location: {0}", - "invalid.theme": "Invalid theme.", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", - "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", - "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", - "manualProxy": "Manual proxy configuration", - "monitor": { - "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." - }, - "network": "Network", - "newSketchbookLocation": "Select new sketchbook location", - "noCliConfig": "Could not load the CLI configuration", - "noProxy": "No proxy", - "proxySettings": { - "hostname": "Host name", - "password": "Password", - "port": "Port number", - "username": "Username" - }, - "showVerbose": "Show verbose output during", - "sketch": { - "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." - }, - "sketchbook.location": "Sketchbook location", - "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", - "unofficialBoardSupport": "Click for a list of unofficial board support URLs", - "upload": "upload", - "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", - "upload.verbose": "True for verbose upload output. False by default.", - "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", - "verifyAfterUpload": "Verify code after upload", - "window.autoScale": "True if the user interface automatically scales with the font size.", - "window.zoomLevel": { - "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." - } - }, - "renameCloudSketch": { - "renameSketchTitle": "New name of the Cloud Sketch" - }, - "replaceMsg": "Replace the existing version of {0}?", - "selectZip": "Select a zip file containing the library you'd like to add", - "serial": { - "autoscroll": "Autoscroll", - "carriageReturn": "Carriage Return", - "connecting": "Connecting to '{0}' on '{1}'...", - "message": "Message (Enter to send message to '{0}' on '{1}')", - "newLine": "New Line", - "newLineCarriageReturn": "Both NL & CR", - "noLineEndings": "No Line Ending", - "notConnected": "Not connected. Select a board and a port to connect automatically.", - "openSerialPlotter": "Serial Plotter", - "timestamp": "Timestamp", - "toggleTimestamp": "Toggle Timestamp" - }, - "sketch": { - "archiveSketch": "Archive Sketch", - "cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.", - "compile": "Compiling sketch...", - "configureAndUpload": "Configure and Upload", - "createdArchive": "Created archive '{0}'.", - "doneCompiling": "Done compiling.", - "doneUploading": "Done uploading.", - "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", - "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", - "exportBinary": "Export Compiled Binary", - "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", - "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", - "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", - "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", - "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", - "moving": "Moving", - "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", - "new": "New Sketch", - "noTrailingPeriod": "A filename cannot end with a dot", - "openFolder": "Open Folder", - "openRecent": "Open Recent", - "openSketchInNewWindow": "Open Sketch in New Window", - "reservedFilename": "'{0}' is a reserved filename.", - "saveFolderAs": "Save sketch folder as...", - "saveSketch": "Save your sketch to open it again later.", - "saveSketchAs": "Save sketch folder as...", - "showFolder": "Show Sketch Folder", - "sketch": "Sketch", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", - "sketchbook": "Sketchbook", - "titleLocalSketchbook": "Local Sketchbook", - "titleSketchbook": "Sketchbook", - "upload": "Upload", - "uploadUsingProgrammer": "Upload Using Programmer", - "uploading": "Uploading...", - "userFieldsNotFoundError": "Can't find user fields for connected board", - "verify": "Verify", - "verifyOrCompile": "Verify/Compile" - }, - "sketchbook": { - "newCloudSketch": "New Cloud Sketch", - "newSketch": "New Sketch" - }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, - "theme": { - "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", - "dark": "Dark", - "deprecated": "{0} (deprecated)", - "hc": "Dark High Contrast", - "hcLight": "Light High Contrast", - "light": "Light", - "user": "{0} (user)" - }, - "title": { - "cloud": "Cloud" - }, - "updateIndexes": { - "updateIndexes": "Update Indexes", - "updateLibraryIndex": "Update Library Index", - "updatePackageIndex": "Update Package Index" - }, - "upload": { - "error": "{0} error: {1}" - }, - "userFields": { - "cancel": "Cancel", - "enterField": "Enter {0}", - "upload": "Upload" - }, - "validateSketch": { - "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", - "abortFixTitle": "Invalid sketch", - "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", - "renameSketchFileTitle": "Invalid sketch filename", - "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", - "renameSketchFolderTitle": "Invalid sketch name" - }, - "workspace": { - "alreadyExists": "'{0}' already exists." - } - }, - "theia": { - "core": { - "cannotConnectBackend": "Cannot connect to the backend.", - "cannotConnectDaemon": "Cannot connect to the CLI daemon.", - "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", - "daemonOffline": "CLI Daemon Offline", - "offline": "Offline", - "offlineText": "Offline", - "quitTitle": "Are you sure you want to quit?" - }, - "editor": { - "unsavedTitle": "Unsaved – {0}" - }, - "messages": { - "collapse": "Collapse", - "expand": "Expand" - }, - "workspace": { - "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", - "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", - "fileNewName": "Name for new file", - "invalidExtension": ".{0} is not a valid extension", - "newFileName": "New name for file" - } - } -} diff --git a/i18n/id.json b/i18n/id.json index 8c60f75d2..095f55fdc 100644 --- a/i18n/id.json +++ b/i18n/id.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Sketsa Cloud Baru", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/it.json b/i18n/it.json index bdc3885df..584a54e5b 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -275,6 +275,9 @@ "checkForUpdates": "Controlla gli aggiornamenti dell'IDE di Arduino", "closeAndInstallButton": "Chiudi e Installa", "closeToInstallNotice": "Chiudi il software e installa l’aggiornamento sulla tua macchina", + "donateLinkIconTitle": "apri la pagina delle donazioni", + "donateLinkText": "dona per sostenerci", + "donateText": "L'open source è amore, {0}", "downloadButton": "Scarica", "downloadingNotice": "Stai scaricando l’ultima versione dell’Arduino IDE", "errorCheckingForUpdates": "Si è verificato un errore durante il controllo degli aggiornamenti per Arduino IDE {0}.", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Percorso della cartella degli sketch", "sketchbook.showAllFiles": "Vero per mostrare tutti i file relativi contenuti all'interno dello sketch. L'opzione predefinita è falso.", - "survey.notification": "Vero se gli utenti devono essere avvisati quando è disponibile un sondaggio. Vero per impostazione predefinita.", "unofficialBoardSupport": "Clicca per ottenere la lista di collegamenti per le schede di terze parti, non schede ufficiali.", "upload": "caricamento", "upload.autoVerify": "Vero se l'IDE deve verificare automaticamente il codice prima del caricamento. Vero per impostazione predefinita. Quando questo valore è falso, l'IDE non ricompila il codice prima di caricare il binario sulla scheda. Si consiglia di impostare questo valore su false solo se si sa cosa si sta facendo.", @@ -487,11 +489,6 @@ "newCloudSketch": "Nuovo sketch remoto", "newSketch": "Nuovo Sketch" }, - "survey": { - "answerSurvey": "Rispondi al questionario", - "dismissSurvey": "Non mostrare più", - "surveyMessage": "Aiutaci a migliorare rispondendo a questo brevissimo questionario. Abbiamo a cuore la nostra comunità e vorremmo conoscere meglio chi ci supporta!" - }, "theme": { "currentThemeNotFound": "Impossibile trovare il tema attualmente selezionato: {0}. Arduino IDE ha selezionato un tema integrato compatibile con quello mancante.", "dark": "Scuro", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "Lo sketch '{0}' non può essere usato. {1} Per eliminare questo messaggio, rinomina lo sketch. Vuoi rinominare adesso lo sketch?", "renameSketchFolderTitle": "Il nome dello sketch non è valido" }, + "versionWelcome": { + "cancelButton": "Forse in seguito", + "donateButton": "Dona adesso", + "donateMessage": "Arduino si impegna a mantenere il software libero e open-source per tutti. La tua donazione ci aiuta a sviluppare nuove funzionalità, a migliorare le librerie e a supportare milioni di utenti in tutto il mondo.", + "donateMessage2": "Considera l'opportunità di sostenere il nostro lavoro sull'IDE open source gratuito di Arduino.", + "title": "Benvenuto nella nuova versione dell'IDE di Arduino!", + "titleWithVersion": "Benvenuto nel nuovo IDE di Arduino! {0}!" + }, "workspace": { "alreadyExists": "'{0}' è già presente." } diff --git a/i18n/ja.json b/i18n/ja.json index aca3aeaf0..3e0a869a1 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -275,6 +275,9 @@ "checkForUpdates": "Arduino IDEのアップデートを確認", "closeAndInstallButton": "終了してインストール", "closeToInstallNotice": "ソフトウェアを終了してアップデートをインストールする。", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "ダウンロード", "downloadingNotice": "Arduino IDEの最新版をダウンロード中です。", "errorCheckingForUpdates": "Arduino IDEの更新を確認中にエラーが発生しました。\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "スケッチブックの場所", "sketchbook.showAllFiles": "スケッチ内のすべてのスケッチファイルを表示するにはtrueを指定。デフォルトではfalse。", - "survey.notification": "アンケートが利用可能になったとき、通知を受け取る場合はTrueを指定します。デフォルトではTrue。", "unofficialBoardSupport": "クリックして非公式ボードをサポートするURLのリストを表示", "upload": "書き込み", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "新規クラウドスケッチ", "newSketch": "新規スケッチ" }, - "survey": { - "answerSurvey": "アンケートに回答する", - "dismissSurvey": "次回から表示しない", - "surveyMessage": "とても簡単なアンケートに答えて、私たちの改善にご協力ください。私たちはコミュニティを大切にしており、サポーターのことをもう少しよく知りたいのです。" - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "スケッチ'{0}'は使用できません。{1}このメッセージをなくすには、スケッチの名前を変えてください。今すぐスケッチ名を変更しますか?", "renameSketchFolderTitle": "無効なスケッチ名です" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}'は既に存在しています。" } diff --git a/i18n/ko.json b/i18n/ko.json index e00e56133..e20f83d77 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -275,6 +275,9 @@ "checkForUpdates": "Arduino IDE 업데이트 확인", "closeAndInstallButton": "닫고 설치하기", "closeToInstallNotice": "소프트웨어를 닫고 장치에 업데이트를 설치해주세요.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "다운로드", "downloadingNotice": "최신 버전의 Arduino IDE를 다운로드하고 있습니다.", "errorCheckingForUpdates": "Arduino IDE의 업데이트를 확인하던 중에 오류가 발생했어요.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "스케치북 위치", "sketchbook.showAllFiles": "스케치 내부의 모든 스케치 파일을 표시하려면 True입니다. 기본은 false입니다.", - "survey.notification": "설문조사를 사용할 수 있는 경우 사용자에게 알림을 보내야 하는 경우 True입니다. 기본은 True입니다.", "unofficialBoardSupport": "비공식 보드 지원 URL 목록을 보려면 클릭하십시오.", "upload": "업로드", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "설문조사 응답", - "dismissSurvey": "다시보지 않기", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "유효하지 않은 스케치 이름" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/my_MM.json b/i18n/my_MM.json index 88037a95a..66a465fb2 100644 --- a/i18n/my_MM.json +++ b/i18n/my_MM.json @@ -275,6 +275,9 @@ "checkForUpdates": "အာဒီနိုအိုင်ဒီအီးအပ်ဒိတ်များစစ်မည်", "closeAndInstallButton": "ပိတ်ပြီးသွင်းမယ်", "closeToInstallNotice": "ဆော့ဖ်ဝဲလ်ပိတ်ပြီး အသစ်ကိုသွင်းမယ်။", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "ဒေါင်းလုတ်ဆွဲမယ်", "downloadingNotice": "နောက်ဆုံးပေါ် Arduino IDE ဗားရှင်းကို ဒေါင်းလုတ်ဆွဲနေတယ်။", "errorCheckingForUpdates": "Arduino IDE အပ်ဒိတ်တွေအတွက် စစ်ဆေးနေတုန်း ပြဿနာတက်သွားတယ်။\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "ကုတ်ဖိုင်လ်စာအုပ်တည်နေရာ", "sketchbook.showAllFiles": "အမှန်ဖြစ်ပါက ကုတ်ဖိုင်လ်အတွင်း ဖိုင်လ်အားလုံးပြမည်။ မူရင်းတန်ဖိုး - အမှား", - "survey.notification": "စစ်တမ်းကောက်ပါက အသုံးပြုသူကို အသိပေးမည်။ မူရင်းတန်ဖိုး - အမှန်", "unofficialBoardSupport": "တရားမဝင်ဘုတ် ထောက်ပံ့မှုURLစာရင်းအတွက် ကလစ်လိုက်ပါ", "upload": "အပ်လုတ်တင်", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "စစ်တမ်းကိုဖြေဆိုပါ", - "dismissSurvey": "နောက်ထပ်မပြပါနှင့်", - "surveyMessage": "ဤစစ်တမ်းကိုဖြေဆိုခြင်းအားဖြင့် ကျွန်ုပ်တို့အား ကူညီလိုက်ပါ။" - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/ne.json b/i18n/ne.json index 264a12494..fd1dcb9e4 100644 --- a/i18n/ne.json +++ b/i18n/ne.json @@ -275,6 +275,9 @@ "checkForUpdates": "Arduino IDE अपडेटहरूको लागि जाँच गर्नुहोस्", "closeAndInstallButton": "बन्द गरेर र स्थापना गर्नुहोस्", "closeToInstallNotice": "सफ्टवेयर बन्द गर्नुहोस् र आफ्नो मेसिनमा अपडेट स्थापना गर्नुहोस्।", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "डाउनलोड ", "downloadingNotice": "अर्डुइनो IDE को नवीनतम संस्करण डाउनलोड हुँदैछ।", "errorCheckingForUpdates": "अर्डुइनो IDE अपडेटहरूको लागि जाँच गर्दा त्रुटि भेटियो।\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "स्केचबुकको स्थान", "sketchbook.showAllFiles": "स्केच भित्र सबै स्केच फाइलहरू देखाउन सही संकेत गर्नुहोस्। यो पूर्वनिर्धारित रूपमा असक्षम छ।", - "survey.notification": "यदि सर्वेक्षण उपलब्ध छ भने प्रयोगकर्ताहरूलाई सूचित गरिनुपर्छ भने सही संकेत गर्नुहोस्। यो पूर्वनिर्धारित रूपमा सही छ।", "unofficialBoardSupport": "अनौपचारिक बोर्ड समर्थन गर्ने URL को सूचीको लागि क्लिक गर्नुहोस्", "upload": "अपलोड ", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "नयाँ क्लाउड स्केच", "newSketch": "नयाँ स्केच" }, - "survey": { - "answerSurvey": "सर्वेक्षणमा जवाफ दिनुहोस ", - "dismissSurvey": "फेरि नदेखाउनुहोस्", - "surveyMessage": "कृपया हामीलाई यो छोटो सर्वेक्षणको जवाफ दिएर सुधार गर्न मद्दत गर्नुहोस्। हामी हाम्रो समुदायको कदर गर्छौं र हाम्रा समर्थकहरूलाई अझ राम्रोसँग चिन्न चाहन्छौं।" - }, "theme": { "currentThemeNotFound": "हाल चयन गरिएको विषयवस्तु फेला पार्न सकेन: {0}। अर्डुइनो IDE ले नभएको विषयवस्तु सँग मिल्दो बिल्ट-इन थिम छनोट गरेको छ।", "dark": "गाढा ", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "स्केच '{0}' प्रयोग गर्न सकिँदैन। {1} यो सन्देशबाट छुटकारा पाउन, स्केचको नाम बदल्नुहोस्। के तपाई अहिले स्केचको नाम परिवर्तन गर्न चाहनुहुन्छ?", "renameSketchFolderTitle": "स्केचको नाम अमान्य छ" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' पहिले नै अवस्थित छ।" } diff --git a/i18n/nl.json b/i18n/nl.json index ddfa0dd30..f7bc5d843 100644 --- a/i18n/nl.json +++ b/i18n/nl.json @@ -275,6 +275,9 @@ "checkForUpdates": "Controleren op Arduino IDE-updates", "closeAndInstallButton": "Sluiten en installeren", "closeToInstallNotice": "Sluit de software en installeer de update op je machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Download de nieuwste versie van de Arduino IDE.", "errorCheckingForUpdates": "Fout bij het controleren op Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Schetsboek locatie", "sketchbook.showAllFiles": "Waar om al de schets bestanden in de schets weer te geven. Standaard ingesteld op onwaar.", - "survey.notification": "Waar als gebruikers een melding moeten krijgen als er een enquête beschikbaar is. Standaard is dit waar.", "unofficialBoardSupport": "Klik voor een lijst met onofficiële borden ondersteuning URL's", "upload": "uploaden", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Nieuwe Cloud Sketch", "newSketch": "Nieuwe schets" }, - "survey": { - "answerSurvey": "Antwoord enquête", - "dismissSurvey": "Niet meer tonen", - "surveyMessage": "Help ons alsjeblieft te verbeteren door deze super korte enquête te beantwoorden. We waarderen onze gemeenschap en willen onze supporters graag wat beter leren kennen." - }, "theme": { "currentThemeNotFound": "Kan het huidig geselecteerde thema niet vinden: {0}. Arduino IDE heeft een ingebouwd thema gekozen dat compatibel is met het ontbrekende.", "dark": "Donker", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "De schets '{0}' kan niet gebruikt worden. {1} Om van deze melding af te komen, hernoem de schets. Wil je de schets nu hernoemen?", "renameSketchFolderTitle": "Ongeldige schetsnaam" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' bestaat al." } diff --git a/i18n/no.json b/i18n/no.json index 4fe18ad78..739bec50d 100644 --- a/i18n/no.json +++ b/i18n/no.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/pl.json b/i18n/pl.json index 201faf2b0..e7a290ba2 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -5,8 +5,8 @@ "label": "O {0}" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", - "goToIoTCloud": "Go to IoT Cloud", + "goToCloudEditor": "Przejdź do Edytora w Chmurze", + "goToIoTCloud": "Przejdź do IoT Cloud", "goToProfile": "Przejdź do profilu", "menuTitle": "Arduino Cloud" }, @@ -91,14 +91,14 @@ }, "cloud": { "chooseSketchVisibility": "Wybierz widoczność swojego Szkicu:", - "cloudSketchbook": "Cloud Sketchbook", + "cloudSketchbook": "Szkic w Chmurze", "connected": "Połączony", "continue": "Kontynuuj", "donePulling": "Done pulling '{0}'.", "donePushing": "Done pushing '{0}'.", "embed": "Osadzić:", "emptySketchbook": "Twój Szkicownik jest pusty", - "goToCloud": "Go to Cloud", + "goToCloud": "Przejdź do Chmury", "learnMore": "Dowiedz się więcej", "link": "Odnośnik:", "notYetPulled": "Nie można wysłać do chmury. Nie jest jeszcze wyciągnięty.", @@ -129,7 +129,7 @@ "cloudSketch": { "alreadyExists": "Cloud sketch '{0}' already exists.", "creating": "Creating cloud sketch '{0}'...", - "new": "New Cloud Sketch", + "new": "Nowy szkic w Chmurze", "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", "pulling": "Synchronizing sketchbook, pulling '{0}'...", "pushing": "Synchronizing sketchbook, pushing '{0}'...", @@ -206,7 +206,7 @@ "copyError": "Kopiuj komunikat błędu", "noBoardSelected": "Nie wybrano płytki. Proszę wybierz płytkę z Narzędzia > Lista płytek" }, - "createCloudCopy": "Push Sketch to Cloud", + "createCloudCopy": "Wrzuć szkic do Chmury", "daemon": { "restart": "Restartuj Daemon", "start": "Start Daemon", @@ -215,7 +215,7 @@ "debug": { "debugWithMessage": "Debuguj - {0}", "debuggingNotSupported": "Debugowanie nie jest wspierane przez '{0}'", - "getDebugInfo": "Getting debug info...", + "getDebugInfo": "Pobieranie informacji debugowania", "noPlatformInstalledFor": "Platforma nie jest zainstalowana dla '{0}'", "optimizeForDebugging": "Optymalizuj pod kątem debugowania", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" @@ -275,6 +275,9 @@ "checkForUpdates": "Sprawdź uaktualnienia dla Arduino IDE.", "closeAndInstallButton": "Wyjdź i instaluj", "closeToInstallNotice": "Zamknij aplikacje i zainstaluj aktualizacje.", + "donateLinkIconTitle": "Otwórz stronę pomocy dla projektu", + "donateLinkText": "Wesprzyj nasz projekt", + "donateText": "Open source is love, {0}", "downloadButton": "Pobierz", "downloadingNotice": "Pobieranie najnowszej wersji Arduino IDE.", "errorCheckingForUpdates": "Błąd podczas sprawdzania aktualizacji Arduino IDE.\n{0}", @@ -339,7 +342,7 @@ }, "monitor": { "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", - "baudRate": "{0} baud", + "baudRate": "1{0} baud", "connectionFailedError": "Could not connect to {0} {1} port.", "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Lokalizacja szkicownika", "sketchbook.showAllFiles": "Prawda, aby wyświetlać wszystkie pliki ze szkicu. Fałsz jest wartością domyślną.", - "survey.notification": "Prawdziwy, jeśli użytkownicy powinni być powiadamiani o dostępności ankiety. Domyślnie prawdwdziwy.", "unofficialBoardSupport": "Kliknij, aby przejść do listy linków nieoficjalnego wsparcia dla płytek.", "upload": "przesyłanie", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -484,14 +486,9 @@ "verifyOrCompile": "Weryfikuj/Kompiluj" }, "sketchbook": { - "newCloudSketch": "New Cloud Sketch", + "newCloudSketch": "Nowy szkic w Chmurze", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Odpowiedz na ankietę", - "dismissSurvey": "Pomóż nam się rozwijać wypełniając tą super krótką ankietę. Cenimy naszą społeczność i chcielibyśmy lepiej poznać tych którzy nas wspierają.", - "surveyMessage": "Pomóż nam się rozwijać wypełniając tą super krótką ankietę. Cenimy naszą społeczność i chcielibyśmy lepiej poznać tych którzy nas wspierają." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -502,7 +499,7 @@ "user": "{0} (user)" }, "title": { - "cloud": "Cloud" + "cloud": "Chmura" }, "updateIndexes": { "updateIndexes": "Aktualizuj indeksy", @@ -519,12 +516,20 @@ }, "validateSketch": { "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", - "abortFixTitle": "Invalid sketch", + "abortFixTitle": "Nieprawidłowy szkic", "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", "renameSketchFileTitle": "Invalid sketch filename", "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Może później", + "donateButton": "Wspomóż projekt teraz", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Witaj w nowej wersji Arduino IDE!", + "titleWithVersion": "Witaj w Arduino IDE1{0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/pt.json b/i18n/pt.json index 4c33e7dae..fd7570180 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -275,6 +275,9 @@ "checkForUpdates": "Checar atualizações da Arduino IDE", "closeAndInstallButton": "Fechar e instalar ", "closeToInstallNotice": "Feche o software e instale a atualização em sua máquina. ", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Baixar", "downloadingNotice": "Baixando a versão mais recente do IDE do Arduino.", "errorCheckingForUpdates": "Erro ao verificar as atualizações do IDE do Arduino. {0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Localização do Caderno de Esboços", "sketchbook.showAllFiles": "Verdadeiro para mostrar todos os arquivos de esboço dentro do esboço. O padrão é falso.", - "survey.notification": "Verdadeiro se o usuário deve ser notificado se uma pesquisa estiver disponível. Verdadeiro por padrão", "unofficialBoardSupport": "Clique para obter uma lista de URLs de placas não oficiais suportadas", "upload": "enviar", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Novo Esboço na Nuvem", "newSketch": "Novo Esboço" }, - "survey": { - "answerSurvey": "Responder a pesquisa", - "dismissSurvey": "Não mostrar novamente", - "surveyMessage": "Por favor, ajude-nos a melhorar respondendo essa pequena pesquisa. Nós valorizamos nossa comunidade e gostaríamos de conhecer nossos colaboradores um pouco melhor." - }, "theme": { "currentThemeNotFound": "Não foi possível encontrar o tema selecionado atualmente: {0}. A IDE Arduino escolheu um tema embutido compatível com o que está faltando. ", "dark": "Escuro", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "O esboço '{0}' não pode ser usado. {1} Para se livrar dessa mensagem, renomeie o esboço. Você quer renomear o esboço agora?", "renameSketchFolderTitle": "Nome de esboço inválido." }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' já existe." } diff --git a/i18n/ro.json b/i18n/ro.json index 38e52b4d0..97950f0de 100644 --- a/i18n/ro.json +++ b/i18n/ro.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "Adevărat pentru a afișa toate fișierele tip schița din interiorul schiței. Este fals în modul implicit.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "încarcă", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/ru.json b/i18n/ru.json index 1ee05dfad..33f53af0f 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -275,6 +275,9 @@ "checkForUpdates": "Проверка обновлений среды Arduino IDE", "closeAndInstallButton": "Закрыть и установить", "closeToInstallNotice": "Закройте программное обеспечение и установите обновление на вашем компьютере.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Скачать", "downloadingNotice": "Загрузка последней версии Arduino IDE.", "errorCheckingForUpdates": "Ошибка при проверке обновлений IDE Arduino.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Путь к альбому со скетчами", "sketchbook.showAllFiles": "True - показывать все файлы внутри скетча. По умолчанию - false.", - "survey.notification": "Включите, если пользователи должны получать уведомления, когда появится новый опрос. Включено по умолчанию.", "unofficialBoardSupport": "Список URL-адресов поддержки неофициальных плат", "upload": "выгрузке на плату", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Новый облачный скетч", "newSketch": "Новый скетч" }, - "survey": { - "answerSurvey": "Ответить на опрос", - "dismissSurvey": "Больше не показывать", - "surveyMessage": "Пожалуйста, помоги нам стать лучше, пройдя этот супер-короткий опрос. Мы ценим наше сообщество и хотели бы узнать наших сторонников немного лучше!" - }, "theme": { "currentThemeNotFound": "Не удалось найти текущую выбранную тему: {0}. Arduino IDE выбрала встроенную тему, совместимую с отсутствующей.", "dark": "Темный", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "Скетч '{0}' не может быть использован. {1} Чтобы избавиться от этого сообщения, переименуйте скетч. Хотите ли вы переименовать скетч сейчас?", "renameSketchFolderTitle": "Неверное название скетча" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "{0} уже существует." } diff --git a/i18n/si.json b/i18n/si.json index 6015c08fa..d712e2a25 100644 --- a/i18n/si.json +++ b/i18n/si.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/sk.json b/i18n/sk.json deleted file mode 100644 index 17cd55547..000000000 --- a/i18n/sk.json +++ /dev/null @@ -1,557 +0,0 @@ -{ - "arduino": { - "about": { - "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", - "label": "About {0}" - }, - "account": { - "goToCloudEditor": "Go to Cloud Editor", - "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", - "menuTitle": "Arduino Cloud" - }, - "board": { - "board": "Board{0}", - "boardConfigDialogTitle": "Select Other Board and Port", - "boardDataReloaded": "Board data reloaded.", - "boardInfo": "Board Info", - "boards": "boards", - "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", - "configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.", - "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", - "editBoardsConfig": "Edit Board and Port...", - "getBoardInfo": "Get Board Info", - "inSketchbook": " (in Sketchbook)", - "installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?", - "noBoardsFound": "No boards found for \"{0}\"", - "noNativeSerialPort": "Native serial port, can't obtain info.", - "noPortsDiscovered": "No ports discovered", - "nonSerialPort": "Non-serial port, can't obtain info.", - "openBoardsConfig": "Select other board and port…", - "pleasePickBoard": "Please pick a board connected to the port you have selected.", - "port": "Port{0}", - "ports": "ports", - "programmer": "Programmer", - "reloadBoardData": "Reload Board Data", - "reselectLater": "Reselect later", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", - "searchBoard": "Search board", - "selectBoard": "Select Board", - "selectBoardToReload": "Please select a board first.", - "selectPortForInfo": "Please select a port to obtain board info.", - "showAllAvailablePorts": "Shows all available ports when enabled", - "showAllPorts": "Show all ports", - "succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}", - "succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}", - "typeOfPorts": "{0} ports", - "unconfirmedBoard": "Unconfirmed board", - "unknownBoard": "Unknown board" - }, - "boardsManager": "Boards Manager", - "boardsType": { - "arduinoCertified": "Arduino Certified" - }, - "bootloader": { - "burnBootloader": "Burn Bootloader", - "burningBootloader": "Burning bootloader...", - "doneBurningBootloader": "Done burning bootloader." - }, - "burnBootloader": { - "error": "Error while burning the bootloader: {0}" - }, - "certificate": { - "addNew": "Add New", - "addURL": "Add URL to fetch SSL certificate", - "boardAtPort": "{0} at {1}", - "certificatesUploaded": "Certificates uploaded.", - "enterURL": "Enter URL", - "noSupportedBoardConnected": "No supported board connected", - "openContext": "Open context", - "remove": "Remove", - "selectBoard": "Select a board...", - "selectCertificateToUpload": "1. Select certificate to upload", - "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", - "upload": "Upload", - "uploadFailed": "Upload failed. Please try again.", - "uploadRootCertificates": "Upload SSL Root Certificates", - "uploadingCertificates": "Uploading certificates." - }, - "checkForUpdates": { - "checkForUpdates": "Check for Arduino Updates", - "installAll": "Install All", - "noUpdates": "There are no recent updates available.", - "promptUpdateBoards": "Updates are available for some of your boards.", - "promptUpdateLibraries": "Updates are available for some of your libraries.", - "updatingBoards": "Updating boards...", - "updatingLibraries": "Updating libraries..." - }, - "cli-error-parser": { - "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", - "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" - }, - "cloud": { - "chooseSketchVisibility": "Choose visibility of your Sketch:", - "cloudSketchbook": "Cloud Sketchbook", - "connected": "Connected", - "continue": "Continue", - "donePulling": "Done pulling '{0}'.", - "donePushing": "Done pushing '{0}'.", - "embed": "Embed:", - "emptySketchbook": "Your Sketchbook is empty", - "goToCloud": "Go to Cloud", - "learnMore": "Learn more", - "link": "Link:", - "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", - "offline": "Offline", - "openInCloudEditor": "Open in Cloud Editor", - "options": "Options...", - "privateVisibility": "Private. Only you can view the Sketch.", - "profilePicture": "Profile picture", - "publicVisibility": "Public. Anyone with the link can view the Sketch.", - "pull": "Pull", - "pullFirst": "You have to pull first to be able to push to the Cloud.", - "pullSketch": "Pull Sketch", - "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", - "push": "Push", - "pushSketch": "Push Sketch", - "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", - "remote": "Remote", - "share": "Share...", - "shareSketch": "Share Sketch", - "showHideSketchbook": "Show/Hide Cloud Sketchbook", - "signIn": "SIGN IN", - "signInToCloud": "Sign in to Arduino Cloud", - "signOut": "Sign Out", - "sync": "Sync", - "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", - "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." - }, - "cloudSketch": { - "alreadyExists": "Cloud sketch '{0}' already exists.", - "creating": "Creating cloud sketch '{0}'...", - "new": "New Cloud Sketch", - "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", - "pulling": "Synchronizing sketchbook, pulling '{0}'...", - "pushing": "Synchronizing sketchbook, pushing '{0}'...", - "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", - "synchronizingSketchbook": "Synchronizing sketchbook..." - }, - "common": { - "all": "All", - "contributed": "Contributed", - "installManually": "Install Manually", - "later": "Later", - "noBoardSelected": "No board selected", - "noSketchOpened": "No sketch opened", - "notConnected": "[not connected]", - "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", - "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", - "partner": "Partner", - "processing": "Processing", - "recommended": "Recommended", - "retired": "Retired", - "selectManually": "Select Manually", - "selectedOn": "on {0}", - "serialMonitor": "Serial Monitor", - "type": "Type", - "unknown": "Unknown", - "updateable": "Updatable", - "userAbort": "User abort" - }, - "compile": { - "error": "Compilation error: {0}" - }, - "component": { - "boardsIncluded": "Boards included in this package:", - "by": "by", - "clickToOpen": "Click to open in browser: {0}", - "filterSearch": "Filter your search...", - "install": "Install", - "installLatest": "Install Latest", - "installVersion": "Install {0}", - "installed": "{0} installed", - "moreInfo": "More info", - "otherVersions": "Other Versions", - "remove": "Remove", - "title": "{0} by {1}", - "uninstall": "Uninstall", - "uninstallMsg": "Do you want to uninstall {0}?", - "update": "Update" - }, - "configuration": { - "cli": { - "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" - } - }, - "connectionStatus": { - "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." - }, - "contributions": { - "addFile": "Add File", - "fileAdded": "One file added to the sketch.", - "plotter": { - "couldNotOpen": "Couldn't open serial plotter" - }, - "replaceTitle": "Replace" - }, - "core": { - "compilerWarnings": { - "all": "All", - "default": "Default", - "more": "More", - "none": "None" - } - }, - "coreContribution": { - "copyError": "Copy error messages", - "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." - }, - "createCloudCopy": "Push Sketch to Cloud", - "daemon": { - "restart": "Restart Daemon", - "start": "Start Daemon", - "stop": "Stop Daemon" - }, - "debug": { - "debugWithMessage": "Debug - {0}", - "debuggingNotSupported": "Debugging is not supported by '{0}'", - "getDebugInfo": "Getting debug info...", - "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "optimizeForDebugging": "Optimize for Debugging", - "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" - }, - "developer": { - "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", - "dumpBoardList": "Dump the Board List" - }, - "dialog": { - "dontAskAgain": "Don't ask again" - }, - "editor": { - "autoFormat": "Auto Format", - "commentUncomment": "Comment/Uncomment", - "copyForForum": "Copy for Forum (Markdown)", - "decreaseFontSize": "Decrease Font Size", - "decreaseIndent": "Decrease Indent", - "increaseFontSize": "Increase Font Size", - "increaseIndent": "Increase Indent", - "nextError": "Next Error", - "previousError": "Previous Error", - "revealError": "Reveal Error" - }, - "examples": { - "builtInExamples": "Built-in examples", - "couldNotInitializeExamples": "Could not initialize built-in examples.", - "customLibrary": "Examples from Custom Libraries", - "for": "Examples for {0}", - "forAny": "Examples for any board", - "menu": "Examples" - }, - "firmware": { - "checkUpdates": "Check Updates", - "failedInstall": "Installation failed. Please try again.", - "install": "Install", - "installingFirmware": "Installing firmware.", - "overwriteSketch": "Installation will overwrite the Sketch on the board.", - "selectBoard": "Select Board", - "selectVersion": "Select firmware version", - "successfullyInstalled": "Firmware successfully installed.", - "updater": "Firmware Updater" - }, - "help": { - "environment": "Environment", - "faq": "Frequently Asked Questions", - "findInReference": "Find in Reference", - "gettingStarted": "Getting Started", - "keyword": "Type a keyword", - "privacyPolicy": "Privacy Policy", - "reference": "Reference", - "search": "Search on Arduino.cc", - "troubleshooting": "Troubleshooting", - "visit": "Visit Arduino.cc" - }, - "ide-updater": { - "checkForUpdates": "Check for Arduino IDE Updates", - "closeAndInstallButton": "Close and Install", - "closeToInstallNotice": "Close the software and install the update on your machine.", - "downloadButton": "Download", - "downloadingNotice": "Downloading the latest version of the Arduino IDE.", - "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", - "goToDownloadButton": "Go To Download", - "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", - "ideUpdaterDialog": "Software Update", - "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", - "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", - "notNowButton": "Not now", - "skipVersionButton": "Skip Version", - "updateAvailable": "Update Available", - "versionDownloaded": "Arduino IDE {0} has been downloaded." - }, - "installable": { - "libraryInstallFailed": "Failed to install library: '{0}{1}'.", - "platformInstallFailed": "Failed to install platform: '{0}{1}'." - }, - "library": { - "addZip": "Add .ZIP Library...", - "arduinoLibraries": "Arduino libraries", - "contributedLibraries": "Contributed libraries", - "include": "Include Library", - "installAll": "Install All", - "installLibraryDependencies": "Install library dependencies", - "installMissingDependencies": "Would you like to install all the missing dependencies?", - "installOneMissingDependency": "Would you like to install the missing dependency?", - "installWithoutDependencies": "Install without dependencies", - "installedSuccessfully": "Successfully installed library {0}:{1}", - "libraryAlreadyExists": "A library already exists. Do you want to overwrite it?", - "manageLibraries": "Manage Libraries...", - "namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?", - "needsMultipleDependencies": "The library {0}:{1} needs some other dependencies currently not installed:", - "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", - "overwriteExistingLibrary": "Do you want to overwrite the existing library?", - "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", - "title": "Library Manager", - "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", - "zipLibrary": "Library" - }, - "librarySearchProperty": { - "topic": "Topic" - }, - "libraryTopic": { - "communication": "Communication", - "dataProcessing": "Data Processing", - "dataStorage": "Data Storage", - "deviceControl": "Device Control", - "display": "Display", - "other": "Other", - "sensors": "Sensors", - "signalInputOutput": "Signal Input/Output", - "timing": "Timing", - "uncategorized": "Uncategorized" - }, - "libraryType": { - "installed": "Installed" - }, - "menu": { - "advanced": "Advanced", - "sketch": "Sketch", - "tools": "Tools" - }, - "monitor": { - "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", - "baudRate": "{0} baud", - "connectionFailedError": "Could not connect to {0} {1} port.", - "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", - "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", - "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", - "notConnectedError": "Not connected to {0} {1} port.", - "unableToCloseWebSocket": "Unable to close websocket", - "unableToConnectToWebSocket": "Unable to connect to websocket" - }, - "newCloudSketch": { - "newSketchTitle": "Name of the new Cloud Sketch" - }, - "portProtocol": { - "network": "Network", - "serial": "Serial" - }, - "preferences": { - "additionalManagerURLs": "Additional Boards Manager URLs", - "auth.audience": "The OAuth2 audience.", - "auth.clientID": "The OAuth2 client ID.", - "auth.domain": "The OAuth2 domain.", - "auth.registerUri": "The URI used to register a new user.", - "automatic": "Automatic", - "board.certificates": "List of certificates that can be uploaded to boards", - "browse": "Browse", - "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", - "choose": "Choose", - "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", - "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", - "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", - "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", - "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", - "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", - "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", - "compile": "compile", - "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", - "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", - "compile.verbose": "True for verbose compile output. False by default", - "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", - "compilerWarnings": "Compiler warnings", - "editorFontSize": "Editor font size", - "editorQuickSuggestions": "Editor Quick Suggestions", - "enterAdditionalURLs": "Enter additional URLs, one for each row", - "files.inside.sketches": "Show files inside Sketches", - "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", - "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", - "interfaceScale": "Interface scale", - "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", - "invalid.sketchbook.location": "Invalid sketchbook location: {0}", - "invalid.theme": "Invalid theme.", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", - "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", - "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", - "manualProxy": "Manual proxy configuration", - "monitor": { - "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." - }, - "network": "Network", - "newSketchbookLocation": "Select new sketchbook location", - "noCliConfig": "Could not load the CLI configuration", - "noProxy": "No proxy", - "proxySettings": { - "hostname": "Host name", - "password": "Password", - "port": "Port number", - "username": "Username" - }, - "showVerbose": "Show verbose output during", - "sketch": { - "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." - }, - "sketchbook.location": "Sketchbook location", - "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", - "unofficialBoardSupport": "Click for a list of unofficial board support URLs", - "upload": "upload", - "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", - "upload.verbose": "True for verbose upload output. False by default.", - "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", - "verifyAfterUpload": "Verify code after upload", - "window.autoScale": "True if the user interface automatically scales with the font size.", - "window.zoomLevel": { - "deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead." - } - }, - "renameCloudSketch": { - "renameSketchTitle": "New name of the Cloud Sketch" - }, - "replaceMsg": "Replace the existing version of {0}?", - "selectZip": "Select a zip file containing the library you'd like to add", - "serial": { - "autoscroll": "Autoscroll", - "carriageReturn": "Carriage Return", - "connecting": "Connecting to '{0}' on '{1}'...", - "message": "Message (Enter to send message to '{0}' on '{1}')", - "newLine": "New Line", - "newLineCarriageReturn": "Both NL & CR", - "noLineEndings": "No Line Ending", - "notConnected": "Not connected. Select a board and a port to connect automatically.", - "openSerialPlotter": "Serial Plotter", - "timestamp": "Timestamp", - "toggleTimestamp": "Toggle Timestamp" - }, - "sketch": { - "archiveSketch": "Archive Sketch", - "cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.", - "compile": "Compiling sketch...", - "configureAndUpload": "Configure and Upload", - "createdArchive": "Created archive '{0}'.", - "doneCompiling": "Done compiling.", - "doneUploading": "Done uploading.", - "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", - "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", - "exportBinary": "Export Compiled Binary", - "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", - "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", - "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", - "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", - "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", - "moving": "Moving", - "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", - "new": "New Sketch", - "noTrailingPeriod": "A filename cannot end with a dot", - "openFolder": "Open Folder", - "openRecent": "Open Recent", - "openSketchInNewWindow": "Open Sketch in New Window", - "reservedFilename": "'{0}' is a reserved filename.", - "saveFolderAs": "Save sketch folder as...", - "saveSketch": "Save your sketch to open it again later.", - "saveSketchAs": "Save sketch folder as...", - "showFolder": "Show Sketch Folder", - "sketch": "Sketch", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", - "sketchbook": "Sketchbook", - "titleLocalSketchbook": "Local Sketchbook", - "titleSketchbook": "Sketchbook", - "upload": "Upload", - "uploadUsingProgrammer": "Upload Using Programmer", - "uploading": "Uploading...", - "userFieldsNotFoundError": "Can't find user fields for connected board", - "verify": "Verify", - "verifyOrCompile": "Verify/Compile" - }, - "sketchbook": { - "newCloudSketch": "New Cloud Sketch", - "newSketch": "New Sketch" - }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, - "theme": { - "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", - "dark": "Dark", - "deprecated": "{0} (deprecated)", - "hc": "Dark High Contrast", - "hcLight": "Light High Contrast", - "light": "Light", - "user": "{0} (user)" - }, - "title": { - "cloud": "Cloud" - }, - "updateIndexes": { - "updateIndexes": "Update Indexes", - "updateLibraryIndex": "Update Library Index", - "updatePackageIndex": "Update Package Index" - }, - "upload": { - "error": "{0} error: {1}" - }, - "userFields": { - "cancel": "Cancel", - "enterField": "Enter {0}", - "upload": "Upload" - }, - "validateSketch": { - "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", - "abortFixTitle": "Invalid sketch", - "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", - "renameSketchFileTitle": "Invalid sketch filename", - "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", - "renameSketchFolderTitle": "Invalid sketch name" - }, - "workspace": { - "alreadyExists": "'{0}' already exists." - } - }, - "theia": { - "core": { - "cannotConnectBackend": "Cannot connect to the backend.", - "cannotConnectDaemon": "Cannot connect to the CLI daemon.", - "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", - "daemonOffline": "CLI Daemon Offline", - "offline": "Offline", - "offlineText": "Offline", - "quitTitle": "Are you sure you want to quit?" - }, - "editor": { - "unsavedTitle": "Unsaved – {0}" - }, - "messages": { - "collapse": "Collapse", - "expand": "Expand" - }, - "workspace": { - "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", - "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", - "fileNewName": "Name for new file", - "invalidExtension": ".{0} is not a valid extension", - "newFileName": "New name for file" - } - } -} diff --git a/i18n/sr.json b/i18n/sr.json index d1bad70cb..3486d25a8 100644 --- a/i18n/sr.json +++ b/i18n/sr.json @@ -275,6 +275,9 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Затвори и инсталирај", "closeToInstallNotice": "Затворите програм и покрените инсталацију надоградње на ваш рачунар.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Преузимање", "downloadingNotice": "Преузимање последње верзије Arduino IDE.", "errorCheckingForUpdates": "Грешка приликом провере надоградњи за Arduino IDE.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Локација радне свеске", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "спусти", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "New Cloud Sketch", "newSketch": "New Sketch" }, - "survey": { - "answerSurvey": "Answer survey", - "dismissSurvey": "Don't show again", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Dark", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Invalid sketch name" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' already exists." } diff --git a/i18n/th.json b/i18n/th.json index 656e98e00..621cff165 100644 --- a/i18n/th.json +++ b/i18n/th.json @@ -13,43 +13,43 @@ "board": { "board": "บอร์ด{0}", "boardConfigDialogTitle": "เลือกบอร์ดและพอร์ตอื่นๆ", - "boardDataReloaded": "Board data reloaded.", + "boardDataReloaded": "โหลดข้อมูลบอร์ดใหม่แล้ว", "boardInfo": "ข้อมูลบอร์ด", "boards": "บอร์ด", "configDialog1": "เลือกบอร์ดและพอร์ตที่คุณต้องการอัปโหลดโปรแกรมของคุณ", "configDialog2": "หากคุณแค่เลือกบอร์ดคุณจะสามารถคอมไพล์ได้ แต่สเก็ตช์ของคุณจะไม่ถูกอัปโหลด", "couldNotFindPreviouslySelected": "ไม่สามาถหาบอร์ด {0} ที่ถูกเลือกไว้ก่อนหน้านี้พบในแพลตฟอร์มที่ถูกติดตั้ง {1} กรุณาเลือกบอร์ดที่คุณต้องการใช้งานด้วยตัวเอง คุณต้องการเลือกใหม่ในตอนนี้หรือไม่?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "แก้ไขบอร์ดและพอร์ต", "getBoardInfo": "เรียกดูข้อมูลของบอร์ด", "inSketchbook": "(ใน Sketchbook)", "installNow": "คอร์ \"{0}{1}\" ต้องถูกติดตั้งสำหรับบอร์ด \"{2}\" ที่ถูกเลือก คุณต้องการติดตั้งในตอนนี้หรือไม่?", "noBoardsFound": "ไม่พบบอร์ด \"{0}\"", - "noNativeSerialPort": "Native serial port, can't obtain info.", + "noNativeSerialPort": "พอร์ต Serial ดั้งเดิม ไม่สามารถรับข้อมูลได้", "noPortsDiscovered": "ไม่พบพอร์ต", - "nonSerialPort": "Non-serial port, can't obtain info.", + "nonSerialPort": "ไม่ใช่พอร์ต Serial ไม่สามารถรับข้อมูลได้", "openBoardsConfig": "เลือกบอร์ดอื่นและพอร์ต...", "pleasePickBoard": "กรุณาเลือกบอร์ดที่เชื่อมต่อกับพอร์ตที่คุณได้เลือกไว้", "port": "พอร์ต {0}", "ports": "พอร์ต", "programmer": "เครื่องโปรแกรม", - "reloadBoardData": "Reload Board Data", + "reloadBoardData": "โหลดข้อมูลบอร์ดใหม่", "reselectLater": "เลือกใหม่ในภายหลัง", - "revertBoardsConfig": "Use '{0}' discovered on '{1}'", + "revertBoardsConfig": "ใช้ '{0}' ค้นพบเมื่อ '{1}'", "searchBoard": "ค้นหาบอร์ด", "selectBoard": "เลือกบอร์ด", - "selectBoardToReload": "Please select a board first.", + "selectBoardToReload": "กรุณาเลือกบอร์ดก่อน", "selectPortForInfo": "กรุณาเลือกพอร์ตเพื่อดึงข้อมูลของบอร์ด", "showAllAvailablePorts": "แสดงพอร์ตทั้งหมดที่มีอยู่เมื่อเลือก", "showAllPorts": "แสดงพอร์ตทั้งหมด", "succesfullyInstalledPlatform": "ติดตั้งแพลตฟอร์ม {0}:{1} สำเร็จ", "succesfullyUninstalledPlatform": "ถอนการติดตั้งแพลตฟอร์ม {0}:{1} สำเร็จ", "typeOfPorts": "{0} พอร์ต", - "unconfirmedBoard": "Unconfirmed board", + "unconfirmedBoard": "บอร์ดไม่ได้รับการยืนยัน", "unknownBoard": "บอร์ดที่ไม่รู้จัก" }, "boardsManager": "ตัวจัดการบอร์ด", "boardsType": { - "arduinoCertified": "Arduino Certified" + "arduinoCertified": "ได้รับการับรองจาก Arduino" }, "bootloader": { "burnBootloader": "เขียนบูทโหลดเดอร์", @@ -60,207 +60,207 @@ "error": "เกิดความผิดพลาดในขณะเขียนบูทโหลดเดอร์: {0}" }, "certificate": { - "addNew": "Add New", - "addURL": "Add URL to fetch SSL certificate", - "boardAtPort": "{0} at {1}", - "certificatesUploaded": "Certificates uploaded.", - "enterURL": "Enter URL", - "noSupportedBoardConnected": "No supported board connected", - "openContext": "Open context", - "remove": "Remove", - "selectBoard": "Select a board...", - "selectCertificateToUpload": "1. Select certificate to upload", - "selectDestinationBoardToUpload": "2. Select destination board and upload certificate", + "addNew": "เพิ่มใหม่", + "addURL": "เพิ่ม URL เพื่อดึงใบรับรอง SSL", + "boardAtPort": "{0} ที่ {1}", + "certificatesUploaded": "อัปโหลดใบรับรองแล้ว", + "enterURL": "ใส่ URL", + "noSupportedBoardConnected": "ไม่มีบอร์ดที่รองรับเชื่อมต่ออยู่", + "openContext": "เปิดบริบท", + "remove": "นำออก", + "selectBoard": "เลือกบอร์ด...", + "selectCertificateToUpload": "1. เลือกใบรับรองที่จะอัปโหลด", + "selectDestinationBoardToUpload": "2. เลือกบอร์ดปลายทางเพื่ออัปโหลด", "upload": "อัปโหลด", - "uploadFailed": "Upload failed. Please try again.", - "uploadRootCertificates": "Upload SSL Root Certificates", - "uploadingCertificates": "Uploading certificates." + "uploadFailed": "อัปโหลดล้มเหลว โปรดลองอีกครั้ง", + "uploadRootCertificates": "อัปโหลดใบรับรองรูท SSL ", + "uploadingCertificates": "กำลังอัปโหลดใบรับรอง" }, "checkForUpdates": { - "checkForUpdates": "Check for Arduino Updates", - "installAll": "Install All", - "noUpdates": "There are no recent updates available.", - "promptUpdateBoards": "Updates are available for some of your boards.", - "promptUpdateLibraries": "Updates are available for some of your libraries.", - "updatingBoards": "Updating boards...", - "updatingLibraries": "Updating libraries..." + "checkForUpdates": "ตรวจสอบการอัปเดต Arduino", + "installAll": "ติดตั้งทั้งหมด", + "noUpdates": "ไม่มีอัปเดต", + "promptUpdateBoards": "ต้องการอัปเดตบอร์ดหรือไม่?", + "promptUpdateLibraries": "ต้องการอัปเดตไลบรารีหรือไม่?", + "updatingBoards": "กำลังอัปเดตบอร์ด", + "updatingLibraries": "กำลังอัปเดตไลบรารี" }, "cli-error-parser": { - "keyboardError": "'Keyboard' not found. Does your sketch include the line '#include '?", - "mouseError": "'Mouse' not found. Does your sketch include the line '#include '?" + "keyboardError": "ไม่พบ 'Keyboard' ตรวจสอบว่าสเก็ตช์ของคุณมีบรรทัด '#include ' หรือไม่?", + "mouseError": " ไม่พบ 'Mouse' ตรวจสอบว่าโค้ดของคุณมีบรรทัด #include หรือไม่?" }, "cloud": { - "chooseSketchVisibility": "Choose visibility of your Sketch:", - "cloudSketchbook": "Cloud Sketchbook", - "connected": "Connected", - "continue": "Continue", - "donePulling": "Done pulling '{0}'.", - "donePushing": "Done pushing '{0}'.", - "embed": "Embed:", - "emptySketchbook": "Your Sketchbook is empty", - "goToCloud": "Go to Cloud", - "learnMore": "Learn more", - "link": "Link:", - "notYetPulled": "Cannot push to Cloud. It is not yet pulled.", - "offline": "Offline", - "openInCloudEditor": "Open in Cloud Editor", - "options": "Options...", - "privateVisibility": "Private. Only you can view the Sketch.", - "profilePicture": "Profile picture", - "publicVisibility": "Public. Anyone with the link can view the Sketch.", - "pull": "Pull", - "pullFirst": "You have to pull first to be able to push to the Cloud.", - "pullSketch": "Pull Sketch", - "pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?", - "push": "Push", - "pushSketch": "Push Sketch", - "pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.", - "remote": "Remote", - "share": "Share...", - "shareSketch": "Share Sketch", - "showHideSketchbook": "Show/Hide Cloud Sketchbook", - "signIn": "SIGN IN", - "signInToCloud": "Sign in to Arduino Cloud", - "signOut": "Sign Out", - "sync": "Sync", - "syncEditSketches": "Sync and edit your Arduino Cloud Sketches", - "visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches." + "chooseSketchVisibility": "เลือกการเปิดเผยสเก็ตช์ของคุณ:", + "cloudSketchbook": "สมุดสเก็ตช์บนคลาวด์", + "connected": "เชื่อมต่อ", + "continue": "ดำเนินการต่อ", + "donePulling": "ดึงข้อมูลเสร็จสิ้น '{0}'", + "donePushing": "ส่งข้อมูลเสร็จสิ้น '{0}'", + "embed": "ฝัง:", + "emptySketchbook": "สมุดสเก็ตช์ของคุณว่างเปล่า", + "goToCloud": "ไปยัง Cloud", + "learnMore": "เรียนรู้เพิ่มเติม", + "link": "ลิ้งก์:", + "notYetPulled": " ไม่สามารถอัปโหลดไปยัง Cloud ได้ เนื่องจากยังไม่ได้ดึงข้อมูลลงมาก่อน", + "offline": "ออฟไลน์", + "openInCloudEditor": "เปิดใน Cloud Editor", + "options": "ตัวเลือก...", + "privateVisibility": "เป็นแบบส่วนตัว มีเพียงคุณเท่านั้นที่สามารถดู สเก็ตช์ ได้", + "profilePicture": "ภาพโปรไฟล์", + "publicVisibility": " เป็นแบบสาธารณะ ทุกคนที่มีลิงก์สามารถดู สเก็ตช์ ได้", + "pull": "ดึง", + "pullFirst": "คุณต้องดึงข้อมูลมาก่อน จึงจะสามารถอัปโหลดไปยัง Cloud ได้", + "pullSketch": "ดึง สเก็ตช์", + "pullSketchMsg": "การดึง สเก็ตช์ นี้จาก Cloud จะเขียนทับเวอร์ชันที่อยู่ในเครื่องของคุณ คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?", + "push": "ส่ง", + "pushSketch": "ส่ง สเก็ตช์", + "pushSketchMsg": " นี่คือ สเก็ตช์ สาธารณะ ก่อนอัปโหลด โปรดตรวจสอบว่าข้อมูลที่ละเอียดอ่อนถูกกำหนดไว้ในไฟล์ arduino_secrets.h แล้ว คุณสามารถทำให้ สเก็ตช์ เป็นแบบส่วนตัวได้จากเมนู แชร์", + "remote": "ระยะไกล", + "share": "แชร์...", + "shareSketch": "แชร์ สเก็ตช์", + "showHideSketchbook": "แสดง/ซ่อน Cloud Sketchbook", + "signIn": "ลงชื่อเข้าใช้", + "signInToCloud": "ลงชื่อเข้าใช้ Arduino Cloud", + "signOut": "ลงชื่อออก", + "sync": "ซิงค์", + "syncEditSketches": "ซิงค์และแก้ไข สเก็ตช์ ของคุณใน Arduino Cloud", + "visitArduinoCloud": "ไปที่ Arduino Cloud เพื่อสร้าง Cloud Sketches" }, "cloudSketch": { - "alreadyExists": "Cloud sketch '{0}' already exists.", - "creating": "Creating cloud sketch '{0}'...", - "new": "New Cloud Sketch", - "notFound": "Could not pull the cloud sketch '{0}'. It does not exist.", - "pulling": "Synchronizing sketchbook, pulling '{0}'...", - "pushing": "Synchronizing sketchbook, pushing '{0}'...", - "renaming": "Renaming cloud sketch from '{0}' to '{1}'...", - "synchronizingSketchbook": "Synchronizing sketchbook..." + "alreadyExists": "สมุดสเก็ตช์ '{0}' มีอยู่แล้ว", + "creating": "กำลังสร้าง สมุดสเก็ตช์ '{0}'...", + "new": "Cloud Sketch ใหม่", + "notFound": "ไม่สามารถดึงสเก็ตช์จากคลาวด์ '{0}' สเก็ตช์นี้ไม่มีอยู่จริง", + "pulling": "กำลังซิงค์สมุดสเก็ตช์, ดึง '{0}'...", + "pushing": "กำลังซิงค์สมุดสเก็ตช์, กำลังอัปโหลด '{0}'...", + "renaming": "กำลังเปลี่ยนชื่อสเก็ตช์ในคลาวด์จาก '{0}' เป็น '{1}'...", + "synchronizingSketchbook": "กำลังซิงค์สมุดสเก็ตช์..." }, "common": { - "all": "All", - "contributed": "Contributed", - "installManually": "Install Manually", - "later": "Later", - "noBoardSelected": "No board selected", - "noSketchOpened": "No sketch opened", - "notConnected": "[not connected]", - "offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.", - "oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?", - "partner": "Partner", - "processing": "Processing", - "recommended": "Recommended", - "retired": "Retired", - "selectManually": "Select Manually", - "selectedOn": "on {0}", + "all": "ทั้งหมด", + "contributed": "มีส่วนร่วม", + "installManually": "ติดตั้งด้วยตัวเอง", + "later": "ภายหลัง", + "noBoardSelected": "ไม่ได้เลือกบอร์ด :O", + "noSketchOpened": "ไม่ได้เปิด สเก็ตช์", + "notConnected": "[ไม่ได้เชื่อมต่อ]", + "offlineIndicator": "ดูเหมือนว่าคุณจะออฟไลน์อยู่ โดยไม่มีการเชื่อมต่ออินเทอร์เน็ต Arduino CLI อาจไม่สามารถดาวน์โหลดทรัพยากรที่จำเป็นและอาจทำให้เกิดการทำงานผิดปกติได้ กรุณาเชื่อมต่อกับอินเทอร์เน็ตและรีสตาร์ทแอปพลิเคชัน", + "oldFormat": "'{0}' ยังคงใช้รูปแบบเก่า .pde อยู่ คุณต้องการเปลี่ยนเป็นนามสกุลใหม่ .ino หรือไม่?", + "partner": "พาร์ทเนอร์", + "processing": "กำลังประมวลผล", + "recommended": "แนะนำ", + "retired": "ยกเลิกการใช้งาน", + "selectManually": "เลือกด้วยตัวเอง", + "selectedOn": "บน {0}", "serialMonitor": "Serial Monitor", - "type": "Type", - "unknown": "Unknown", - "updateable": "Updatable", - "userAbort": "User abort" + "type": "ชนิด", + "unknown": "ไม่รู้จัก", + "updateable": "อัปเดตได้", + "userAbort": "การยกเลิกที่ผู้ใช้ทำเอง" }, "compile": { - "error": "Compilation error: {0}" + "error": "ข้อผิดพลาดในการคอมไพล์: {0}" }, "component": { - "boardsIncluded": "Boards included in this package:", - "by": "by", - "clickToOpen": "Click to open in browser: {0}", - "filterSearch": "Filter your search...", - "install": "Install", - "installLatest": "Install Latest", - "installVersion": "Install {0}", - "installed": "{0} installed", - "moreInfo": "More info", - "otherVersions": "Other Versions", - "remove": "Remove", - "title": "{0} by {1}", - "uninstall": "Uninstall", - "uninstallMsg": "Do you want to uninstall {0}?", - "update": "Update" + "boardsIncluded": "บอร์ดที่รวมอยู่ในแพ็คเกจนี้:", + "by": "โดย", + "clickToOpen": "คลิกเพื่อเปิดในเบราว์เซอร์: {0}", + "filterSearch": "กรองการค้นหาของคุณ...", + "install": "ติดตั้ง", + "installLatest": "ติดตั้งภายหลัง", + "installVersion": "ติดตั้ง {0}", + "installed": "ติดตั้ง {0} แล้ว", + "moreInfo": "ข้อมูลเพิ่มเติม", + "otherVersions": "เวอร์ชั่นก่อนหน้า", + "remove": "นำออก", + "title": "{0} โดย {1}", + "uninstall": "ถอนการติดตั้ง", + "uninstallMsg": "คุณต้องการถอนการติดตั้ง {0}?", + "update": "อัปเดต" }, "configuration": { "cli": { - "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" + "inaccessibleDirectory": "ไม่สามารถเข้าถึงตำแหน่งสมุดสเก็ตช์ที่ '{0}': {1}" } }, "connectionStatus": { - "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + "connectionLost": "การเชื่อมต่อขาดหาย การดำเนินการและอัปเดตสเก็ตช์บนคลาวด์จะไม่สามารถใช้ได้" }, "contributions": { - "addFile": "Add File", - "fileAdded": "One file added to the sketch.", + "addFile": "เพิ่มไฟล์", + "fileAdded": "เพิ่มไฟล์หนึ่งไฟล์ลงในสเก็ตช์", "plotter": { - "couldNotOpen": "Couldn't open serial plotter" + "couldNotOpen": "ไม่สามารถเปิด Serial Plotter ได้" }, - "replaceTitle": "Replace" + "replaceTitle": "แทนที" }, "core": { "compilerWarnings": { - "all": "All", - "default": "Default", - "more": "More", - "none": "None" + "all": "ทั้งหมด", + "default": "ค่าเริ่มต้น", + "more": "อื่นๆ", + "none": "ว่าง" } }, "coreContribution": { - "copyError": "Copy error messages", - "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." + "copyError": "คัดลอกข้อความแสดงข้อผิดพลาด", + "noBoardSelected": "ยังไม่ได้เลือกบอร์ด กรุณาเลือกบอร์ด Arduino ของคุณจากเมนู เครื่องมือ > บอร์ด" }, - "createCloudCopy": "Push Sketch to Cloud", + "createCloudCopy": "อัพโหลดสเก็ตช์ขึ้นคลาวด์", "daemon": { - "restart": "Restart Daemon", - "start": "Start Daemon", - "stop": "Stop Daemon" + "restart": "รีสตาร์ท Daemon", + "start": "เริ่ม Daemon", + "stop": "หยุด Daemon" }, "debug": { - "debugWithMessage": "Debug - {0}", - "debuggingNotSupported": "Debugging is not supported by '{0}'", - "getDebugInfo": "Getting debug info...", - "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "optimizeForDebugging": "Optimize for Debugging", - "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" + "debugWithMessage": "ดีบัก - {0}", + "debuggingNotSupported": "'{0}' ไม่รองรับการดีบัก", + "getDebugInfo": "กำลังรับข้อมูลการดีบัก", + "noPlatformInstalledFor": "ไม่ได้ติดตั้งแฟลตฟอร์มสำหรับ '{0}'", + "optimizeForDebugging": "ปรับให้เหมาะสมสำหรับการดีบัก", + "sketchIsNotCompiled": "สเก็ตช์ '{0}' ต้องได้รับการตรวจสอบก่อนเริ่มการดีบัก กรุณาตรวจสอบสเก็ตช์แล้วลองดีบักอีกครั้ง คุณต้องการตรวจสอบสเก็ตช์ตอนนี้หรือไม่?" }, "developer": { - "clearBoardList": "Clear the Board List History", - "clearBoardsConfig": "Clear the Board and Port Selection", - "dumpBoardList": "Dump the Board List" + "clearBoardList": "ล้างประวัติรายการบอร์ด", + "clearBoardsConfig": "ล้างการเลือกบอร์ดและพอร์ต", + "dumpBoardList": "แสดงรายการบอร์ด" }, "dialog": { - "dontAskAgain": "Don't ask again" + "dontAskAgain": "อย่าถามอีก 😠" }, "editor": { - "autoFormat": "Auto Format", - "commentUncomment": "Comment/Uncomment", - "copyForForum": "Copy for Forum (Markdown)", - "decreaseFontSize": "Decrease Font Size", - "decreaseIndent": "Decrease Indent", - "increaseFontSize": "Increase Font Size", - "increaseIndent": "Increase Indent", - "nextError": "Next Error", - "previousError": "Previous Error", - "revealError": "Reveal Error" + "autoFormat": "จัดรูปแบบอัตโนมัติ", + "commentUncomment": "คอมเมนต์/ยกเลิกคอมเมนต์", + "copyForForum": "คัดลอกสำหรับฟอรั่ม (Markdown)", + "decreaseFontSize": "ลดขนาดฟอนต์", + "decreaseIndent": "ลดการเยื้อง", + "increaseFontSize": "เพิ่มขนาดฟอนต์", + "increaseIndent": "เพิ่มการเยื้อง", + "nextError": "ข้อผิดพลาดถัดไป", + "previousError": "ข้อผิดพลาดก่อนหน้า", + "revealError": "ดูข้อผิดพลาด" }, "examples": { - "builtInExamples": "Built-in examples", - "couldNotInitializeExamples": "Could not initialize built-in examples.", - "customLibrary": "Examples from Custom Libraries", - "for": "Examples for {0}", - "forAny": "Examples for any board", - "menu": "Examples" + "builtInExamples": "ตัวอย่างที่มีมาให้", + "couldNotInitializeExamples": "ไม่สามารถเริ่มต้นตัวอย่างที่มีมาให้", + "customLibrary": "ตัวอย่างจากไลบรารีที่กำหนดเอง", + "for": "ตัวอย่างสำหรับ {0}", + "forAny": "ตัวอย่างสำหรับบอร์ดใดก็ได้", + "menu": "ตัวอย่าง" }, "firmware": { - "checkUpdates": "Check Updates", - "failedInstall": "Installation failed. Please try again.", - "install": "Install", - "installingFirmware": "Installing firmware.", - "overwriteSketch": "Installation will overwrite the Sketch on the board.", + "checkUpdates": "ตรวจหาอัปเดต", + "failedInstall": "ติดตั้งล้มเหลว โปรดลองอีกครั้ง", + "install": "ติดตั้ง", + "installingFirmware": "กำลังติดตั้งเฟิร์มแวร์", + "overwriteSketch": "การติดตั้งจะเขียนทับสเก็ตช์บนบอร์ด", "selectBoard": "เลือกบอร์ด", - "selectVersion": "Select firmware version", - "successfullyInstalled": "Firmware successfully installed.", - "updater": "Firmware Updater" + "selectVersion": "เลือกเวอร์ชั่นเฟิร์มแวร์", + "successfullyInstalled": "การติดตั้งเฟิร์มแวร์เสร็จสิ้น 😁", + "updater": "อัปเดตเฟิร์มแวร์" }, "help": { - "environment": "Environment", + "environment": "สภาพแวดล้อม", "faq": "Frequently Asked Questions", "findInReference": "Find in Reference", "gettingStarted": "Getting Started", @@ -275,11 +275,14 @@ "checkForUpdates": "Check for Arduino IDE Updates", "closeAndInstallButton": "Close and Install", "closeToInstallNotice": "Close the software and install the update on your machine.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Download", "downloadingNotice": "Downloading the latest version of the Arduino IDE.", "errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}", "goToDownloadButton": "Go To Download", - "goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.", + "goToDownloadPage": "มีการอัปเดตสำหรับ Arduino IDE แต่เราไม่สามารถดาวน์โหลดและติดตั้งมันโดยอัตโนมัติได้ กรุณาไปที่หน้าดาวน์โหลดและดาวน์โหลดเวอร์ชันล่าสุดจากที่นั่น", "ideUpdaterDialog": "Software Update", "newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.", "noUpdatesAvailable": "There are no recent updates available for the Arduino IDE", @@ -293,13 +296,13 @@ "platformInstallFailed": "Failed to install platform: '{0}{1}'." }, "library": { - "addZip": "Add .ZIP Library...", - "arduinoLibraries": "Arduino libraries", - "contributedLibraries": "Contributed libraries", - "include": "Include Library", - "installAll": "Install All", - "installLibraryDependencies": "Install library dependencies", - "installMissingDependencies": "Would you like to install all the missing dependencies?", + "addZip": "เพิ่มไลบารี .zip...", + "arduinoLibraries": "ไลบารีของ Arduino", + "contributedLibraries": "ไลบรารีที่มีการร่วมพัฒนา", + "include": "รวมไลบารี", + "installAll": "ติดตั้งทั้งหมด", + "installLibraryDependencies": "ติดตั้งการเพิ่งพาไลบารี", + "installMissingDependencies": "คุณต้องการติดตั้งการพึ่งพาที่ขาดหายไปทั้งหมดหรือไม่?", "installOneMissingDependency": "Would you like to install the missing dependency?", "installWithoutDependencies": "Install without dependencies", "installedSuccessfully": "Successfully installed library {0}:{1}", @@ -310,39 +313,39 @@ "needsOneDependency": "The library {0}:{1} needs another dependency currently not installed:", "overwriteExistingLibrary": "Do you want to overwrite the existing library?", "successfullyInstalledZipLibrary": "Successfully installed library from {0} archive", - "title": "Library Manager", - "uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}", - "zipLibrary": "Library" + "title": "ตัวจัดการไลบารี", + "uninstalledSuccessfully": "ถอนการติดตั้งไลบารี {0};{1} สำเร็จ", + "zipLibrary": "ไลบารี" }, "librarySearchProperty": { - "topic": "Topic" + "topic": "หัวข้อ" }, "libraryTopic": { - "communication": "Communication", - "dataProcessing": "Data Processing", - "dataStorage": "Data Storage", - "deviceControl": "Device Control", - "display": "Display", - "other": "Other", - "sensors": "Sensors", - "signalInputOutput": "Signal Input/Output", - "timing": "Timing", - "uncategorized": "Uncategorized" + "communication": "การสื่อสาร", + "dataProcessing": "ประมวลผลข้อมูล", + "dataStorage": "การจัดเก็บข้อมูล", + "deviceControl": "ควบคุมอุปกรณ์", + "display": "จอแสดงผล", + "other": "อื่นๆ", + "sensors": "เซนเซอร์", + "signalInputOutput": "สัญญาณ เข้า/ออก", + "timing": "เวลา", + "uncategorized": "ไม่มีหมวดหมู่" }, "libraryType": { - "installed": "Installed" + "installed": "ติดตั้งอยู่" }, "menu": { - "advanced": "Advanced", - "sketch": "Sketch", - "tools": "Tools" + "advanced": "ขั้นสูง", + "sketch": "สเก็ตช์", + "tools": "เครื่องมื่อ" }, "monitor": { "alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.", "baudRate": "{0} baud", "connectionFailedError": "Could not connect to {0} {1} port.", "connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.", - "connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it", + "connectionTimeout": "หมดเวลา. IDE ไม่ได้รับข้อความ 'success' จากตัวมอนิเตอร์หลังจากเชื่อมต่อสำเร็จ", "missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.", "notConnectedError": "Not connected to {0} {1} port.", "unableToCloseWebSocket": "Unable to close websocket", @@ -352,7 +355,7 @@ "newSketchTitle": "Name of the new Cloud Sketch" }, "portProtocol": { - "network": "Network", + "network": "เน็ตเวิร์ก", "serial": "Serial" }, "preferences": { @@ -361,61 +364,60 @@ "auth.clientID": "The OAuth2 client ID.", "auth.domain": "The OAuth2 domain.", "auth.registerUri": "The URI used to register a new user.", - "automatic": "Automatic", + "automatic": "อัตโนมัติ", "board.certificates": "List of certificates that can be uploaded to boards", - "browse": "Browse", - "checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.", - "choose": "Choose", - "cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.", - "cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.", - "cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.", - "cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.", + "browse": "เรียกดู", + "checkForUpdate": "รับการแจ้งเตือนเกี่ยวกับการอัปเดตที่มีสำหรับ IDE, บอร์ด และไลบรารี จำเป็นต้องรีสตาร์ท IDE หลังจากการเปลี่ยนแปลง ค่าเริ่มต้นเป็น true", + "choose": "เลือก", + "cli.daemonDebug": "เปิดการบันทึกดีบักของการเรียก gRPC ไปยัง Arduino CLI จำเป็นต้องรีสตาร์ท IDE เพื่อให้การตั้งค่านี้มีผล ค่าเริ่มต้นเป็น false", + "cloud.enabled": "เป็น true หากฟังก์ชันการซิงค์สเก็ตช์เปิดใช้งาน ค่าเริ่มต้นเป็น true", + "cloud.pull.warn": "เป็น true หากผู้ใช้ควรได้รับการเตือนก่อนดึงสเก็ตช์จากคลาวด์ ค่าเริ่มต้นเป็น true", + "cloud.push.warn": "เป็น true หากผู้ใช้ควรได้รับการเตือนก่อนอัปโหลดสเก็ตช์ไปยังคลาวด์ ค่าเริ่มต้นเป็น true", "cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.", "cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.", "cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.", - "compile": "compile", + "compile": "รวบรวม", "compile.experimental": "True if the IDE should handle multiple compiler errors. False by default", - "compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.", + "compile.revealRange": "ปรับแต่งวิธีการแสดงข้อผิดพลาดของคอมไพเลอร์ในตัวแก้ไขหลังจากการตรวจสอบ/อัปโหลดล้มเหลว ค่าที่เป็นไปได้ ได้แก่:\n'auto': เลื่อนแนวตั้งตามที่จำเป็นและแสดงบรรทัด\n'center': เลื่อนแนวตั้งตามที่จำเป็นและแสดงบรรทัดที่ตรงกลางแนวตั้ง\n'top': เลื่อนแนวตั้งตามที่จำเป็นและแสดงบรรทัดที่ใกล้กับด้านบนของหน้าจอ แนะนำสำหรับการดูการนิยามของโค้ด\n'centerIfOutsideViewport': เลื่อนแนวตั้งตามที่จำเป็นและแสดงบรรทัดที่ตรงกลางแนวตั้งเฉพาะเมื่อบรรทัดนั้นอยู่นอกหน้าจอ\nค่าเริ่มต้นคือ '{0}'", "compile.verbose": "True for verbose compile output. False by default", "compile.warnings": "Tells gcc which warning level to use. It's 'None' by default", - "compilerWarnings": "Compiler warnings", - "editorFontSize": "Editor font size", + "compilerWarnings": "คำเตือนของคอมไพเลอร์", + "editorFontSize": "แก้ไขขนาดตัวอักษร", "editorQuickSuggestions": "Editor Quick Suggestions", "enterAdditionalURLs": "Enter additional URLs, one for each row", "files.inside.sketches": "Show files inside Sketches", - "ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'", - "ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.", + "ide.updateBaseUrl": "URL หลักที่ใช้สำหรับดาวน์โหลดการอัปเดต ค่าเริ่มต้นเป็น 'https://downloads.arduino.cc/arduino-ide'", + "ide.updateChannel": "ช่องการอัปเดตที่ใช้สำหรับดาวน์โหลดการอัปเดต 'stable' คือเวอร์ชันที่เสถียร, 'nightly' คือการพัฒนาล่าสุด", "interfaceScale": "Interface scale", "invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.", - "invalid.sketchbook.location": "Invalid sketchbook location: {0}", - "invalid.theme": "Invalid theme.", - "language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.", - "language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.", - "language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.", - "manualProxy": "Manual proxy configuration", + "invalid.sketchbook.location": "สมุดสเก็ตช์ท้องถิ่น ไม่ถูกต้อง: {0}", + "invalid.theme": "ธีมไม่ถูกต้อง", + "language.asyncWorkers": "จำนวนของผู้ทำงานแบบอะซิงโครนัสที่ใช้โดย Arduino Language Server (clangd) การสร้างดัชนีพื้นหลังยังใช้จำนวนผู้ทำงานเหล่านี้ ค่าขั้นต่ำคือ 0 และค่าสูงสุดคือ 8 เมื่อเป็น 0 เซิร์ฟเวอร์ภาษาใช้ทุกคอร์ที่มีอยู่ ค่าเริ่มต้นคือ 0", + "language.log": "เป็น true หาก Arduino Language Server ควรสร้างไฟล์บันทึกลงในโฟลเดอร์สเก็ตช์ มิฉะนั้นเป็น false ค่าเริ่มต้นเป็น false", + "language.realTimeDiagnostics": "ถ้าเป็น true เซิร์ฟเวอร์ภาษาจะให้การวินิจฉัยแบบเรียลไทม์เมื่อพิมพ์ในตัวแก้ไข ค่าเริ่มต้นเป็น false", + "manualProxy": "กำหนดค่า proxy เอง", "monitor": { "dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"." }, - "network": "Network", - "newSketchbookLocation": "Select new sketchbook location", + "network": "เน็ตเวิร์ก", + "newSketchbookLocation": "เลือกสมุดสเก็ตช์ท้องถิ่นใหม่", "noCliConfig": "Could not load the CLI configuration", - "noProxy": "No proxy", + "noProxy": "ไม่มี proxy", "proxySettings": { - "hostname": "Host name", - "password": "Password", - "port": "Port number", - "username": "Username" + "hostname": "ชื่อ Host", + "password": "รหัสผ่าน", + "port": "หมายเลขพอร์ต", + "username": "ชื่อผู้ใช้" }, "showVerbose": "Show verbose output during", "sketch": { - "inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect." + "inoBlueprint": "เส้นทางระบบไฟล์ที่สมบูรณ์ไปยังไฟล์แม่แบบ .ino เริ่มต้น หากระบุไว้ เนื้อหาของไฟล์แม่แบบจะถูกใช้สำหรับสเก็ตช์ใหม่ทุกครั้งที่สร้างโดย IDE สเก็ตช์จะถูกสร้างขึ้นด้วยเนื้อหามาตรฐานของ Arduino หากไม่ระบุ ไฟล์แม่แบบที่ไม่สามารถเข้าถึงได้จะถูกละเลย ต้องรีสตาร์ท IDE เพื่อให้การตั้งค่านี้มีผล" }, "sketchbook.location": "Sketchbook location", "sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Click for a list of unofficial board support URLs", "upload": "upload", - "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", + "upload.autoVerify": "เป็น true หาก IDE ควรตรวจสอบโค้ดโดยอัตโนมัติก่อนการอัปโหลด ค่าเริ่มต้นเป็นจริง เมื่อค่าตั้งเป็นเท็จ IDE จะไม่คอมไพล์โค้ดใหม่ก่อนที่จะอัปโหลดไบนารีไปยังบอร์ด ⚠️ ขอแนะนำให้ตั้งค่านี้เป็น false เฉพาะเมื่อคุณแน่ใจในสิ่งที่กำลังทำ ⚠️", "upload.verbose": "True for verbose upload output. False by default.", "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", "verifyAfterUpload": "Verify code after upload", @@ -430,13 +432,13 @@ "replaceMsg": "Replace the existing version of {0}?", "selectZip": "Select a zip file containing the library you'd like to add", "serial": { - "autoscroll": "Autoscroll", - "carriageReturn": "Carriage Return", - "connecting": "Connecting to '{0}' on '{1}'...", + "autoscroll": "เลื่อนอัตโนมัติ", + "carriageReturn": "การคืนตำแหน่งของตัวพิมพ์", + "connecting": "เชื่อมต่อกับ '{0}' บน '{1}'...", "message": "Message (Enter to send message to '{0}' on '{1}')", - "newLine": "New Line", + "newLine": "บรรทัดใหม่", "newLineCarriageReturn": "Both NL & CR", - "noLineEndings": "No Line Ending", + "noLineEndings": "ไม่มีการสิ้นสุดบรรทัด", "notConnected": "Not connected. Select a board and a port to connect automatically.", "openSerialPlotter": "Serial Plotter", "timestamp": "Timestamp", @@ -448,109 +450,112 @@ "compile": "Compiling sketch...", "configureAndUpload": "Configure and Upload", "createdArchive": "Created archive '{0}'.", - "doneCompiling": "Done compiling.", - "doneUploading": "Done uploading.", + "doneCompiling": "การคอมไพล์เสร็จสิ้น", + "doneUploading": "การอัปโหลดเสร็จสิ้น", "editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?", "editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?", "exportBinary": "Export Compiled Binary", - "invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.", + "invalidCloudSketchName": "ชื่อจะต้องเริ่มต้นด้วยตัวอักษร ตัวเลข หรือขีดล่าง ตามด้วยตัวอักษร ตัวเลข ขีด จุด และขีดล่าง ความยาวสูงสุดคือ 36 อักขระ", "invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.", "invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'", "invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'", - "invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.", - "moving": "Moving", - "movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?", - "new": "New Sketch", + "invalidSketchName": "ชื่อจะต้องเริ่มต้นด้วยตัวอักษร ตัวเลข หรือขีดล่าง ตามด้วยตัวอักษร ตัวเลข ขีด จุด และขีดล่าง ความยาวสูงสุดคือ 63 อักขระ", + "moving": "ย้าย", + "movingMsg": "ไฟล์ \"{0}\" จำเป็นต้องอยู่ภายในโฟลเดอร์สเก็ตช์ที่ชื่อว่า \"{1}\" \nสร้างโฟลเดอร์นี้ หรือ ย้ายไฟล์ และดำเนินการต่อหรือไม่?", + "new": "สเก็ตช์ ใหม่", "noTrailingPeriod": "A filename cannot end with a dot", - "openFolder": "Open Folder", + "openFolder": "เปิดโฟลเดอร์", "openRecent": "Open Recent", "openSketchInNewWindow": "Open Sketch in New Window", "reservedFilename": "'{0}' is a reserved filename.", - "saveFolderAs": "Save sketch folder as...", + "saveFolderAs": "บันทึกโฟลเดอร์สเก็ตช์เป็น...", "saveSketch": "Save your sketch to open it again later.", - "saveSketchAs": "Save sketch folder as...", - "showFolder": "Show Sketch Folder", - "sketch": "Sketch", - "sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'", - "sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}", - "sketchbook": "Sketchbook", - "titleLocalSketchbook": "Local Sketchbook", - "titleSketchbook": "Sketchbook", + "saveSketchAs": "บันทึกโฟลเดอร์สเก็ตช์เป็น...", + "showFolder": "แสดงโฟลเดอร์สเก็ตช์", + "sketch": "สเก็ตช์", + "sketchAlreadyContainsThisFileError": "สเก็ตช์นี้มีไฟล์ที่มีชื่อว่า '{0}' อยู่แล้ว", + "sketchAlreadyContainsThisFileMessage": "ไม่สามารถบันทึกสเก็ตช์ \"{0}\" เป็น \"{1}\" ได้ {2}", + "sketchbook": "สมุดสเก็ตช์", + "titleLocalSketchbook": "สมุดสเก็ตช์ ท้องถื่น", + "titleSketchbook": "สมุดสเก็ตช์", "upload": "อัปโหลด", - "uploadUsingProgrammer": "Upload Using Programmer", - "uploading": "Uploading...", - "userFieldsNotFoundError": "Can't find user fields for connected board", - "verify": "Verify", - "verifyOrCompile": "Verify/Compile" + "uploadUsingProgrammer": "อัปโหลดโดยใช้โปรแกรมเมอร์", + "uploading": "กำลังอัปโหลด", + "userFieldsNotFoundError": "ไม่สามารถค้นหาฟิลด์ผู้ใช้สำหรับบอร์ดที่เชื่อมต่ออยู่", + "verify": "ยืนยัน", + "verifyOrCompile": "ยืนยัน/คอมไพล์" }, "sketchbook": { - "newCloudSketch": "New Cloud Sketch", - "newSketch": "New Sketch" - }, - "survey": { - "answerSurvey": "ตอบแบบสอบถาม", - "dismissSurvey": "ไม่แสดงสิ่งนี้อีก", - "surveyMessage": "กรุณาช่วยพวกเราปรับปรุงพัฒนาโดยตอบแบบสอบถามสั้นมากเหล่านี้ พวกเราเล็งเห็นถึงคุณค่าของคอมมูนิตี้และอยากที่จะทำความเข้าใจผู้สนับสนุนของเราให้ได้ดีขึ้นมากกว่าเดิมแม้เพียงสักเล็กน้อย" + "newCloudSketch": "Cloud Sketch ใหม่", + "newSketch": "สเก็ตช์ ใหม่" }, "theme": { - "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", + "currentThemeNotFound": " ไม่สามารถค้นหาธีมที่เลือกไว้ในปัจจุบัน: {0} Arduino IDE ได้เลือกธีมที่มีในตัวที่เข้ากันได้กับธีมที่หายไป", "dark": "มืด", - "deprecated": "{0} (deprecated)", - "hc": "Dark High Contrast", - "hcLight": "Light High Contrast", + "deprecated": "{0} (เลิกใช้แล้ว)", + "hc": "มืด", + "hcLight": "สว่าง", "light": "สว่าง", - "user": "{0} (user)" + "user": "{0} (ผู้ใช้)" }, "title": { "cloud": "Cloud" }, "updateIndexes": { - "updateIndexes": "Update Indexes", - "updateLibraryIndex": "Update Library Index", - "updatePackageIndex": "Update Package Index" + "updateIndexes": "อัปเดตดัชนี", + "updateLibraryIndex": "อัปเดตดัชนีของไลบารี", + "updatePackageIndex": "อัปเดตดัชนีของแพ็กเกจ" }, "upload": { - "error": "{0} error: {1}" + "error": "{0} ล้มเหลว: {1}" }, "userFields": { "cancel": "ยกเลิก", - "enterField": "Enter {0}", + "enterField": "ป้อน {0}", "upload": "อัปโหลด" }, "validateSketch": { - "abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.", - "abortFixTitle": "Invalid sketch", - "renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?", - "renameSketchFileTitle": "Invalid sketch filename", - "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", - "renameSketchFolderTitle": "Invalid sketch name" + "abortFixMessage": "สเก็ตช์ยังไม่ถูกต้อง คุณต้องการแก้ไขปัญหาที่เหลืออยู่หรือไม่? โดยการคลิก '{0}' จะเปิดสเก็ตช์ใหม่", + "abortFixTitle": "สเก็ตช์ไม่ถูกต้อง", + "renameSketchFileMessage": "ไฟล์สเก็ตช์ '{0}' ไม่สามารถใช้ได้ {1} เนื่องจากชื่อสเก็ตซ์ของคุณโหดเกินไป คุณต้องการเปลี่ยนชื่อสเก็ตช์ตอนนี้หรือไม่?", + "renameSketchFileTitle": "ชื่อไฟล์สเก็ตช์ไม่ถูกต้อง", + "renameSketchFolderMessage": "สเก็ตช์ '{0}' ไม่สามารถใช้ได้ {1} เนื่องจากชื่อสเก็ตซ์ของคุณโหดเกินไป เพื่อกำจัดข้อความนี้ กรุณาเปลี่ยนชื่อสเก็ตช์ คุณต้องการเปลี่ยนชื่อสเก็ตช์ตอนนี้หรือไม่?", + "renameSketchFolderTitle": "ชื่อสเก็ตช์ไม่ถูกต้อง" + }, + "versionWelcome": { + "cancelButton": "อาจจะในภายหลัง", + "donateButton": "บริจาคเลย!", + "donateMessage": "Arduino มุ่งมั่นที่จะรักษาซอฟต์แวร์ให้ฟรีและเป็นโอเพ่นซอร์สสำหรับทุกคน การบริจาคของคุณช่วยให้เราพัฒนาฟีเจอร์ใหม่ ปรับปรุงไลบรารี และรองรับผู้ใช้หลายล้านคนทั่วโลก!", + "donateMessage2": "โปรดพิจารณาสนับสนุนงานของเราบน Arduino IDE ที่เป็นโอเพนซอร์สฟรี", + "title": "ยินดีต้อนรับสู่เวอร์ชันใหม่ของ Arduino IDE!", + "titleWithVersion": "ยินดีต้อนรับสู่ Arduino IDE ใหม่ {0}!" }, "workspace": { - "alreadyExists": "'{0}' already exists." + "alreadyExists": "'{0}' มีอยู่แล้ว" } }, "theia": { "core": { - "cannotConnectBackend": "Cannot connect to the backend.", - "cannotConnectDaemon": "Cannot connect to the CLI daemon.", + "cannotConnectBackend": "ไม่สามารถเชื่อมต่อกับแบ็กแอนด์ได้", + "cannotConnectDaemon": "ไม่สามารถเชื่อมต่อกับ CLI daemon", "couldNotSave": "ไม่สามารถบันทึกสเก็ตช์ได้ กรุณาคัดลอกงานที่ยังไม่ถูกบันทึกไปยังโปรแกรม Text Editor อื่นที่คุณใช้งาน และรีสตาร์ท IDE", - "daemonOffline": "CLI Daemon Offline", - "offline": "Offline", - "offlineText": "Offline", + "daemonOffline": "CLI Daemon ออฟไลน์", + "offline": "ออฟไลน์", + "offlineText": "ออฟไลน์", "quitTitle": "คุณแน่ใจว่าต้องการออกใช่หรือไม่" }, "editor": { - "unsavedTitle": "Unsaved – {0}" + "unsavedTitle": "ไม่ได้บันทึก – {0}" }, "messages": { "collapse": "พับ", "expand": "ขยาย" }, "workspace": { - "deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?", - "deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?", + "deleteCloudSketch": "สเก็ตช์ในคลาวด์ '{0}' จะถูกลบออกถาวรจากเซิร์ฟเวอร์ของ Arduino และแคชท้องถิ่น การกระทำนี้ไม่สามารถย้อนกลับได้ คุณต้องการลบสเก็ตช์ปัจจุบันหรือไม่?", + "deleteCurrentSketch": " สเก็ตช์ '{0}' จะถูกลบออกถาวร การกระทำนี้ไม่สามารถย้อนกลับได้ คุณต้องการลบสเก็ตช์ปัจจุบันหรือไม่", "fileNewName": "ชื่อสำหรับไฟล์ใหม่", - "invalidExtension": ".{0} is not a valid extension", + "invalidExtension": "{0} ไม่ใช่ส่วนขยายที่ถูกต้อง!", "newFileName": "ชื่อใหม่สำหรับไฟล์" } } diff --git a/i18n/tr.json b/i18n/tr.json index 32cd6720c..6e5b1e470 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -275,6 +275,9 @@ "checkForUpdates": "Arduino IDE Güncellemelerini kontrol et", "closeAndInstallButton": "Kapat ve Kur", "closeToInstallNotice": "Yazılımı kapatın ve güncellemeyi makinanıza yükleyin.", + "donateLinkIconTitle": "bağış sayfasını aç", + "donateLinkText": "bizi desteklemek için bağış yap", + "donateText": "Açık kaynak aşktır, {0}", "downloadButton": "İndir", "downloadingNotice": "Arduino IDE'nin son sürümü indiriliyor.", "errorCheckingForUpdates": "Arduino IDE güncellemelerini kontrol ederken hata oluştu.{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Eskiz Defteri konumu", "sketchbook.showAllFiles": "Tüm eskiz dosyalarını eskiz içinde görüntülemek için açın. Varsayılan: kapalı.", - "survey.notification": "Bir anket bulunduğunda kullanıcılara gösterilecekse açın. Varsayılan olarak açıktır.", "unofficialBoardSupport": "Desteklenmeyen kart destek URL'leri listesi için tıklayın", "upload": "yükle", "upload.autoVerify": "Açıldığında IDE yükleme öncesinde kodu otomatik olarak doğrular. Varsayılan olarak açıktır. Bu değer kapalı olduğunda, IDE ikili dosyayı karta yüklemeden önce tekrar derlemez. Bu ayarı sadece gerçekten ne yaptığınızı biliyor olduğunuz durumlarda kapatmanız önerilir.", @@ -487,11 +489,6 @@ "newCloudSketch": "Yeni Bulut Eskiz", "newSketch": "Yeni Eskiz" }, - "survey": { - "answerSurvey": "Anketi yanıtla", - "dismissSurvey": "Tekrar gösterme", - "surveyMessage": "Lütfen bu çok kısa anketi yanıtlayarak gelişmemize yardım edin. Topluluğumuza değer veriyoruz e destekçilerimizi biraz daha iyi tanımak isteriz." - }, "theme": { "currentThemeNotFound": "Mevcut seçili tema bulunamadı: {0}. Arduino IDE kayıp olanın yerine uyumlu dahili bir tane seçti.", "dark": "Koyu", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "'{0}' eskizi kullanılamaz. {1} Bu mesajdan kurtulmak için eskizi yeniden adlandırın. Eskizi şimdi yeniden adlandırmak istiyor musunuz?", "renameSketchFolderTitle": "Hatalı eskiz adı" }, + "versionWelcome": { + "cancelButton": "Belki sonra", + "donateButton": "Şimdi bağış yap", + "donateMessage": "Arduino, yazılımı herkes için ücretsiz ve açık kaynaklı tutmaya adanmıştır. Bağışınız yeni özellikler geliştirmemize, kütüphaneleri daha iyi yapmamıza ve dünya çapındaki milyonlarca kullanıcıyı desteklememize yardım eder.", + "donateMessage2": "Lütfen özgür açık kaynaklı Arduino IDE üzerindeki çalışmalarımızı desteklemeyi gözden geçirin.", + "title": "Arduino IDE'nin yeni sürümüne hoş geldiniz!", + "titleWithVersion": "Yeni Arduino IDE'ye hoş geldin {0}!" + }, "workspace": { "alreadyExists": "'{0}' zaten mevcut." } diff --git a/i18n/uk.json b/i18n/uk.json index 408b39bbe..621c9bba1 100644 --- a/i18n/uk.json +++ b/i18n/uk.json @@ -275,6 +275,9 @@ "checkForUpdates": "Перевірка оновлень Arduino IDE", "closeAndInstallButton": "Закрити та Встановити", "closeToInstallNotice": "Закрийте програму та встановіть оновлення.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Завантажити", "downloadingNotice": "Завантажити останню версію Arduino IDE.", "errorCheckingForUpdates": "Помилка під час перевірки оновлень Arduino IDE {0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Шлях до книги скетчів", "sketchbook.showAllFiles": "\"Так\" для відображення усіх файлів скетчу в середені скетчу. \"Ні\" за замовчуванням.", - "survey.notification": "\"Так\", якщо треба повідомляти про доступні опитування користувачів. \"Так\" за замовчуванням.", "unofficialBoardSupport": "Клацніть, щоб переглянути список неофіційних форумів підтримки", "upload": "завантажити", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Новий хмарний скетч", "newSketch": "Новий скетч" }, - "survey": { - "answerSurvey": "Відповідь на опитування", - "dismissSurvey": "Більше не показувати", - "surveyMessage": "Будь ласка, допоможіть нам покращитися, відповівши на це надкоротке опитування. Ми цінуємо нашу спільноту і хочемо ближче познайомитися з нашими прихильниками." - }, "theme": { "currentThemeNotFound": "Не вдалося знайти поточну вибрану тему: {0}. Arduino IDE вибрала вбудовану тему, сумісну з відсутньою.", "dark": "Темна", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "Скетч '{0}' не може бути використаний. {1} Щоб позбутися цього повідомлення, перейменуйте скетч. Бажаєте перейменувати скетч зараз?", "renameSketchFolderTitle": "Помилка в назві скетча" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' вже існує." } diff --git a/i18n/vi.json b/i18n/vi.json index 3105486f0..87e5215d4 100644 --- a/i18n/vi.json +++ b/i18n/vi.json @@ -275,6 +275,9 @@ "checkForUpdates": "Kiểm tra bản cập nhật phần mềm", "closeAndInstallButton": "Đóng và cài đặt", "closeToInstallNotice": "Đóng ứng dụng và cài đặt bản cập nhật mới nhất lên máy bạn.", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "Tải về", "downloadingNotice": "Đang tải về bản mới nhất của Arduino IDE.", "errorCheckingForUpdates": "Có lỗi xảy ra trong quá trình kiểm tra cập nhật Arduino IDE.\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "Địa điểm chứa sketchbook", "sketchbook.showAllFiles": "'True' để hiển thị tất cả các tệp sketch trong sketch. Mặc định là 'false'.", - "survey.notification": "True if users should be notified if a survey is available. True by default.", "unofficialBoardSupport": "Nhấp vào đây để hiển thị danh sách các URLs hỗ trợ các bo mạch không chính thức", "upload": "nạp ", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "Bản phác thảo đám mây mới", "newSketch": "Bản phác thảo mới" }, - "survey": { - "answerSurvey": "Trả lời khảo sát", - "dismissSurvey": "Không hiển thị lại", - "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." - }, "theme": { "currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.", "dark": "Tối", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?", "renameSketchFolderTitle": "Tên bản phác thảo không hợp lệ" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}'đã tồn tại." } diff --git a/i18n/zh-Hant.json b/i18n/zh-Hant.json index 17eb473ce..d5af38d46 100644 --- a/i18n/zh-Hant.json +++ b/i18n/zh-Hant.json @@ -275,6 +275,9 @@ "checkForUpdates": "檢查 Arduino IDE 更新", "closeAndInstallButton": "關閉並安裝。", "closeToInstallNotice": "關閉本程式後安裝更新。", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "下載", "downloadingNotice": "正在下載最新版本的Arduino IDE。", "errorCheckingForUpdates": "檢查 Arduino IDE 更新時發生錯誤。\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "sketchbook 位置", "sketchbook.showAllFiles": "顯示 sketch 內全部檔案。預設: false。", - "survey.notification": "有新問卷時會通知使用者, 預設為: true。", "unofficialBoardSupport": "點擊來取得非官方開發版的支援網址", "upload": "上傳", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "新增雲 sketch", "newSketch": "新增 sketch" }, - "survey": { - "answerSurvey": "填寫問卷", - "dismissSurvey": "不要再顯示", - "surveyMessage": "請回答超短的問卷來協助我們改善。 我們重視本社群, 希望能更了解我們的支持者。 " - }, "theme": { "currentThemeNotFound": "找不到目前選擇的主題:{0} 。 Arduino IDE 挑選了一個內建的相容主題。", "dark": "暗色", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "Sketch '{0}' 無法被使用。 {1} 要擺脫這則訊息,請更改 sketch 檔名。要現在更改檔名嗎?", "renameSketchFolderTitle": "無效的 sketch 檔名" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}'已存在。" } diff --git a/i18n/zh.json b/i18n/zh.json index 68fd336c7..2b489266a 100644 --- a/i18n/zh.json +++ b/i18n/zh.json @@ -275,6 +275,9 @@ "checkForUpdates": "检查 Arduino IDE 更新", "closeAndInstallButton": "关闭并安装", "closeToInstallNotice": "关闭软件并安装更新。", + "donateLinkIconTitle": "open donation page", + "donateLinkText": "donate to support us", + "donateText": "Open source is love, {0}", "downloadButton": "下载", "downloadingNotice": "正在下载 Arduino IDE 的最新版本。", "errorCheckingForUpdates": "检查 Arduino IDE 更新时出错。{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "项目文件夹地址", "sketchbook.showAllFiles": "True 则显示项目中的所有项目文件。默认情况下为 False。", - "survey.notification": "True 则在有调查时应通知用户。默认为 True。", "unofficialBoardSupport": "点击获取支持的非官方开发板地址列表", "upload": "上传", "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", @@ -487,11 +489,6 @@ "newCloudSketch": "新的云端项目", "newSketch": "新建项目" }, - "survey": { - "answerSurvey": "回答问卷", - "dismissSurvey": "不要再显示", - "surveyMessage": "请回答这份很短的调查来帮助我们改进。我们重视我们的社区,也希望能够更好地了解我们的支持者。" - }, "theme": { "currentThemeNotFound": "找不到当前选中的主题:{0}。Arduino IDE 已选择一个与缺失者兼容的内置主题。", "dark": "暗黑", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "不能使用项目 '{0}'。 '{1}' 要删除此消息,请重命名项目。 现在要重命名项目吗?", "renameSketchFolderTitle": "无效的项目名" }, + "versionWelcome": { + "cancelButton": "Maybe later", + "donateButton": "Donate now", + "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", + "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", + "title": "Welcome to a new version of the Arduino IDE!", + "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + }, "workspace": { "alreadyExists": "'{0}' 已经存在。" } diff --git a/i18n/zh_TW.json b/i18n/zh_TW.json index ffad200de..b0aa30c67 100644 --- a/i18n/zh_TW.json +++ b/i18n/zh_TW.json @@ -275,6 +275,9 @@ "checkForUpdates": "檢查 Arduino IDE 更新", "closeAndInstallButton": "關閉並安裝。", "closeToInstallNotice": "關閉本程式後安裝更新。", + "donateLinkIconTitle": "開啟捐款頁面", + "donateLinkText": "捐款來支持我們", + "donateText": "公開程式碼就是愛, {0}", "downloadButton": "下載", "downloadingNotice": "正在下載最新版本的Arduino IDE。", "errorCheckingForUpdates": "檢查Arduino IDE更新時發生錯誤。\n{0}", @@ -412,7 +415,6 @@ }, "sketchbook.location": "sketchbook 位置", "sketchbook.showAllFiles": "顯示 sketch 內全部檔案。預設: false。", - "survey.notification": "有新問卷時會通知使用者, 預設為: true。", "unofficialBoardSupport": "點擊來取得非官方開發板的支援網址", "upload": "上傳", "upload.autoVerify": "預設為是,IDE會在上載前自動驗証。如選否,IDE在上載前不會重編譯程式碼。強烈建議除非你知道自己在幹嘛才這麼做。", @@ -487,11 +489,6 @@ "newCloudSketch": "新增雲 sketch", "newSketch": "新增 sketch" }, - "survey": { - "answerSurvey": "填寫問卷", - "dismissSurvey": "不要再顯示", - "surveyMessage": "請回答超短的問卷來協助我們改善。 我們重視本社群, 希望能更了解我們的支持者。 " - }, "theme": { "currentThemeNotFound": "找不到目前選擇的主題:{0} 。 Arduino IDE 挑選了一個內建的相容主題。", "dark": "暗", @@ -525,6 +522,14 @@ "renameSketchFolderMessage": "Sketch '{0}' 無法被使用。 {1} 要擺脫這則訊息,請更改 sketch 檔名。要現在更改檔名嗎?", "renameSketchFolderTitle": "無效的 sketch 檔名" }, + "versionWelcome": { + "cancelButton": "讓我考慮一下", + "donateButton": "現在捐", + "donateMessage": "Arduino 致力讓軟體保持自由並對大家開放程式碼,您的捐款可以幫助我們開發新功能、改善程式庫及對全球數百萬用戶的支持。", + "donateMessage2": "期盼您考慮支持我們對自由軟體 Arduino IDE 所做的努力。", + "title": "歡迎使用新版 Arduino IDE !", + "titleWithVersion": "歡迎使用新版 Arduino IDE {0} !" + }, "workspace": { "alreadyExists": "'{0}'已存在。" } From 9b15695c60e070cd1661899a7b868e9f46cecce2 Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Tue, 1 Apr 2025 00:27:06 -0700 Subject: [PATCH 76/87] Give build workflow step access to required deployment environment (#2672) * Trim trailing whitespace in build workflow * Give build workflow step access to required deployment environment Certain operations in the "Arduino IDE" GitHub Actions workflow use GitHub Actions "secrets" which are defined in the repository's administrative settings. These secrets will typically not be defined when the workflow is run in a fork. However, the workflow's base functionality, the automated building of the application, does not require secrets. Since that base functionality alone is very useful to contributors (either to validate relevant changes to the application and infrastructure, or to generate tester builds) who are performing development work in a fork. For this reason, the workflow is configured to only perform the secret-dependent operations when the required secrets have been defined in the repository settings. One such operation is publishing the generated builds to Amazon S3, which Arduino uses to host files for distribution. This operation depends on the "AWS_ROLE_ARN" secret. As a security measure, this secret is defined inside a deployment environment (named "production"). GitHub Actions workflow jobs can only use secrets from deployment environments which they have been explicitly configured to have access to. At the time the workflow was originally developed, GitHub did not have the deployment environment feature, and so the workflow was not configured to use environments. The switch to using a deployment environment for this secret was made only recently, and when that was done, the workflow job that checks whether the secret is defined was not configured to have access to the "production" environment. This caused the workflow to think it was running in a context where that secret is not defined even when the secret is in fact defined. The bug caused the workflow to always spuriously skip the "publish" job which publishes nightly builds of Arduino IDE, and the "publish release" step which publishes production releases. The bug is fixed by configuring the "build-type-determination" job so that it has access to the "production" environment. --- .github/workflows/build.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4dcfa052..d4dd809c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -172,6 +172,7 @@ jobs: is-nightly: ${{ steps.determination.outputs.is-nightly }} channel-name: ${{ steps.determination.outputs.channel-name }} publish-to-s3: ${{ steps.determination.outputs.publish-to-s3 }} + environment: production permissions: {} steps: - name: Determine the type of build @@ -589,7 +590,7 @@ jobs: permissions: id-token: write - contents: read + contents: read steps: - name: Download all job transfer artifacts @@ -602,8 +603,8 @@ jobs: - name: Configure AWS Credentials for Nightly [S3] uses: aws-actions/configure-aws-credentials@v4 with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: us-east-1 - name: Publish Nightly [S3] run: | @@ -661,8 +662,8 @@ jobs: if: needs.build-type-determination.outputs.publish-to-s3 == 'true' uses: aws-actions/configure-aws-credentials@v4 with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: us-east-1 - name: Publish Release [S3] if: needs.build-type-determination.outputs.publish-to-s3 == 'true' From 4b0982ccb3f31b51c03dec6843234e0d55ee2b9b Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 1 Apr 2025 18:42:04 +0900 Subject: [PATCH 77/87] fix: safer electron version parsing for electron-builder command (#2673) --- electron-app/scripts/package.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/electron-app/scripts/package.js b/electron-app/scripts/package.js index 3baa1ea4c..9e3593e64 100644 --- a/electron-app/scripts/package.js +++ b/electron-app/scripts/package.js @@ -6,8 +6,14 @@ const { isNightly, isRelease } = require('./utils'); async function run() { /** @type {string} */ - const electronVersion = + const rawElectronVersion = require('../package.json').devDependencies['electron']; + const electronVersion = semver.clean(rawElectronVersion.replace(/^\^/, '')); + if (!electronVersion) { + throw new Error( + `Electron semver validation failed for version: '${rawElectronVersion}'.` + ); + } const platform = electronPlatform(); const version = await getVersion(); /** @type {string|unknown} */ @@ -18,7 +24,7 @@ async function run() { '--publish', 'never', '-c.electronVersion', - semver.clean(electronVersion.replace(/^\^/, '')), + electronVersion, '-c.extraMetadata.version', version, // overrides the `name` in the `package.json` to keep the `localStorage` location. (https://github.com/arduino/arduino-ide/pull/2144#pullrequestreview-1554005028) From d293595b8959cc96b38b30808e2e62409f253710 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Wed, 2 Apr 2025 09:23:57 +0900 Subject: [PATCH 78/87] fix: add missing linux dependencies (#2675) --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d4dd809c6..b71ff4f44 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -473,6 +473,12 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Install dependencies run: yarn From 8aa3c28c509341d912da74d8a7f34e10821254a3 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Wed, 2 Apr 2025 21:51:35 +0900 Subject: [PATCH 79/87] fix: allow write permission on release job (#2676) Permission were previously changed here https://github.com/arduino/arduino-ide/pull/2651 Repo write permission is needed to allow creating the github release and publishing files --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b71ff4f44..8d8fb2557 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -639,7 +639,7 @@ jobs: permissions: id-token: write - contents: read + contents: write steps: - name: Download all job transfer artifacts From 39c8db8e90642c403cd270d0572dd2c9da55b7e2 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Wed, 2 Apr 2025 23:24:35 +0900 Subject: [PATCH 80/87] fix: add missing linux dependencies for `create-changelog` job (#2677) --- .github/workflows/compose-full-changelog.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/compose-full-changelog.yml b/.github/workflows/compose-full-changelog.yml index 2c328e52e..0e669cf8f 100644 --- a/.github/workflows/compose-full-changelog.yml +++ b/.github/workflows/compose-full-changelog.yml @@ -29,6 +29,12 @@ jobs: node-version: ${{ env.NODE_VERSION }} registry-url: 'https://registry.npmjs.org' + - name: Install Dependencies (Linux only) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-dev + - name: Get Tag id: tag_name run: | From 4d52bb2843709b07568092470f88c44ee6d86d7e Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 4 Apr 2025 00:51:12 +0900 Subject: [PATCH 81/87] chore: switch to version 2.3.6 after the release (#2682) --- arduino-ide-extension/package.json | 2 +- electron-app/package.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 953331109..3d478a88e 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.5", + "version": "2.3.6", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { diff --git a/electron-app/package.json b/electron-app/package.json index bee426096..5bf2b0f18 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.5", + "version": "2.3.6", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.57.0", "@theia/terminal": "1.57.0", "@theia/workspace": "1.57.0", - "arduino-ide-extension": "2.3.5" + "arduino-ide-extension": "2.3.6" }, "devDependencies": { "@theia/cli": "1.57.0", diff --git a/package.json b/package.json index 2215352d6..f71303a0d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.5", + "version": "2.3.6", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA", From e36f393682872456667cfa2f98899ccbff58264c Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Fri, 4 Apr 2025 00:51:30 +0900 Subject: [PATCH 82/87] fix: prevent `OutputWidget` to gain focus when updated (#2681) --- .../browser/theia/core/application-shell.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/arduino-ide-extension/src/browser/theia/core/application-shell.ts b/arduino-ide-extension/src/browser/theia/core/application-shell.ts index 379fb0ff5..82867adaa 100644 --- a/arduino-ide-extension/src/browser/theia/core/application-shell.ts +++ b/arduino-ide-extension/src/browser/theia/core/application-shell.ts @@ -13,6 +13,8 @@ import { MessageService } from '@theia/core/lib/common/message-service'; import { inject, injectable } from '@theia/core/shared/inversify'; import { ApplicationConnectionStatusContribution } from './connection-status-service'; import { ToolbarAwareTabBar } from './tab-bars'; +import { find } from '@theia/core/shared/@phosphor/algorithm'; +import { OutputWidget } from '@theia/output/lib/browser/output-widget'; @injectable() export class ApplicationShell extends TheiaApplicationShell { @@ -48,6 +50,38 @@ export class ApplicationShell extends TheiaApplicationShell { return super.addWidget(widget, { ...options, ref }); } + override doRevealWidget(id: string): Widget | undefined { + let widget = find(this.mainPanel.widgets(), (w) => w.id === id); + if (!widget) { + widget = find(this.bottomPanel.widgets(), (w) => w.id === id); + if (widget) { + this.expandBottomPanel(); + } + } + if (widget) { + const tabBar = this.getTabBarFor(widget); + if (tabBar) { + tabBar.currentTitle = widget.title; + } + } + if (!widget) { + widget = this.leftPanelHandler.expand(id); + } + if (!widget) { + widget = this.rightPanelHandler.expand(id); + } + if (widget) { + // Prevent focusing the output widget when is updated + // See https://github.com/arduino/arduino-ide/issues/2679 + if (!(widget instanceof OutputWidget)) { + this.windowService.focus(); + } + return widget; + } else { + return this.secondaryWindowHandler.revealWidget(id); + } + } + override handleEvent(): boolean { // NOOP, dragging has been disabled return false; From 56ab87417722f0b88f1775c4c3627d39a5eb243e Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Sat, 5 Apr 2025 19:56:00 +0900 Subject: [PATCH 83/87] fix: propagate electron params in second instance startup (#2686) --- .../src/electron-main/theia/electron-main-application.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts index e6f91f5b9..ba1851ff4 100644 --- a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts +++ b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts @@ -385,10 +385,11 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { } private async launchFromArgs( - params: ElectronMainCommandOptions + params: ElectronMainCommandOptions, + argv?: string[] ): Promise { // Copy to prevent manipulation of original array - const argCopy = [...this.argv]; + const argCopy = [...(argv || this.argv)]; let path: string | undefined; for (const maybePath of argCopy) { const resolvedPath = await this.resolvePath(maybePath, params.cwd); @@ -526,7 +527,7 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { argv: string[], cwd: string ): Promise { - if (await this.launchFromArgs({ cwd, secondInstance: true })) { + if (await this.launchFromArgs({ cwd, secondInstance: true }, argv)) { // Application has received a file in its arguments return; } From a669a43449e01509038cbf084270e07c049cdc73 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 8 Apr 2025 02:15:59 +0900 Subject: [PATCH 84/87] fix: wait for theia `initalWindow` to be set before opening sketch through `open-file` event (#2693) * chore: use actual app name as `uriScheme` * fix: wait for `initialWindow` to be set before opening sketch from file --- arduino-ide-extension/src/common/utils.ts | 23 +++++++++++++++++++ .../theia/electron-main-application.ts | 16 ++++++++++++- electron-app/package.json | 3 ++- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/arduino-ide-extension/src/common/utils.ts b/arduino-ide-extension/src/common/utils.ts index 56ed366c1..8a392c770 100644 --- a/arduino-ide-extension/src/common/utils.ts +++ b/arduino-ide-extension/src/common/utils.ts @@ -38,3 +38,26 @@ export function uint8ArrayToString(uint8Array: Uint8Array): string { export function stringToUint8Array(text: string): Uint8Array { return Uint8Array.from(text, (char) => char.charCodeAt(0)); } + +export function poolWhile( + whileCondition: () => boolean, + intervalMs: number, + timeoutMs: number +): Promise { + return new Promise((resolve, reject) => { + if (!whileCondition) { + resolve(); + } + + const start = Date.now(); + const interval = setInterval(() => { + if (!whileCondition()) { + clearInterval(interval); + resolve(); + } else if (Date.now() - start > timeoutMs) { + clearInterval(interval); + reject(new Error('Timed out while polling.')); + } + }, intervalMs); + }); +} diff --git a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts index ba1851ff4..b6d0ff294 100644 --- a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts +++ b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts @@ -30,6 +30,7 @@ import type { AddressInfo } from 'node:net'; import { isAbsolute, join, resolve } from 'node:path'; import type { Argv } from 'yargs'; import { Sketch } from '../../common/protocol'; +import { poolWhile } from '../../common/utils'; import { AppInfo, appInfoPropertyLiterals, @@ -292,6 +293,16 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { ); if (sketchFolderPath) { this.openFilePromise.reject(new InterruptWorkspaceRestoreError()); + + // open-file event is triggered before the app is ready and initialWindow is created. + // Wait for initialWindow to be set before opening the sketch on the first instance. + // See https://github.com/arduino/arduino-ide/pull/2693 + try { + await app.whenReady(); + if (!this.firstWindowId) { + await poolWhile(() => !this.initialWindow, 100, 3000); + } + } catch {} await this.openSketch(sketchFolderPath); } } @@ -890,7 +901,10 @@ const fallbackFrontendAppConfig: FrontendApplicationConfig = { defaultIconTheme: 'none', validatePreferencesSchema: false, defaultLocale: '', - electron: { showWindowEarly: true, uriScheme: 'custom://arduino-ide' }, + electron: { + showWindowEarly: true, + uriScheme: 'arduino-ide', + }, reloadOnReconnect: true, }; diff --git a/electron-app/package.json b/electron-app/package.json index 5bf2b0f18..6a31d222a 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -67,7 +67,8 @@ "defaultIconTheme": "none", "validatePreferencesSchema": false, "electron": { - "showWindowEarly": true + "showWindowEarly": true, + "uriScheme": "arduino-ide" }, "reloadOnReconnect": true, "preferences": { From e3319dab1a41aa8a3bc771e31436f59d87fcfb4c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 16:14:03 +0700 Subject: [PATCH 85/87] Updated translation files (#2692) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- i18n/be.json | 28 ++++++++++++++-------------- i18n/da.json | 32 ++++++++++++++++---------------- i18n/it.json | 28 ++++++++++++++-------------- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/i18n/be.json b/i18n/be.json index d57a5efbe..6b753341b 100644 --- a/i18n/be.json +++ b/i18n/be.json @@ -13,7 +13,7 @@ "board": { "board": "Плата{0}", "boardConfigDialogTitle": "Абярыце іншую плату і порт", - "boardDataReloaded": "Board data reloaded.", + "boardDataReloaded": "Дадзеныя на плату былі загружаныя нанова.", "boardInfo": "Інфармацыя пра плату", "boards": "платы", "configDialog1": "Абярыце як плату, так і порт, калі вы жадаеце загрузіць сцэнар.", @@ -32,12 +32,12 @@ "port": "Порт{0}", "ports": "порты", "programmer": "Сродак праграмавання", - "reloadBoardData": "Reload Board Data", + "reloadBoardData": "Загрузіць дадзеныя на плату нанова", "reselectLater": "Абярыце паўторна пазней", "revertBoardsConfig": "Ужыта '{0}' выяўлена ў '{1}'", "searchBoard": "Знайсці плату", "selectBoard": "Знайсці плату", - "selectBoardToReload": "Please select a board first.", + "selectBoardToReload": "Калі ласка, спачатку абярыце плату.", "selectPortForInfo": "Калі ласка, абярыце порт, каб атрымаць інфармацыю пра плату.", "showAllAvailablePorts": "Паказвае ўсе даступныя порты, калі яны ўключаныя", "showAllPorts": "Паказаць усе порты", @@ -275,9 +275,9 @@ "checkForUpdates": "Праверыць наяўнасць абнаўленняў Arduino IDE", "closeAndInstallButton": "Зачыніць і ўсталяваць", "closeToInstallNotice": "Зачыніце праграмнае забеспячэнне і ўсталюйце абнаўленне на свой кампутар.", - "donateLinkIconTitle": "open donation page", - "donateLinkText": "donate to support us", - "donateText": "Open source is love, {0}", + "donateLinkIconTitle": "адчыніць старонку ахвяраванняў", + "donateLinkText": "ахвяраваць, каб падтрымаць нас", + "donateText": "Адкрыты зыходны код - гэта любоў, {0}", "downloadButton": "Спампаваць", "downloadingNotice": "Пампуе апошнюю версію Arduino IDE.", "errorCheckingForUpdates": "Памылка пры праверцы абнаўленняў Arduino IDE.\n{0}", @@ -417,9 +417,9 @@ "sketchbook.showAllFiles": "Калі true, адлюстроўваюцца ўсе файлы сцэнараў унутры сцэнара.\nПершапачаткова false.", "unofficialBoardSupport": "Пстрыкніце, каб праглядзець спіс адрасоў URL падтрымкі неафіцыйных плат", "upload": "выгрузіць", - "upload.autoVerify": "True if the IDE should automatically verify the code before the upload. True by default. When this value is false, IDE does not recompile the code before uploading the binary to the board. It's highly advised to only set this value to false if you know what you are doing.", + "upload.autoVerify": "True, калі IDE павінна аўтаматычна правяраць код перад загрузкай.\nПершапачаткова значэнне роўнае true.\nКалі false, IDE не кампілюе код нанова перад загрузкай двайковага файла на плату.\nНастойліва рэкамендуецца ўсталяваць false толькі калі вы ведаеце, што робіце.", "upload.verbose": "Калі true, каб быў падрабязны вывад пры загрузцы.\nПершапачаткова false.", - "upload.verify": "After upload, verify that the contents of the memory on the board match the uploaded binary.", + "upload.verify": "Пасля загрузкі пераканайцеся, што змест памяці на плаце адпавядае загружанаму двайковаму файлу.", "verifyAfterUpload": "Праверыць код пасля выгрузкі", "window.autoScale": "Калі true, карыстальніцкі інтэрфейс аўтаматычна маштабуецца ў адпаведнасці з памерам шрыфту.", "window.zoomLevel": { @@ -523,12 +523,12 @@ "renameSketchFolderTitle": "Хібная назва сцэнара" }, "versionWelcome": { - "cancelButton": "Maybe later", - "donateButton": "Donate now", - "donateMessage": "Arduino is committed to keeping software free and open-source for everyone. Your donation helps us develop new features, improve libraries, and support millions of users worldwide.", - "donateMessage2": "Please consider supporting our work on the free open source Arduino IDE.", - "title": "Welcome to a new version of the Arduino IDE!", - "titleWithVersion": "Welcome to the new Arduino IDE {0}!" + "cancelButton": "Можа, пазней", + "donateButton": "Ахвераваць зараз", + "donateMessage": "Arduino імкнецца захаваць праграмнае забеспячэнне бясплатным і з адкрытым зыходным кодам для ўсіх.\nВашыя ахвяраванні дапамагаюць нам распрацоўваць новыя функцыі, удасканальваць бібліятэкі і падтрымліваць мільёны карыстальнікаў па ўсім свеце.", + "donateMessage2": "Калі ласка, падумайце пра падтрымку нашай працы над бясплатнай Arduino IDE з адкрытым зыходным кодам.", + "title": "Сардэчна запрашаем у новую версію Arduino IDE!", + "titleWithVersion": "Сардэчна запрашаем у новае асяроддзе распрацоўкі Arduino IDE {0}!" }, "workspace": { "alreadyExists": "{0}' ужо існуе." diff --git a/i18n/da.json b/i18n/da.json index e6dbab0c0..b07fbd894 100644 --- a/i18n/da.json +++ b/i18n/da.json @@ -2,28 +2,28 @@ "arduino": { "about": { "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", - "label": "About {0}" + "label": "Om 1{0}" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", - "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", + "goToCloudEditor": "Gå til Cloud Editor", + "goToIoTCloud": "Gå til IoT Cloud", + "goToProfile": "Gå til Profil", "menuTitle": "Arduino Cloud" }, "board": { "board": "Board{0}", - "boardConfigDialogTitle": "Select Other Board and Port", - "boardDataReloaded": "Board data reloaded.", - "boardInfo": "Board Info", - "boards": "boards", - "configDialog1": "Select both a Board and a Port if you want to upload a sketch.", - "configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.", - "couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?", - "editBoardsConfig": "Edit Board and Port...", - "getBoardInfo": "Get Board Info", - "inSketchbook": " (in Sketchbook)", - "installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?", - "noBoardsFound": "No boards found for \"{0}\"", + "boardConfigDialogTitle": "Vælg andet Board og Port", + "boardDataReloaded": "Board data genhentet", + "boardInfo": "Board info", + "boards": "Boards", + "configDialog1": "Vælg både et Board og en Port, hvis du ønsker at oploade en skitse", + "configDialog2": "Hvis du kun vælger et Board, vil du kunne kompilere, men ikke uploade din skitse.", + "couldNotFindPreviouslySelected": "Kunne ikke finde tidligere valgte board '1 {0}' i installerede platform '2 {1}'. Vælg venligst det board du ønsker at anvende. Ønsker du at vælge det nu?", + "editBoardsConfig": "Ret Board og Port...", + "getBoardInfo": "Hent Board info", + "inSketchbook": "(I skitsebog)", + "installNow": "\" 1 {0} 2 {1} \" kerne skal installeres for det nuværende valgte \" 3 {2}\" board. Vil du installere det nu?", + "noBoardsFound": "Intet board fundet for \" 1 {0} \"", "noNativeSerialPort": "Native serial port, can't obtain info.", "noPortsDiscovered": "No ports discovered", "nonSerialPort": "Non-serial port, can't obtain info.", diff --git a/i18n/it.json b/i18n/it.json index 584a54e5b..85a4132c0 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -107,14 +107,14 @@ "options": "Opzioni...", "privateVisibility": "Privato. Solo tu potrai vedere lo sketch.", "profilePicture": "Immagine profilo", - "publicVisibility": "Pubblico. Chiunque abbia il link può vedere lo Sketch.", + "publicVisibility": "Pubblico. Chiunque abbia il link può vedere lo sketch.", "pull": "Richiedi", "pullFirst": "Nel Cloud devi prima effettuare il Pull per poi poter eseguire il Push.", - "pullSketch": "Richiedi lo Sketch", - "pullSketchMsg": "Richiedendo questo Sketch tramite il Cloud, lo stesso sovrascriverà quello presente in locale. Sei sicuro di dover continuare?", + "pullSketch": "Richiedi lo sketch", + "pullSketchMsg": "Richiedendo questo sketch tramite il cloud, lo stesso sovrascriverà quello presente in locale. Sei sicuro di voler continuare?", "push": "Push", - "pushSketch": "Invia lo Sketch", - "pushSketchMsg": "Questo è uno sketch pubblico. Prima di inviarlo, verifica che tutte le informazioni sensibili siano all'interno di arduino_secrets.h. Eventualmente puoi rendere lo sketch privato dal Pannello di Condivisione.", + "pushSketch": "Invia lo sketch", + "pushSketchMsg": "Questo è uno sketch pubblico. Prima di inviarlo, verifica che tutte le informazioni sensibili siano all'interno di arduino_secrets.h. Eventualmente, puoi rendere lo sketch privato dal pannello della condivisione.", "remote": "Remoto", "share": "Condividi...", "shareSketch": "Condividi sketch", @@ -123,8 +123,8 @@ "signInToCloud": "Effettua la registrazione su Arduino Cloud", "signOut": "Disconnetti", "sync": "Sincronizza", - "syncEditSketches": "Sincronizza e modifica la tua raccolta di Sketches sul Cloud Arduino", - "visitArduinoCloud": "Visita Arduino Cloud per creare Cloud Sketch " + "syncEditSketches": "Sincronizza e modifica la tua raccolta degli sketch sul cloud di Arduino", + "visitArduinoCloud": "Visita il cloud di Arduino per creare gli sketch." }, "cloudSketch": { "alreadyExists": "Lo sketch remoto '{0}' è già presente.", @@ -217,7 +217,7 @@ "debuggingNotSupported": "Il debug non è supportato da '{0}'", "getDebugInfo": "Acquisizione delle informazioni di debug in corso...", "noPlatformInstalledFor": "La piattaforma non è ancora stata installata per '{0}'", - "optimizeForDebugging": "Ottimizzato per il Debug.", + "optimizeForDebugging": "Ottimizzato per il debug", "sketchIsNotCompiled": "Lo sketch '{0}' deve essere verificato prima di avviare una sessione di debug. Verificare lo sketch e avviare nuovamente il debug. Si desidera verificare lo sketch adesso?" }, "developer": { @@ -385,7 +385,7 @@ "editorFontSize": "Dimensione del carattere dell'editor", "editorQuickSuggestions": "Suggerimenti rapidi dell'editor", "enterAdditionalURLs": "Aggiungi degli URLs aggiuntivi, uno per ogni riga", - "files.inside.sketches": "Mostra i file all'interno degli Sketch", + "files.inside.sketches": "Mostra i file all'interno degli sketch", "ide.updateBaseUrl": "L'URL base da cui scaricare gli aggiornamenti. Il valore predefinito è 'https://downloads.arduino.cc/arduino-ide'", "ide.updateChannel": "Canale di rilascio per le versioni aggiornate. 'stable' è per le versioni stabili, 'nightly' è per l'ultima versione in sviluppo.", "interfaceScale": "Scalabilità dell'interfaccia", @@ -448,7 +448,7 @@ "archiveSketch": "Archivia sketch", "cantOpen": "Una cartella di nome \"{0}\" esiste già. Impossibile aprire lo sketch.", "compile": "Compilazione dello sketch in corso...", - "configureAndUpload": "Configura e Carica", + "configureAndUpload": "Configura e carica", "createdArchive": "Creato l'archivio '{0}'.", "doneCompiling": "Compilazione completata.", "doneUploading": "Caricamento terminato.", @@ -466,12 +466,12 @@ "noTrailingPeriod": "Il nome di un file non può terminare con un punto", "openFolder": "Apri Cartella", "openRecent": "Apri recenti", - "openSketchInNewWindow": "Apri lo sketch in una Nuova Finestra", + "openSketchInNewWindow": "Apri lo sketch in una nuova finestra", "reservedFilename": "'{0}' è il nome di un file riservato.", "saveFolderAs": "Salva la cartella sketch come...", "saveSketch": "Salva il tuo sketch per riaprirlo in seguito.", "saveSketchAs": "Salva la cartella dello sketch come...", - "showFolder": "Mostra la cartella dello Sketch", + "showFolder": "Mostra la cartella dello sketch", "sketch": "Sketch", "sketchAlreadyContainsThisFileError": "Lo sketch contiene già un file denominato '{0}'", "sketchAlreadyContainsThisFileMessage": "Impossibile salvare lo sketch \"{0}\" come \"{1}\". {2}", @@ -479,7 +479,7 @@ "titleLocalSketchbook": "Cartella degli sketch locali", "titleSketchbook": "Sketchbook", "upload": "Carica", - "uploadUsingProgrammer": "Carica tramite Programmatore", + "uploadUsingProgrammer": "Carica tramite programmatore", "uploading": "Caricamento in corso...", "userFieldsNotFoundError": "Non è possibile trovare i campi utente per connettere la scheda", "verify": "Verifica", @@ -487,7 +487,7 @@ }, "sketchbook": { "newCloudSketch": "Nuovo sketch remoto", - "newSketch": "Nuovo Sketch" + "newSketch": "Nuovo sketch" }, "theme": { "currentThemeNotFound": "Impossibile trovare il tema attualmente selezionato: {0}. Arduino IDE ha selezionato un tema integrato compatibile con quello mancante.", From 2f0414a5a1c52c24e14b4d9972647b3a7e8426a5 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Wed, 9 Apr 2025 13:58:47 +0700 Subject: [PATCH 86/87] fix: use `ElectronConnectionHandler` to connect ide updater services (#2697) --- .../arduino-electron-main-module.ts | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts b/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts index b6fd604e4..f1cd406ef 100644 --- a/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts +++ b/arduino-ide-extension/src/electron-main/arduino-electron-main-module.ts @@ -1,5 +1,5 @@ -import { ConnectionHandler } from '@theia/core/lib/common/messaging/handler'; -import { JsonRpcConnectionHandler } from '@theia/core/lib/common/messaging/proxy-factory'; +import { ElectronConnectionHandler } from '@theia/core/lib/electron-main/messaging/electron-connection-handler'; +import { RpcConnectionHandler } from '@theia/core/lib/common/messaging/proxy-factory'; import { ElectronMainWindowService } from '@theia/core/lib/electron-common/electron-main-window-service'; import { TheiaMainApi } from '@theia/core/lib/electron-main/electron-api-main'; import { @@ -33,18 +33,15 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { bind(IDEUpdaterImpl).toSelf().inSingletonScope(); bind(IDEUpdater).toService(IDEUpdaterImpl); bind(ElectronMainApplicationContribution).toService(IDEUpdater); - bind(ConnectionHandler) + bind(ElectronConnectionHandler) .toDynamicValue( (context) => - new JsonRpcConnectionHandler( - IDEUpdaterPath, - (client) => { - const server = context.container.get(IDEUpdater); - server.setClient(client); - client.onDidCloseConnection(() => server.disconnectClient(client)); - return server; - } - ) + new RpcConnectionHandler(IDEUpdaterPath, (client) => { + const server = context.container.get(IDEUpdater); + server.setClient(client); + client.onDidCloseConnection(() => server.disconnectClient(client)); + return server; + }) ) .inSingletonScope(); From 0f9f0d07b7d5ff0cdefda3e77eb6b5ce2854c4a8 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Wed, 9 Apr 2025 19:48:50 +0700 Subject: [PATCH 87/87] chore: switch to version 2.3.7 after the release (#2701) --- arduino-ide-extension/package.json | 2 +- electron-app/package.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 3d478a88e..ff9a09eff 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.6", + "version": "2.3.7", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { diff --git a/electron-app/package.json b/electron-app/package.json index 6a31d222a..774fe56bc 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.6", + "version": "2.3.7", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.57.0", "@theia/terminal": "1.57.0", "@theia/workspace": "1.57.0", - "arduino-ide-extension": "2.3.6" + "arduino-ide-extension": "2.3.7" }, "devDependencies": { "@theia/cli": "1.57.0", diff --git a/package.json b/package.json index f71303a0d..8b5356b49 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.6", + "version": "2.3.7", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA",