Add uv (Astral Python package manager) support

- Add uv package manager implementation following pip pattern
- Configure MITM proxy with CA bundle for PyPI packages
- Add shell integration (bash/zsh/fish/PowerShell)
- Conditional on --include-python flag
- Add 33 comprehensive E2E tests covering:
  - uv pip install/sync/compile commands
  - uv add for project dependencies
  - uv tool install for global tools
  - uv run --with for ephemeral dependencies
  - uv sync for project syncing
  - Malware blocking verification for all methods
- Update documentation and package.json
- Install uv in Docker test environment
This commit is contained in:
Reinier Criel 2025-11-25 14:10:20 -08:00
parent 5b6fe659c2
commit cab3a0aba3
14 changed files with 739 additions and 9 deletions

View file

@ -0,0 +1,19 @@
import { runUv } from "./runUvCommand.js";
/**
* @returns {import("../currentPackageManager.js").PackageManager}
*/
export function createUvPackageManager() {
return {
/**
* @param {string[]} args
*/
runCommand: (args) => {
// uv is always invoked as 'uv' - no invocation variations like pip
return runUv("uv", args);
},
// For uv, rely solely on MITM proxy to detect/deny downloads from PyPI.
isSupportedCommand: () => false,
getDependencyUpdatesForCommand: () => [],
};
}