#mod #gomod #require #go-mod

gomod-parser

简单go.mod解析器

3个版本

0.0.3 2024年4月7日
0.0.2 2024年1月21日
0.0.1 2024年1月17日

#681 in 编码

每月26次下载

Apache-2.0

19KB
379

gomod-parser

Build Status Crate MSRV

基于winnow的简单go.mod文件解析器。

示例

use gomod_parser::{GoMod, Module, ModuleDependency};
use std::str::FromStr;

let input = r#"
module github.com/example

go 1.21

require golang.org/x/net v0.20.0
"#;

let go_mod = GoMod::from_str(input).unwrap();

assert_eq!(go_mod.module, "github.com/example".to_string());
assert_eq!(go_mod.go, Some("1.21".to_string()));
assert_eq!(
    go_mod.require,
    vec![ModuleDependency {
        module: Module {
            module_path: "golang.org/x/net".to_string(),
            version: "v0.20.0".to_string()
        },
        indirect: false
    }]
);

依赖项

~1MB
~16K SLoC