Skip to content

Bun Package Manager#4767

Open
socgr wants to merge 10 commits into
Devolutions:mainfrom
socgr:feat-bun-implementation
Open

Bun Package Manager#4767
socgr wants to merge 10 commits into
Devolutions:mainfrom
socgr:feat-bun-implementation

Conversation

@socgr
Copy link
Copy Markdown

@socgr socgr commented May 14, 2026

  • I have read the contributing
    guidelines
    , and I agree with the Code of
    Conduct
    .
  • Have you checked that there aren't other open pull requests
    for the same changes?
  • Have you tested that the committed code can be executed without errors?
  • Have you confirmed that this issue is caused by UniGetUI itself, and not by the package manager or the
    package involved?

    If the same issue can be reproduced outside UniGetUI with the relevant package manager or with the package itself,
    please report it there first. UniGetUI should only be used to track issues that are specific to UniGetUI's behavior or
    integration.

Implements a new Bun package manager for UniGetUI, covering search,
install, update, and uninstall of Bun-managed packages.

New project: UniGetUI.PackageEngine.Managers.Bun (~430 LOC)

  • Bun.cs — manager class (find, get updates, get installed, initialize)
  • Helpers/BunPkgDetailsHelper.cs — package details (description, versions, icon)
  • Helpers/BunPkgOperationHelper.cs — install/update/uninstall parameters

Integration:

  • Registered in PackageEngine.PEInterface (manager enum + native list)
  • Icon assigned in Interface.Enums (Bun = '\uE949')
  • Settings key BunPreferLatestVersions in SettingsEngine_Names
  • Manager toggled in Avalonia settings page (PackageManagerPage.axaml.cs)
  • Manager mapped in WinUI settings page (PackageManager.xaml.cs)
  • Both .slnx files include the new project

Tests: BunManagerTests.cs (36 tests)

  • Package search, installed packages, available updates
  • Border-line skipping in outdated-table parsing
  • Unicode package name handling
  • Local scope rejection (Bun enforces --global only)
  • Edge cases: empty results, single-package output, manifest requirements

All 233 package engine tests pass.


Closes #2519, #4303

Relates to #3506 , #4396

@Gauvino
Copy link
Copy Markdown

That would awesome !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] (Add bun support)

3 participants