synopkg 14.0.1

Consistent dependency versions in large JavaScript Monorepos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::specifier::Specifier;

#[test]
fn returns_correct_semver_numbers() {
  let cases: Vec<(&str, Option<&str>)> = vec![
    ("workspace:*", None),
    ("workspace:^", None),
    ("workspace:~", None),
    ("npm:foo", None),
    ("npm:foo@1.2.3", Some("1.2.3")),
    ("npm:@foo/bar@1.2.3", Some("1.2.3")),
    ("1.2.3", Some("1.2.3")),
    ("^1.2.3", Some("1.2.3")),
  ];
  for (value, expected) in cases {
    assert_eq!(Specifier::new(value).get_semver_number(), expected);
  }
}