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
- Windows 10 1809+ or Windows 11
- App Installer (winget) (pre-installed on Windows 11)
- Node.js >= 18
Installation
npm install -g @double_seven/swpmWindows 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 languageExport & Sync
Export saves your installed winget packages to a YAML file:
packages:
- 7zip.7zip
- CoreyButler.NVMforWindows
- Microsoft.VisualStudioCodeRun 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 variableSupported: English (default), 简体中文, 繁體中文, 日本語, 한국어.
Fixing winget
If winget stops working, run this in an administrator PowerShell window:
Get-AppxPackage -AllUsers *DesktopAppInstaller* | Reset-AppxPackageLicense
MIT