Expand description
Manifest file parsing for programming language ecosystems.
Provides a uniform ParsedManifest type and parsers for common package
manifest formats. See docs/manifest-support.md for full coverage status.
§Dispatch
parse_manifest(filename, content)— dispatches by exact filenameparse_manifest_by_extension(ext, content)— for wildcard-named files (.nimble,.cabal,.csproj,.rockspec)
§Convenience helpers
go_module(content)— extract module info fromgo.modnpm_entry_point(content)— extract entry point frompackage.json
Re-exports§
pub use go_mod::GoModule;pub use npm::npm_entry_point;
Modules§
- cabal
- Parser for
*.cabalfiles (Haskell/Cabal). - cabal_
project - Parser for
cabal.projectfiles (Haskell/Cabal). - cargo
- Parser for
Cargo.tomlfiles (Rust/Cargo). - clojure
- Parsers for Clojure manifest files.
- common_
lisp - Parser for
*.asdfiles (Common Lisp/ASDF). - composer
- Parser for
composer.jsonfiles (PHP/Composer). - conan
- Parsers for Conan C/C++ package manifests.
- crystal
- Parser for
shard.ymlfiles (Crystal/Shards). - dub
- Parsers for Dub package manifests (D language).
- dune
- Parser for
dune-projectfiles (OCaml/Dune). - elm
- Parser for
elm.jsonfiles (Elm package manager). - erlang
- Parser for
rebar.configfiles (Erlang/rebar3). - flake
- Heuristic parser for
flake.nixfiles (Nix). - fortran_
fpm - Parser for
fpm.tomlfiles (Fortran Package Manager). - gemfile
- Parser for
Gemfilefiles (Ruby/Bundler). - gleam
- Parser for
gleam.tomlfiles (Gleam package manager). - go_mod
- Parser for
go.modfiles (Go modules). - gradle
- Parsers for Gradle build files.
- gradle_
libs - Parser for
gradle/libs.versions.tomlfiles (Gradle version catalog). - julia
- Parser for
Project.tomlfiles (Julia package manager). - maven
- Parser for
pom.xmlfiles (Java/Maven). - mix_exs
- Parser for
mix.exsfiles (Elixir/Hex). - nimble
- Parser for
*.nimblefiles (Nim/Nimble). - npm
- Parser for
package.jsonfiles (npm/Node.js). - nuget
- Parsers for NuGet package manifests (.NET).
- ocaml
- Parser for
*.opamfiles (OCaml/OPAM). - perl
- Parser for
cpanfilefiles (Perl/CPAN). - pip
- Parser for
requirements.txtfiles (pip). - pipfile
- Parser for
Pipfilefiles (Pipenv). - pubspec
- Parser for
pubspec.yamlfiles (Dart/Flutter). - purescript
- Parser for
spago.yamlfiles (PureScript/Spago). - pyproject
- Parser for
pyproject.tomlfiles (PEP 621 / Poetry). - r_
description - Parser for R
DESCRIPTIONfiles (CRAN/DCF format). - racket
- Parser for
info.rktfiles (Racket). - rockspec
- Parser for
*.rockspecfiles (Lua/LuaRocks). - sbt
- Parser for
build.sbtfiles (Scala/sbt). - setup_
cfg - Parser for
setup.cfgfiles (Python / setuptools). - setup_
py - Heuristic parser for
setup.pyfiles (Python/setuptools). - sexpr
- Minimal S-expression parser shared by the Dune, Common Lisp, and Racket manifest parsers.
- stack
- Parser for
stack.yamlfiles (Haskell/Stack). - swift_
pm - Heuristic parser for
Package.swiftfiles (Swift Package Manager). - vcpkg
- Parser for
vcpkg.jsonfiles (Microsoft vcpkg C/C++ package manager). - vlang
- Parser for
v.modfiles (V language/vpm). - zig
- Parser for
build.zig.zonfiles (Zig).
Structs§
- Declared
Dep - A declared dependency extracted from a manifest.
- Manifest
Error - Error returned by manifest parsers.
- Parsed
Manifest - Parsed contents of a project manifest file.
Enums§
- DepKind
- The kind of dependency relationship.
Traits§
- Manifest
Parser - A parser for a specific manifest file format.
Functions§
- go_
module - Parse go.mod content to extract module information.
- parse_
manifest - Parse a manifest file by exact filename, dispatching to the correct parser.
- parse_
manifest_ by_ extension - Parse a manifest file whose format is identified by file extension.