Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 26 additions & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ fn parse_deps_meta(input: &str) -> Res<&str, EntryItem<'_>> {

fn deps_meta_dep<'a>(input: &'a str, indent_top: &'a str) -> Res<&'a str, (&'a str, DepMeta)> {
let (input, indent_dep) = recognize((tag(indent_top), space1)).parse(input)?;
let (input, dep_name) = take_until(":")(input)?;
let (input, dep_name) = alt((double_quoted_text, take_until(":"))).parse(input)?;
let (input, _) = (tag(":"), line_ending).parse(input)?;
many1(|i| peers_meta_dep_prop(i, indent_dep))
.parse(input)
Expand Down Expand Up @@ -1428,6 +1428,31 @@ __metadata:
..Default::default()
}
);

let content = std::fs::read_to_string("tests/v2_deps_meta_quoted/yarn.lock").unwrap();
let res = parse_str(&content).unwrap();
assert_eq!(
res.entries[2],
Entry {
name: "@bufbuild/protoc-gen-es",
version: "1.10.1",
integrity: "ac75c370aeeac43e835e679e7cd8c7f3ed746648ab59fc2538dacf7702a918a7dc8d2d53babe08f43e505c01bdcd5cf4bc0d3d2ef23d50e0cede67c82a742489",
resolved: "@bufbuild/protoc-gen-es@npm:1.10.1",
dependencies: vec![
("@bufbuild/protobuf", "^1.10.1"),
("@bufbuild/protoplugin", "1.10.1"),
],
peer_dependencies: vec![("@bufbuild/protobuf", "1.10.1"),],
peer_dependencies_meta: vec![(
"@bufbuild/protobuf",
DepMeta {
optional: Some(true),
}
)],
descriptors: vec![("@bufbuild/protoc-gen-es", "npm:^1.8")],
..Default::default()
}
);
}

#[test]
Expand Down
53 changes: 53 additions & 0 deletions tests/v2_deps_meta_quoted/yarn.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# This file is generated by running "yarn install" inside your project.
# Manual changes might be lost - proceed with caution!

__metadata:
version: 4
cacheKey: 7

"@bufbuild/protobuf@npm:~1.0":
version: 1.0.0
resolution: "@bufbuild/protobuf@npm:1.0.0"
checksum: 6d66d214fb17ca63b5d6953eba1e74b2930a001291c82eb27a328edb6642b395bfa9cd9db54d72a71d6c3d79482ef6dd68282be51f2767db0200963cdb5c76d0
languageName: node
linkType: hard

"@bufbuild/protobuf@npm:~1.9":
version: 1.9.0
resolution: "@bufbuild/protobuf@npm:1.9.0"
checksum: 0626255f4d47e83343b4f84df27beaee53275275d1beffd67faffb4102e1a824050994ec214069a6e8e85ab80b3d6f7e3ef202939cc1ed04763512b0e7ab2e72
languageName: node
linkType: hard

"@bufbuild/protoc-gen-es@npm:^1.8":
version: 1.10.1
resolution: "@bufbuild/protoc-gen-es@npm:1.10.1"
dependencies:
"@bufbuild/protobuf": ^1.10.1
"@bufbuild/protoplugin": 1.10.1
peerDependencies:
"@bufbuild/protobuf": 1.10.1
peerDependenciesMeta:
"@bufbuild/protobuf":
optional: true
bin:
protoc-gen-es: bin/protoc-gen-es
checksum: ac75c370aeeac43e835e679e7cd8c7f3ed746648ab59fc2538dacf7702a918a7dc8d2d53babe08f43e505c01bdcd5cf4bc0d3d2ef23d50e0cede67c82a742489
languageName: node
linkType: hard

"@bufbuild/protoplugin@npm:nop@1.0.0":
version: 1.0.0
resolution: "nop@npm:1.0.0"
checksum: 0622d8c9f274fd0a3aad2a20e6af4a0bbda29fbf690edb9dc84047c991d80faaaa665116a7b76b413e6d3018eea4014a5887ba1a107f548693ef74e9685ebdb7
languageName: node
linkType: hard

"@chastelock/testcase@workspace:.":
version: 0.0.0-use.local
resolution: "@chastelock/testcase@workspace:."
dependencies:
"@bufbuild/protobuf": ~1.0
"@bufbuild/protoc-gen-es": ^1.8
languageName: unknown
linkType: soft