/ node_modules / semver / range.bnf
range.bnf
 1  range-set  ::= range ( logical-or range ) *
 2  logical-or ::= ( ' ' ) * '||' ( ' ' ) *
 3  range      ::= hyphen | simple ( ' ' simple ) * | ''
 4  hyphen     ::= partial ' - ' partial
 5  simple     ::= primitive | partial | tilde | caret
 6  primitive  ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
 7  partial    ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
 8  xr         ::= 'x' | 'X' | '*' | nr
 9  nr         ::= '0' | [1-9] ( [0-9] ) *
10  tilde      ::= '~' partial
11  caret      ::= '^' partial
12  qualifier  ::= ( '-' pre )? ( '+' build )?
13  pre        ::= parts
14  build      ::= parts
15  parts      ::= part ( '.' part ) *
16  part       ::= nr | [-0-9A-Za-z]+