JSPM

@double_seven/swpm

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q82032F
  • License MIT

A winget-based Windows software package manager CLI with batch upgrade, export, and sync support

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@double_seven/swpm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    swpm

    A CLI wrapper around winget that makes managing Windows software less painful. Interactive upgrades, config-based sync, no more copy-pasting long package IDs.

    简体中文 | 繁體中文 | 日本語 | 한국어

    Features

    • List installed packages
    • Search the winget repository
    • Install and uninstall packages (uninstall also supports interactive multi-select)
    • Upgrade packages interactively (pick what you want with checkboxes)
    • Export your setup to a YAML file
    • Sync — install everything from a config file on a new machine

    Requirements

    Installation

    npm install -g @double_seven/swpm

    Windows only. Installation will fail on macOS and Linux — swpm wraps winget, which is part of Windows.

    Usage

    swpm list                          # show installed packages
    swpm search vscode                 # search for a package
    swpm install 7zip.7zip             # install by package ID
    swpm uninstall 7zip.7zip           # uninstall by package ID
    swpm uninstall                     # interactive uninstall (multi-select, unchecked by default)
    swpm upgrade                       # interactive checkbox upgrade
    swpm upgrade --all                 # upgrade everything
    swpm upgrade 7zip.7zip             # upgrade a single package
    swpm export                        # export to ./swpm-packages.yaml
    swpm export ./my-config.yaml       # export to a custom path
    swpm sync ./my-config.yaml         # install missing packages
    swpm lang                          # change display language

    Export & Sync

    Export saves your installed winget packages to a YAML file:

    packages:
      - 7zip.7zip
      - CoreyButler.NVMforWindows
      - Microsoft.VisualStudioCode

    Run swpm sync <file> on another machine to install everything from that file. Missing packages are installed automatically, already-installed ones are skipped.

    By default, the export selector pre-checks non-Microsoft packages and VS Code-related packages. Other Microsoft packages (OneDrive, .NET runtimes, Edge, etc.) are unchecked so you don't accidentally carry system components to another machine.

    Languages

    swpm lang           # interactive language selector
    SWPM_LANG=ja        # or set via environment variable

    Supported: English (default), 简体中文, 繁體中文, 日本語, 한국어.

    Fixing winget

    If winget stops working, run this in an administrator PowerShell window:

    Get-AppxPackage -AllUsers *DesktopAppInstaller* | Reset-AppxPackage

    License

    MIT