Skip to content

Additional shim adapters: Maven, Cargo/crates.io, PyPI #24

Description

@LiranCohen

Summary

Implement additional package manager shim adapters for Maven Central, Cargo/crates.io, and PyPI.

Context

The ShimAdapter plugin architecture is in place (PR #21). The README (line 243) calls out Maven, Cargo/crates.io, and PyPI as future adapters. Each would implement the ShimAdapter interface and register in src/daemon/adapters/index.ts.

Adapters to implement

  • Maven Central — serve JARs/POMs from DWN package records via Maven repository API
  • Cargo/crates.io — serve Rust crate tarballs via the crates.io registry API
  • PyPI — serve Python wheels/sdists via the PyPI Simple Repository API

Implementation pattern

Each adapter follows the same pattern as existing shims (npm, go, oci):

  1. Create src/shims/<ecosystem>/server.ts with request handler
  2. Create src/daemon/adapters/<ecosystem>.ts implementing ShimAdapter
  3. Register in src/daemon/adapters/index.ts
  4. Add tests in tests/shims.spec.ts or a new test file

These can be implemented independently — each is a self-contained PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions