From 96e5eae492e89e1f07856a55be864fd88ee169d9 Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Thu, 11 Dec 2025 15:19:55 +0100 Subject: [PATCH] feat: service installs library dependencies by default --- .../contributions/first-startup-installer.ts | 1 - .../browser/library/library-list-widget.ts | 32 +++++++++---------- .../src/common/protocol/library-service.ts | 2 +- .../src/node/library-service-impl.ts | 4 +-- 4 files changed, 18 insertions(+), 21 deletions(-) diff --git a/arduino-ide-extension/src/browser/contributions/first-startup-installer.ts b/arduino-ide-extension/src/browser/contributions/first-startup-installer.ts index f55c4fe1e..fb9827944 100644 --- a/arduino-ide-extension/src/browser/contributions/first-startup-installer.ts +++ b/arduino-ide-extension/src/browser/contributions/first-startup-installer.ts @@ -61,7 +61,6 @@ export class FirstStartupInstaller extends Contribution { try { await this.libraryService.install({ item: builtInLibrary, - installDependencies: true, noOverwrite: true, // We don't want to automatically replace custom libraries the user might already have in place installLocation: LibraryLocation.BUILTIN, }); 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 660bcec06..03b72fb4f 100644 --- a/arduino-ide-extension/src/browser/library/library-list-widget.ts +++ b/arduino-ide-extension/src/browser/library/library-list-widget.ts @@ -167,23 +167,21 @@ export class LibraryListWidget extends ListWidget< installDependencies = false; } - if (typeof installDependencies === 'boolean') { - await this.service.install({ - item, - version, - progressId, - installDependencies, - }); - this.messageService.info( - nls.localize( - 'arduino/library/installedSuccessfully', - 'Successfully installed library {0}:{1}', - item.name, - version - ), - { timeout: 3000 } - ); - } + await this.service.install({ + item, + version, + progressId, + noDeps: !installDependencies, + }); + this.messageService.info( + nls.localize( + 'arduino/library/installedSuccessfully', + 'Successfully installed library {0}:{1}', + item.name, + version + ), + { timeout: 3000 } + ); } protected override async uninstall({ diff --git a/arduino-ide-extension/src/common/protocol/library-service.ts b/arduino-ide-extension/src/common/protocol/library-service.ts index a45b9757c..7d4907cc6 100644 --- a/arduino-ide-extension/src/common/protocol/library-service.ts +++ b/arduino-ide-extension/src/common/protocol/library-service.ts @@ -27,7 +27,7 @@ export interface LibraryService item: LibraryPackage; progressId?: string; version?: Installable.Version; - installDependencies?: boolean; + noDeps?: boolean; noOverwrite?: boolean; installLocation?: LibraryLocation.BUILTIN | LibraryLocation.USER; }): Promise; diff --git a/arduino-ide-extension/src/node/library-service-impl.ts b/arduino-ide-extension/src/node/library-service-impl.ts index 1b447bb4c..30cd33fb6 100644 --- a/arduino-ide-extension/src/node/library-service-impl.ts +++ b/arduino-ide-extension/src/node/library-service-impl.ts @@ -306,7 +306,7 @@ export class LibraryServiceImpl item: LibraryPackage; progressId?: string; version?: Installable.Version; - installDependencies?: boolean; + noDeps?: boolean; noOverwrite?: boolean; installLocation?: LibraryLocation.BUILTIN | LibraryLocation.USER; }): Promise { @@ -321,7 +321,7 @@ export class LibraryServiceImpl req.setInstance(instance); req.setName(item.name); req.setVersion(version); - req.setNoDeps(!options.installDependencies); + req.setNoDeps(Boolean(options.noDeps)); req.setNoOverwrite(Boolean(options.noOverwrite)); if (options.installLocation === LibraryLocation.BUILTIN) { req.setInstallLocation(