From 130586e0f40b46d4beef4065fbc9e713ae5d712d Mon Sep 17 00:00:00 2001 From: Mark Sujew Date: Tue, 8 Mar 2022 14:59:30 +0100 Subject: [PATCH 1/2] Updated Theia to 1.25.0 Co-authored-by: Mark Sujew Co-authored-by: Akos Kitta Signed-off-by: Akos Kitta --- .github/workflows/build.yml | 5 +- .github/workflows/check-i18n-task.yml | 4 +- .github/workflows/i18n-nightly-push.yml | 4 +- .github/workflows/i18n-weekly-pull.yml | 4 +- arduino-ide-extension/package.json | 34 +- .../browser/arduino-frontend-contribution.tsx | 4 +- .../browser/arduino-ide-frontend-module.ts | 4 +- .../src/browser/arduino-preferences.ts | 4 +- .../auth/authentication-client-service.ts | 2 +- .../browser/boards/boards-auto-installer.ts | 2 +- .../boards/boards-config-dialog-widget.tsx | 4 +- .../browser/boards/boards-config-dialog.ts | 4 +- .../src/browser/boards/boards-config.tsx | 2 +- .../boards/boards-data-menu-updater.ts | 2 +- .../src/browser/boards/boards-data-store.ts | 2 +- .../src/browser/boards/boards-list-widget.ts | 2 +- .../browser/boards/boards-service-provider.ts | 2 +- .../browser/boards/boards-toolbar-item.tsx | 4 +- .../boards-widget-frontend-contribution.ts | 2 +- .../src/browser/components/ProgressBar.tsx | 2 +- .../src/browser/contributions/about.ts | 2 +- .../src/browser/contributions/add-file.ts | 2 +- .../browser/contributions/add-zip-library.ts | 2 +- .../browser/contributions/archive-sketch.ts | 2 +- .../browser/contributions/board-selection.ts | 2 +- .../browser/contributions/burn-bootloader.ts | 2 +- .../src/browser/contributions/close.ts | 4 +- .../src/browser/contributions/contribution.ts | 2 +- .../src/browser/contributions/debug.ts | 2 +- .../contributions/edit-contributions.ts | 8 +- .../src/browser/contributions/examples.ts | 2 +- .../src/browser/contributions/help.ts | 3 +- .../browser/contributions/include-library.ts | 3 +- .../src/browser/contributions/new-sketch.ts | 2 +- .../contributions/open-recent-sketch.ts | 2 +- .../contributions/open-sketch-external.ts | 2 +- .../src/browser/contributions/open-sketch.ts | 2 +- .../src/browser/contributions/quit-app.ts | 2 +- .../browser/contributions/save-as-sketch.ts | 2 +- .../src/browser/contributions/save-sketch.ts | 2 +- .../src/browser/contributions/settings.ts | 2 +- .../browser/contributions/sketch-control.ts | 2 +- .../src/browser/contributions/sketchbook.ts | 2 +- .../contributions/upload-certificate.ts | 2 +- .../browser/contributions/upload-firmware.ts | 2 +- .../browser/contributions/upload-sketch.ts | 2 +- .../browser/contributions/verify-sketch.ts | 2 +- .../src/browser/create/create-api.ts | 2 +- .../src/browser/create/create-fs-provider.ts | 2 +- .../certificate-add-new.tsx | 11 +- .../certificate-uploader/certificate-list.tsx | 2 +- .../certificate-uploader-component.tsx | 2 +- .../certificate-uploader-dialog.tsx | 8 +- .../select-board-components.tsx | 2 +- .../dialogs/cloud-share-sketch-dialog.tsx | 8 +- .../dialogs/do-not-ask-again-dialog.ts | 4 +- .../firmware-uploader-component.tsx | 2 +- .../firmware-uploader-dialog.tsx | 8 +- .../ide-updater/ide-updater-component.tsx | 4 +- .../ide-updater/ide-updater-dialog.tsx | 8 +- .../dialogs/settings/settings-component.tsx | 39 +- .../dialogs/settings/settings-dialog.tsx | 8 +- .../settings/{settings.tsx => settings.ts} | 32 +- .../user-fields/user-fields-component.tsx | 2 +- .../user-fields/user-fields-dialog.tsx | 8 +- .../src/browser/editor-mode.ts | 2 +- .../ide-updater/ide-updater-commands.ts | 2 +- .../browser/library/library-list-widget.ts | 4 +- .../library-widget-frontend-contribution.ts | 2 +- .../local-cache/local-cache-fs-provider.ts | 2 +- .../src/browser/notification-center.ts | 2 +- .../src/browser/response-service-impl.ts | 2 +- .../monitor/monitor-view-contribution.tsx | 4 +- .../browser/serial/monitor/monitor-widget.tsx | 4 +- .../monitor/serial-monitor-send-input.tsx | 2 +- .../monitor/serial-monitor-send-output.tsx | 2 +- .../plotter/plotter-frontend-contribution.ts | 2 +- .../serial/serial-connection-manager.ts | 2 +- .../src/browser/serial/serial-model.ts | 2 +- .../serial/serial-service-client-impl.ts | 2 +- .../src/browser/storage-wrapper.ts | 2 +- .../src/browser/style/index.css | 18 + .../browser/theia/core/application-shell.ts | 2 +- .../theia/core/browser-main-menu-factory.ts | 2 +- .../browser/theia/core/browser-menu-module.ts | 2 +- .../browser/theia/core/browser-menu-plugin.ts | 2 +- .../core/common-frontend-contribution.ts | 4 +- .../theia/core/connection-status-service.ts | 2 +- .../theia/core/frontend-application.ts | 22 +- .../src/browser/theia/core/keybindings.ts | 2 +- .../theia/core/shell-layout-restorer.ts | 2 +- .../browser/theia/core/tab-bar-decorator.ts | 4 +- .../browser/theia/core/tab-bar-toolbar.tsx | 4 +- .../src/browser/theia/core/tab-bars.ts | 2 +- .../debug/debug-configuration-manager.ts | 2 +- ...debug-frontend-application-contribution.ts | 2 +- .../browser/theia/debug/debug-hover-source.ts | 2 +- .../browser/theia/debug/debug-hover-widget.ts | 4 +- .../theia/debug/debug-session-manager.ts | 16 +- .../src/browser/theia/dialogs/dialogs.ts | 2 +- .../browser/theia/editor/editor-command.ts | 8 +- .../theia/editor/editor-contribution.ts | 2 +- .../theia/editor/editor-widget-factory.ts | 2 +- .../keymaps/keymaps-frontend-contribution.ts | 2 +- .../theia/markers/problem-contribution.ts | 2 +- .../browser/theia/markers/problem-manager.ts | 2 +- .../notification-center-component.tsx | 2 +- .../theia/messages/notification-component.tsx | 2 +- .../notification-toasts-component.tsx | 2 +- .../theia/messages/notifications-manager.ts | 2 +- .../theia/messages/notifications-renderer.tsx | 6 +- .../theia/monaco/monaco-editor-provider.ts | 14 +- .../monaco/monaco-status-bar-contribution.ts | 2 +- .../theia/monaco/monaco-text-model-service.ts | 2 +- .../theia/navigator/navigator-contribution.ts | 2 +- .../navigator/navigator-tab-bar-decorator.ts | 2 +- .../theia/outline/outline-contribution.ts | 2 +- .../browser/theia/output/output-channel.ts | 4 +- .../output/output-toolbar-contribution.ts | 2 +- .../src/browser/theia/output/output-widget.ts | 2 +- .../output-channel-registry-main.ts | 2 +- .../preferences/preferences-contribution.ts | 2 +- .../src/browser/theia/scm/scm-contribution.ts | 2 +- ...arch-in-workspace-frontend-contribution.ts | 2 +- .../search-in-workspace-result-tree-widget.ts | 2 +- .../search-in-workspace-widget.tsx | 4 +- .../theia/workspace/workspace-commands.ts | 2 +- .../workspace/workspace-delete-handler.ts | 2 +- .../workspace-frontend-contribution.ts | 2 +- .../theia/workspace/workspace-input-dialog.ts | 2 +- .../theia/workspace/workspace-service.ts | 2 +- .../workspace-variable-contribution.ts | 2 +- .../toolbar/arduino-toolbar-contribution.ts | 2 +- .../src/browser/toolbar/arduino-toolbar.tsx | 2 +- .../src/browser/widgets/arduino-select.tsx | 2 +- .../cloud-sketchbook/cloud-sketch-cache.ts | 2 +- .../cloud-sketchbook-composite-widget.tsx | 10 +- .../cloud-sketchbook-contributions.ts | 2 +- .../cloud-sketchbook-tree-container.ts | 2 +- .../cloud-sketchbook-tree-model.ts | 2 +- .../cloud-sketchbook-tree-widget.tsx | 4 +- .../cloud-sketchbook/cloud-sketchbook-tree.ts | 2 +- .../cloud-sketchbook-widget.ts | 2 +- .../cloud-sketchbook/cloud-user-status.tsx | 2 +- .../component-list/component-list-item.tsx | 2 +- .../widgets/component-list/component-list.tsx | 2 +- .../filterable-list-container.tsx | 2 +- .../component-list/list-item-renderer.tsx | 4 +- .../list-widget-frontend-contribution.ts | 2 +- .../widgets/component-list/list-widget.tsx | 8 +- .../widgets/component-list/search-bar.tsx | 2 +- .../sketchbook/sketchbook-tree-container.ts | 7 +- .../sketchbook/sketchbook-tree-model.ts | 2 +- .../sketchbook/sketchbook-tree-widget.tsx | 4 +- .../widgets/sketchbook/sketchbook-tree.ts | 2 +- .../sketchbook-widget-contribution.ts | 2 +- .../widgets/sketchbook/sketchbook-widget.tsx | 10 +- .../protocol/sketches-service-client-impl.ts | 3 +- .../electron-window-service.ts | 2 +- .../theia/core/electron-main-menu-factory.ts | 15 +- .../theia/core/electron-menu-contribution.ts | 2 +- .../theia/core/electron-menu-module.ts | 2 +- .../arduino-electron-main-module.ts | 2 +- .../src/electron-main/splash/splash-screen.ts | 32 +- .../splash/splash-service-impl.ts | 2 +- .../theia/electron-main-application.ts | 91 +- .../theia/electron-main-window-service.ts | 4 +- .../src/node/arduino-daemon-impl.ts | 2 +- .../node/arduino-firmware-uploader-impl.ts | 2 +- .../src/node/arduino-ide-backend-module.ts | 2 +- .../node/arduino-localization-contribution.ts | 2 +- .../src/node/auth/arduino-auth-provider.ts | 2 +- .../node/auth/authentication-service-impl.ts | 2 +- .../src/node/board-discovery.ts | 2 +- .../src/node/boards-service-impl.ts | 2 +- .../src/node/config-service-impl.ts | 2 +- .../src/node/core-client-provider.ts | 2 +- .../src/node/core-service-impl.ts | 2 +- .../src/node/examples-service-impl.ts | 2 +- .../src/node/executable-service-impl.ts | 2 +- .../src/node/grpc-client-provider.ts | 2 +- .../src/node/library-service-server-impl.ts | 2 +- .../src/node/node-filesystem-ext.ts | 2 +- .../src/node/notification-service-server.ts | 2 +- .../plotter/plotter-backend-contribution.ts | 2 +- .../node/serial/monitor-client-provider.ts | 2 +- .../src/node/serial/serial-service-impl.ts | 2 +- .../src/node/sketches-service-impl.ts | 2 +- .../node/theia/core/backend-application.ts | 2 +- .../env-variables/env-variables-server.ts | 2 +- .../src/node/theia/git/git-init.ts | 2 +- .../workspace/default-workspace-server.ts | 2 +- .../web-socket/web-socket-service-impl.ts | 2 +- .../browser/boards-auto-installer.test.ts | 2 +- arduino-ide-extension/tsconfig.json | 3 +- browser-app/package.json | 36 +- electron-app/package.json | 38 +- electron/build/scripts/patch-theia-preload.js | 16 + electron/build/template-package.json | 13 +- i18n/en.json | 689 +- package.json | 10 +- yarn.lock | 6545 +++++++++-------- 202 files changed, 4517 insertions(+), 3658 deletions(-) rename arduino-ide-extension/src/browser/dialogs/settings/{settings.tsx => settings.ts} (92%) create mode 100644 electron/build/scripts/patch-theia-preload.js diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 24a0b30aa..9ec10c273 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,10 +33,10 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Install Node.js 14.x + - name: Install Node.js 14.18.1 uses: actions/setup-node@v1 with: - node-version: '14.x' + node-version: '14.18.1' registry-url: 'https://registry.npmjs.org' - name: Install Python 3.x @@ -78,6 +78,7 @@ jobs: fi fi + npx node-gyp install 14.18.1 yarn --cwd ./electron/packager/ yarn --cwd ./electron/packager/ package diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index e8c01a8b6..b8a1a7805 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -25,10 +25,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 - - name: Install Node.js 14.x + - name: Install Node.js 14.18.1 uses: actions/setup-node@v2 with: - node-version: '14.x' + node-version: '14.18.1' registry-url: 'https://registry.npmjs.org' - name: Install dependencies diff --git a/.github/workflows/i18n-nightly-push.yml b/.github/workflows/i18n-nightly-push.yml index 670cf3184..b7640ae61 100644 --- a/.github/workflows/i18n-nightly-push.yml +++ b/.github/workflows/i18n-nightly-push.yml @@ -12,10 +12,10 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Install Node.js 14.x + - name: Install Node.js 14.18.1 uses: actions/setup-node@v2 with: - node-version: '14.x' + node-version: '14.18.1' registry-url: 'https://registry.npmjs.org' - name: Install dependencies diff --git a/.github/workflows/i18n-weekly-pull.yml b/.github/workflows/i18n-weekly-pull.yml index d6db2312c..d33a4036c 100644 --- a/.github/workflows/i18n-weekly-pull.yml +++ b/.github/workflows/i18n-weekly-pull.yml @@ -12,10 +12,10 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Install Node.js 14.x + - name: Install Node.js 14.18.1 uses: actions/setup-node@v2 with: - node-version: '14.x' + node-version: '14.18.1' registry-url: 'https://registry.npmjs.org' - name: Install dependencies diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 426665701..5db304aa6 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -22,23 +22,23 @@ }, "dependencies": { "@grpc/grpc-js": "^1.3.7", - "@theia/application-package": "1.22.1", - "@theia/core": "1.22.1", - "@theia/editor": "1.22.1", - "@theia/editor-preview": "1.22.1", - "@theia/electron": "1.22.1", - "@theia/filesystem": "1.22.1", - "@theia/git": "1.22.1", - "@theia/keymaps": "1.22.1", - "@theia/markers": "1.22.1", - "@theia/monaco": "1.22.1", - "@theia/navigator": "1.22.1", - "@theia/outline-view": "1.22.1", - "@theia/output": "1.22.1", - "@theia/preferences": "1.22.1", - "@theia/search-in-workspace": "1.22.1", - "@theia/terminal": "1.22.1", - "@theia/workspace": "1.22.1", + "@theia/application-package": "1.25.0", + "@theia/core": "1.25.0", + "@theia/editor": "1.25.0", + "@theia/editor-preview": "1.25.0", + "@theia/electron": "1.25.0", + "@theia/filesystem": "1.25.0", + "@theia/git": "1.25.0", + "@theia/keymaps": "1.25.0", + "@theia/markers": "1.25.0", + "@theia/monaco": "1.25.0", + "@theia/navigator": "1.25.0", + "@theia/outline-view": "1.25.0", + "@theia/output": "1.25.0", + "@theia/preferences": "1.25.0", + "@theia/search-in-workspace": "1.25.0", + "@theia/terminal": "1.25.0", + "@theia/workspace": "1.25.0", "@tippyjs/react": "^4.2.5", "@types/atob": "^2.1.2", "@types/auth0-js": "^9.14.0", diff --git a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx index 2d1040d7b..25e5d220a 100644 --- a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx +++ b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx @@ -1,5 +1,5 @@ -import { inject, injectable, postConstruct } from 'inversify'; -import * as React from 'react'; +import { inject, injectable, postConstruct } from '@theia/core/shared/inversify'; +import * as React from '@theia/core/shared/react'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import { BoardsService, 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 5ceae9179..355b4e8a9 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,5 @@ import '../../src/browser/style/index.css'; -import { ContainerModule } from 'inversify'; +import { 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'; @@ -673,6 +673,8 @@ 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); diff --git a/arduino-ide-extension/src/browser/arduino-preferences.ts b/arduino-ide-extension/src/browser/arduino-preferences.ts index ba6bc83c4..0aec020d5 100644 --- a/arduino-ide-extension/src/browser/arduino-preferences.ts +++ b/arduino-ide-extension/src/browser/arduino-preferences.ts @@ -1,4 +1,4 @@ -import { interfaces } from 'inversify'; +import { interfaces } from '@theia/core/shared/inversify'; import { createPreferenceProxy, PreferenceProxy, @@ -83,7 +83,7 @@ export const ArduinoConfigSchema: PreferenceSchema = { default: 'https://downloads.arduino.cc/arduino-ide', description: nls.localize( 'arduino/preferences/ide.updateBaseUrl', - `The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'` + "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'" ), }, 'arduino.board.certificates': { 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 2b0fb9cdf..fee235d58 100644 --- a/arduino-ide-extension/src/browser/auth/authentication-client-service.ts +++ b/arduino-ide-extension/src/browser/auth/authentication-client-service.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; 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'; 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 97fefb84d..6557ba84c 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 { injectable, inject } from 'inversify'; +import { injectable, inject } from '@theia/core/shared/inversify'; import { MessageService } from '@theia/core/lib/common/message-service'; import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; import { diff --git a/arduino-ide-extension/src/browser/boards/boards-config-dialog-widget.tsx b/arduino-ide-extension/src/browser/boards/boards-config-dialog-widget.tsx index a4e962546..80cbf49fe 100644 --- a/arduino-ide-extension/src/browser/boards/boards-config-dialog-widget.tsx +++ b/arduino-ide-extension/src/browser/boards/boards-config-dialog-widget.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { injectable, inject } from 'inversify'; +import * as React from '@theia/core/shared/react'; +import { injectable, inject } from '@theia/core/shared/inversify'; import { Emitter } from '@theia/core/lib/common/event'; import { ReactWidget, Message } from '@theia/core/lib/browser'; import { BoardsService } from '../../common/protocol/boards-service'; diff --git a/arduino-ide-extension/src/browser/boards/boards-config-dialog.ts b/arduino-ide-extension/src/browser/boards/boards-config-dialog.ts index 545e8067a..8bf143ab2 100644 --- a/arduino-ide-extension/src/browser/boards/boards-config-dialog.ts +++ b/arduino-ide-extension/src/browser/boards/boards-config-dialog.ts @@ -1,5 +1,5 @@ -import { injectable, inject, postConstruct } from 'inversify'; -import { Message } from '@phosphor/messaging'; +import { injectable, inject, postConstruct } from '@theia/core/shared/inversify'; +import { Message } from '@theia/core/shared/@phosphor/messaging'; import { DialogProps, Widget, DialogError } from '@theia/core/lib/browser'; import { AbstractDialog } from '../theia/dialogs/dialogs'; import { BoardsConfig } from './boards-config'; diff --git a/arduino-ide-extension/src/browser/boards/boards-config.tsx b/arduino-ide-extension/src/browser/boards/boards-config.tsx index 392710c6d..cd8ae9110 100644 --- a/arduino-ide-extension/src/browser/boards/boards-config.tsx +++ b/arduino-ide-extension/src/browser/boards/boards-config.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from '@theia/core/shared/react'; import { Event } from '@theia/core/lib/common/event'; import { notEmpty } from '@theia/core/lib/common/objects'; import { MaybePromise } from '@theia/core/lib/common/types'; diff --git a/arduino-ide-extension/src/browser/boards/boards-data-menu-updater.ts b/arduino-ide-extension/src/browser/boards/boards-data-menu-updater.ts index 5447427de..a3f2ec208 100644 --- a/arduino-ide-extension/src/browser/boards/boards-data-menu-updater.ts +++ b/arduino-ide-extension/src/browser/boards/boards-data-menu-updater.ts @@ -1,5 +1,5 @@ import * as PQueue from 'p-queue'; -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { CommandRegistry } from '@theia/core/lib/common/command'; import { MenuModelRegistry } from '@theia/core/lib/common/menu'; import { 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 d1a9de5d0..63255656a 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 { injectable, inject, named } from 'inversify'; +import { injectable, inject, named } from '@theia/core/shared/inversify'; import { ILogger } from '@theia/core/lib/common/logger'; import { deepClone } from '@theia/core/lib/common/objects'; import { Event, Emitter } from '@theia/core/lib/common/event'; diff --git a/arduino-ide-extension/src/browser/boards/boards-list-widget.ts b/arduino-ide-extension/src/browser/boards/boards-list-widget.ts index 81749ea91..da8a03875 100644 --- a/arduino-ide-extension/src/browser/boards/boards-list-widget.ts +++ b/arduino-ide-extension/src/browser/boards/boards-list-widget.ts @@ -1,4 +1,4 @@ -import { inject, injectable, postConstruct } from 'inversify'; +import { inject, injectable, postConstruct } from '@theia/core/shared/inversify'; import { BoardsPackage, BoardsService, 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 190d5de3a..686e5e004 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 { injectable, inject } from 'inversify'; +import { injectable, inject } from '@theia/core/shared/inversify'; import { Emitter } from '@theia/core/lib/common/event'; import { ILogger } from '@theia/core/lib/common/logger'; import { CommandService } from '@theia/core/lib/common/command'; diff --git a/arduino-ide-extension/src/browser/boards/boards-toolbar-item.tsx b/arduino-ide-extension/src/browser/boards/boards-toolbar-item.tsx index 622e8fa50..b94e2a620 100644 --- a/arduino-ide-extension/src/browser/boards/boards-toolbar-item.tsx +++ b/arduino-ide-extension/src/browser/boards/boards-toolbar-item.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; +import * as React from '@theia/core/shared/react'; +import * as ReactDOM from '@theia/core/shared/react-dom'; import { CommandRegistry } from '@theia/core/lib/common/command'; import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Port } from '../../common/protocol'; diff --git a/arduino-ide-extension/src/browser/boards/boards-widget-frontend-contribution.ts b/arduino-ide-extension/src/browser/boards/boards-widget-frontend-contribution.ts index 21aed8310..815148714 100644 --- a/arduino-ide-extension/src/browser/boards/boards-widget-frontend-contribution.ts +++ b/arduino-ide-extension/src/browser/boards/boards-widget-frontend-contribution.ts @@ -1,4 +1,4 @@ -import { injectable } from 'inversify'; +import { injectable } from '@theia/core/shared/inversify'; import { BoardsListWidget } from './boards-list-widget'; import { BoardsPackage } from '../../common/protocol/boards-service'; import { ListWidgetFrontendContribution } from '../widgets/component-list/list-widget-frontend-contribution'; diff --git a/arduino-ide-extension/src/browser/components/ProgressBar.tsx b/arduino-ide-extension/src/browser/components/ProgressBar.tsx index f91c9f991..ea70508c3 100644 --- a/arduino-ide-extension/src/browser/components/ProgressBar.tsx +++ b/arduino-ide-extension/src/browser/components/ProgressBar.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from '@theia/core/shared/react'; export type ProgressBarProps = { percent?: number; diff --git a/arduino-ide-extension/src/browser/contributions/about.ts b/arduino-ide-extension/src/browser/contributions/about.ts index 3f93adba2..761352e55 100644 --- a/arduino-ide-extension/src/browser/contributions/about.ts +++ b/arduino-ide-extension/src/browser/contributions/about.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import * as moment from 'moment'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import { isOSX, isWindows } from '@theia/core/lib/common/os'; diff --git a/arduino-ide-extension/src/browser/contributions/add-file.ts b/arduino-ide-extension/src/browser/contributions/add-file.ts index 94316a1f4..a6abaf78b 100644 --- a/arduino-ide-extension/src/browser/contributions/add-file.ts +++ b/arduino-ide-extension/src/browser/contributions/add-file.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import { ArduinoMenus } from '../menu/arduino-menus'; import { diff --git a/arduino-ide-extension/src/browser/contributions/add-zip-library.ts b/arduino-ide-extension/src/browser/contributions/add-zip-library.ts index 9ae4c1a5e..d3f9a6e93 100644 --- a/arduino-ide-extension/src/browser/contributions/add-zip-library.ts +++ b/arduino-ide-extension/src/browser/contributions/add-zip-library.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import URI from '@theia/core/lib/common/uri'; import { ConfirmDialog } from '@theia/core/lib/browser/dialogs'; diff --git a/arduino-ide-extension/src/browser/contributions/archive-sketch.ts b/arduino-ide-extension/src/browser/contributions/archive-sketch.ts index 2ab62dc22..698264fe7 100644 --- a/arduino-ide-extension/src/browser/contributions/archive-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/archive-sketch.ts @@ -1,4 +1,4 @@ -import { injectable } from 'inversify'; +import { injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import * as dateFormat from 'dateformat'; import URI from '@theia/core/lib/common/uri'; diff --git a/arduino-ide-extension/src/browser/contributions/board-selection.ts b/arduino-ide-extension/src/browser/contributions/board-selection.ts index 9dc085fbf..0a4669955 100644 --- a/arduino-ide-extension/src/browser/contributions/board-selection.ts +++ b/arduino-ide-extension/src/browser/contributions/board-selection.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import { MenuModelRegistry } from '@theia/core/lib/common/menu'; import { diff --git a/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts b/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts index 75aaef8fa..e7267ae34 100644 --- a/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts +++ b/arduino-ide-extension/src/browser/contributions/burn-bootloader.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { OutputChannelManager } from '@theia/output/lib/browser/output-channel'; import { CoreService } from '../../common/protocol'; import { ArduinoMenus } from '../menu/arduino-menus'; diff --git a/arduino-ide-extension/src/browser/contributions/close.ts b/arduino-ide-extension/src/browser/contributions/close.ts index 1b335fa82..f27b832cf 100644 --- a/arduino-ide-extension/src/browser/contributions/close.ts +++ b/arduino-ide-extension/src/browser/contributions/close.ts @@ -1,5 +1,5 @@ -import { inject, injectable } from 'inversify'; -import { toArray } from '@phosphor/algorithm'; +import { inject, injectable } from '@theia/core/shared/inversify'; +import { toArray } from '@theia/core/shared/@phosphor/algorithm'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import { MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor'; import { EditorManager } from '@theia/editor/lib/browser/editor-manager'; diff --git a/arduino-ide-extension/src/browser/contributions/contribution.ts b/arduino-ide-extension/src/browser/contributions/contribution.ts index ee65185c0..8f7ff5ba7 100644 --- a/arduino-ide-extension/src/browser/contributions/contribution.ts +++ b/arduino-ide-extension/src/browser/contributions/contribution.ts @@ -1,4 +1,4 @@ -import { inject, injectable, interfaces } from 'inversify'; +import { inject, injectable, interfaces } from '@theia/core/shared/inversify'; import URI from '@theia/core/lib/common/uri'; import { ILogger } from '@theia/core/lib/common/logger'; import { Saveable } from '@theia/core/lib/browser/saveable'; diff --git a/arduino-ide-extension/src/browser/contributions/debug.ts b/arduino-ide-extension/src/browser/contributions/debug.ts index a67f832e9..0a2614ad4 100644 --- a/arduino-ide-extension/src/browser/contributions/debug.ts +++ b/arduino-ide-extension/src/browser/contributions/debug.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { Event, Emitter } from '@theia/core/lib/common/event'; import { HostedPluginSupport } from '@theia/plugin-ext/lib/hosted/browser/hosted-plugin'; import { ArduinoToolbar } from '../toolbar/arduino-toolbar'; diff --git a/arduino-ide-extension/src/browser/contributions/edit-contributions.ts b/arduino-ide-extension/src/browser/contributions/edit-contributions.ts index 9d6e95234..3fee31490 100644 --- a/arduino-ide-extension/src/browser/contributions/edit-contributions.ts +++ b/arduino-ide-extension/src/browser/contributions/edit-contributions.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +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 { PreferenceService } from '@theia/core/lib/browser/preferences/preference-service'; @@ -12,6 +12,8 @@ import { } 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 @@ -250,10 +252,10 @@ ${value} }); } - protected async current(): Promise { + protected async current(): Promise { return ( this.codeEditorService.getFocusedCodeEditor() || - this.codeEditorService.getActiveCodeEditor() + this.codeEditorService.getActiveCodeEditor() || undefined ); } diff --git a/arduino-ide-extension/src/browser/contributions/examples.ts b/arduino-ide-extension/src/browser/contributions/examples.ts index 9fd045c3b..7a0e04daa 100644 --- a/arduino-ide-extension/src/browser/contributions/examples.ts +++ b/arduino-ide-extension/src/browser/contributions/examples.ts @@ -1,5 +1,5 @@ import * as PQueue from 'p-queue'; -import { inject, injectable, postConstruct } from 'inversify'; +import { inject, injectable, postConstruct } from '@theia/core/shared/inversify'; import { CommandHandler } from '@theia/core/lib/common/command'; import { MenuPath, diff --git a/arduino-ide-extension/src/browser/contributions/help.ts b/arduino-ide-extension/src/browser/contributions/help.ts index 23594d331..63c3da323 100644 --- a/arduino-ide-extension/src/browser/contributions/help.ts +++ b/arduino-ide-extension/src/browser/contributions/help.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor'; import { EditorManager } from '@theia/editor/lib/browser/editor-manager'; import { WindowService } from '@theia/core/lib/browser/window/window-service'; @@ -15,6 +15,7 @@ import { import { nls } from '@theia/core/lib/common'; import { IDEUpdaterCommands } from '../ide-updater/ide-updater-commands'; import { ElectronCommands } from '@theia/core/lib/electron-browser/menu/electron-menu-contribution'; +import * as monaco from '@theia/monaco-editor-core'; @injectable() export class Help extends Contribution { diff --git a/arduino-ide-extension/src/browser/contributions/include-library.ts b/arduino-ide-extension/src/browser/contributions/include-library.ts index 77f6bcf39..f8f07e7a9 100644 --- a/arduino-ide-extension/src/browser/contributions/include-library.ts +++ b/arduino-ide-extension/src/browser/contributions/include-library.ts @@ -1,5 +1,5 @@ import * as PQueue from 'p-queue'; -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import URI from '@theia/core/lib/common/uri'; import { MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor'; import { EditorManager } from '@theia/editor/lib/browser'; @@ -16,6 +16,7 @@ import { BoardsServiceProvider } from '../boards/boards-service-provider'; import { SketchContribution, Command, CommandRegistry } from './contribution'; import { NotificationCenter } from '../notification-center'; import { nls } from '@theia/core/lib/common'; +import * as monaco from '@theia/monaco-editor-core'; @injectable() export class IncludeLibrary extends SketchContribution { diff --git a/arduino-ide-extension/src/browser/contributions/new-sketch.ts b/arduino-ide-extension/src/browser/contributions/new-sketch.ts index fa4e6686e..bc6cdcf14 100644 --- a/arduino-ide-extension/src/browser/contributions/new-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/new-sketch.ts @@ -1,5 +1,5 @@ import { nls } from '@theia/core/lib/common'; -import { injectable } from 'inversify'; +import { injectable } from '@theia/core/shared/inversify'; import { ArduinoMenus } from '../menu/arduino-menus'; import { ArduinoToolbar } from '../toolbar/arduino-toolbar'; import { diff --git a/arduino-ide-extension/src/browser/contributions/open-recent-sketch.ts b/arduino-ide-extension/src/browser/contributions/open-recent-sketch.ts index 468aef749..d5f4ddbcc 100644 --- a/arduino-ide-extension/src/browser/contributions/open-recent-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/open-recent-sketch.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { WorkspaceServer } from '@theia/workspace/lib/common/workspace-protocol'; import { Disposable, diff --git a/arduino-ide-extension/src/browser/contributions/open-sketch-external.ts b/arduino-ide-extension/src/browser/contributions/open-sketch-external.ts index 976902588..4a753082a 100644 --- a/arduino-ide-extension/src/browser/contributions/open-sketch-external.ts +++ b/arduino-ide-extension/src/browser/contributions/open-sketch-external.ts @@ -1,4 +1,4 @@ -import { injectable } from 'inversify'; +import { injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import URI from '@theia/core/lib/common/uri'; import { ArduinoMenus } from '../menu/arduino-menus'; diff --git a/arduino-ide-extension/src/browser/contributions/open-sketch.ts b/arduino-ide-extension/src/browser/contributions/open-sketch.ts index 879ab144f..fefbbbb6c 100644 --- a/arduino-ide-extension/src/browser/contributions/open-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/open-sketch.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import { MaybePromise } from '@theia/core/lib/common/types'; import { Widget, ContextMenuRenderer } from '@theia/core/lib/browser'; diff --git a/arduino-ide-extension/src/browser/contributions/quit-app.ts b/arduino-ide-extension/src/browser/contributions/quit-app.ts index c0e784726..d12e5fdfa 100644 --- a/arduino-ide-extension/src/browser/contributions/quit-app.ts +++ b/arduino-ide-extension/src/browser/contributions/quit-app.ts @@ -1,4 +1,4 @@ -import { injectable } from 'inversify'; +import { injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import { isOSX } from '@theia/core/lib/common/os'; import { diff --git a/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts b/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts index 7a683a58d..cafb51b29 100644 --- a/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import * as remote from '@theia/core/electron-shared/@electron/remote'; import * as dateFormat from 'dateformat'; import { ArduinoMenus } from '../menu/arduino-menus'; diff --git a/arduino-ide-extension/src/browser/contributions/save-sketch.ts b/arduino-ide-extension/src/browser/contributions/save-sketch.ts index 5dddcffa1..2792fd8eb 100644 --- a/arduino-ide-extension/src/browser/contributions/save-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/save-sketch.ts @@ -1,4 +1,4 @@ -import { injectable } from 'inversify'; +import { injectable } from '@theia/core/shared/inversify'; import { CommonCommands } from '@theia/core/lib/browser/common-frontend-contribution'; import { ArduinoMenus } from '../menu/arduino-menus'; import { ArduinoToolbar } from '../toolbar/arduino-toolbar'; diff --git a/arduino-ide-extension/src/browser/contributions/settings.ts b/arduino-ide-extension/src/browser/contributions/settings.ts index 912b33eb8..a6321c511 100644 --- a/arduino-ide-extension/src/browser/contributions/settings.ts +++ b/arduino-ide-extension/src/browser/contributions/settings.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { Command, MenuModelRegistry, diff --git a/arduino-ide-extension/src/browser/contributions/sketch-control.ts b/arduino-ide-extension/src/browser/contributions/sketch-control.ts index 38bc33fe3..fa4974ce3 100644 --- a/arduino-ide-extension/src/browser/contributions/sketch-control.ts +++ b/arduino-ide-extension/src/browser/contributions/sketch-control.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { CommonCommands } from '@theia/core/lib/browser/common-frontend-contribution'; import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell'; import { WorkspaceCommands } from '@theia/workspace/lib/browser'; diff --git a/arduino-ide-extension/src/browser/contributions/sketchbook.ts b/arduino-ide-extension/src/browser/contributions/sketchbook.ts index a5f691974..2b57cb171 100644 --- a/arduino-ide-extension/src/browser/contributions/sketchbook.ts +++ b/arduino-ide-extension/src/browser/contributions/sketchbook.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { CommandHandler } from '@theia/core/lib/common/command'; import { CommandRegistry, MenuModelRegistry } from './contribution'; import { ArduinoMenus } from '../menu/arduino-menus'; diff --git a/arduino-ide-extension/src/browser/contributions/upload-certificate.ts b/arduino-ide-extension/src/browser/contributions/upload-certificate.ts index 0a4f9be39..b57f8d036 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-certificate.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-certificate.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { Command, MenuModelRegistry, diff --git a/arduino-ide-extension/src/browser/contributions/upload-firmware.ts b/arduino-ide-extension/src/browser/contributions/upload-firmware.ts index 43af8b14f..8b3f4f94f 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-firmware.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-firmware.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { Command, MenuModelRegistry, diff --git a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts index df196cb7f..1a198d4b1 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts @@ -1,4 +1,4 @@ -import { inject, injectable, postConstruct } from 'inversify'; +import { inject, injectable, postConstruct } from '@theia/core/shared/inversify'; import { Emitter } from '@theia/core/lib/common/event'; import { BoardUserField, CoreService } from '../../common/protocol'; import { ArduinoMenus, PlaceholderMenuNode } from '../menu/arduino-menus'; diff --git a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts index 898953ae8..4ebc5cff0 100644 --- a/arduino-ide-extension/src/browser/contributions/verify-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/verify-sketch.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import { Emitter } from '@theia/core/lib/common/event'; import { CoreService } from '../../common/protocol'; import { ArduinoMenus } from '../menu/arduino-menus'; diff --git a/arduino-ide-extension/src/browser/create/create-api.ts b/arduino-ide-extension/src/browser/create/create-api.ts index 77090071a..19fa98ddc 100644 --- a/arduino-ide-extension/src/browser/create/create-api.ts +++ b/arduino-ide-extension/src/browser/create/create-api.ts @@ -1,4 +1,4 @@ -import { injectable, inject } from 'inversify'; +import { injectable, inject } from '@theia/core/shared/inversify'; import * as createPaths from './create-paths'; import { posix } from './create-paths'; import { AuthenticationClientService } from '../auth/authentication-client-service'; 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 091ebc979..0d0d1ecb3 100644 --- a/arduino-ide-extension/src/browser/create/create-fs-provider.ts +++ b/arduino-ide-extension/src/browser/create/create-fs-provider.ts @@ -1,4 +1,4 @@ -import { inject, injectable } from 'inversify'; +import { inject, injectable } from '@theia/core/shared/inversify'; import URI from '@theia/core/lib/common/uri'; import { Event } from '@theia/core/lib/common/event'; import { diff --git a/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-add-new.tsx b/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-add-new.tsx index 2cb3e3253..e1084e17a 100644 --- a/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-add-new.tsx +++ b/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-add-new.tsx @@ -1,5 +1,5 @@ import { nls } from '@theia/core/lib/common'; -import * as React from 'react'; +import * as React from '@theia/core/shared/react'; export const CertificateAddComponent = ({ addCertificate, @@ -8,9 +8,12 @@ export const CertificateAddComponent = ({ }): React.ReactElement => { const [value, setValue] = React.useState(''); - const handleChange = React.useCallback((event) => { - setValue(event.target.value); - }, []); + const handleChange = React.useCallback( + (event: React.ChangeEvent) => { + setValue(event.target.value); + }, + [] + ); return (
- {this.state.languages.map((label) => ( - - ))} + {this.state.languages.map((label) => + this.toSelectOptions(label) + )} ( @@ -275,7 +276,7 @@ export class SettingsComponent extends React.Component<