This repository holds packages for writing tools that work directly with Go module mechanics. That is, it is for direct manipulation of Go modules themselves.

It is NOT about supporting general development tools that need to do things like load packages in module mode. That use case, where modules are incidental rather than the focus, should remain in x/tools, specifically x/tools/go/packages.

The specific case of loading packages should still be done by invoking the go command, which remains the single point of truth for package loading algorithms.

Expand ▾ Collapse ▴


Path Synopsis
gosumcheck Gosumcheck checks a go.sum file against a go.sum database server.
internal/lazyregexp Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
modfile Package modfile implements a parser and formatter for go.mod files.
module Package module defines the module.Version type along with support code.
semver Package semver implements comparison of semantic version strings.
sumdb Package sumdb implements the HTTP protocols for serving or accessing a module checksum database.
sumdb/dirhash Package dirhash defines hashes over directory trees.
sumdb/note Package note defines the notes signed by the Go module database server.
sumdb/storage Package storage defines storage interfaces for and a basic implementation of a checksum database.
sumdb/tlog Package tlog implements a tamper-evident log used in the Go module go.sum database server.
zip Package zip provides functions for creating and extracting module zip files.