Skip to content

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

@LiranCohen

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions