@@ -27,9 +27,9 @@ const packageDependencies = {
2727} ;
2828
2929const DEPENDENCY_INCLUSION_RE = / ^ [ + - ] \s * @ ? \S + \/ ? \S + / ;
30- const VERSION_COMPARISON_RE = / ^ ( @ ? \S \/ ? \S + ) @ ( > | > = ) ( \d + ( \. \d + ) { 0 , 2 } ( - [ \d \- a - z ] + ( \. [ \d \- a - z ] + ) * ) ? ( \+ [ \d \- a - z ] + ( \. [ \d \- a - z ] + ) * ) ? ) / i;
31- const PKG_VERSION_RE = / ^ ( > | > = ) ( \d + ( \. \d + ) { 0 , 2 } ( - [ \d - a - z] + ( \. [ \d - a - z] + ) * ) ? ( \+ [ \d - a - z] + ( \. [ \d - a - z] + ) * ) ? ) \s * $ / ;
32- const ISO8601_DATE = / ( \d { 4 } ) - ( \d { 2 } ) - ( \d { 2 } ) / ;
30+ const VERSION_COMPARISON_RE = / ^ (?< name > @ ? \S \/ ? \S + ) @ (?< condition > > | > = ) (?< version > \d + (?: \. \d + ) { 0 , 2 } (?: - [ \d \- a - z ] + (?: \. [ \d \- a - z ] + ) * ) ? (?: \+ [ \d \- a - z ] + (?: \. [ \d \- a - z ] + ) * ) ? ) / i;
31+ const PKG_VERSION_RE = / ^ (?< condition > > | > = ) (?< version > \d + (?: \. \d + ) { 0 , 2 } (?: - [ \d - a - z] + (?: \. [ \d - a - z] + ) * ) ? (?: \+ [ \d - a - z] + (?: \. [ \d - a - z] + ) * ) ? ) \s * $ / ;
32+ const ISO8601_DATE = / \d { 4 } - \d { 2 } - \d { 2 } / ;
3333
3434function parseTodoWithArguments ( string , { terms} ) {
3535 const lowerCaseString = string . toLowerCase ( ) ;
@@ -40,14 +40,14 @@ function parseTodoWithArguments(string, {terms}) {
4040 return false ;
4141 }
4242
43- const TODO_ARGUMENT_RE = / \[ ( [ ^ } ] + ) ] / i;
43+ const TODO_ARGUMENT_RE = / \[ (?< rawArguments > [ ^ } ] + ) ] / i;
4444 const result = TODO_ARGUMENT_RE . exec ( string ) ;
4545
4646 if ( ! result ) {
4747 return false ;
4848 }
4949
50- const rawArguments = result [ 1 ] ;
50+ const { rawArguments} = result . groups ;
5151
5252 return rawArguments
5353 . split ( ',' )
@@ -84,10 +84,10 @@ function parseArgument(argumentString) {
8484 }
8585
8686 if ( hasPackage && VERSION_COMPARISON_RE . test ( argumentString ) ) {
87- const result = VERSION_COMPARISON_RE . exec ( argumentString ) ;
88- const name = result [ 1 ] . trim ( ) ;
89- const condition = result [ 2 ] . trim ( ) ;
90- const version = result [ 3 ] . trim ( ) ;
87+ const { groups } = VERSION_COMPARISON_RE . exec ( argumentString ) ;
88+ const name = groups . name . trim ( ) ;
89+ const condition = groups . condition . trim ( ) ;
90+ const version = groups . version . trim ( ) ;
9191
9292 const hasEngineKeyword = name . indexOf ( 'engine:' ) === 0 ;
9393 const isNodeEngine = hasEngineKeyword && name === 'engine:node' ;
@@ -116,14 +116,13 @@ function parseArgument(argumentString) {
116116
117117 if ( hasPackage && PKG_VERSION_RE . test ( argumentString ) ) {
118118 const result = PKG_VERSION_RE . exec ( argumentString ) ;
119- const condition = result [ 1 ] . trim ( ) ;
120- const version = result [ 2 ] . trim ( ) ;
119+ const { condition, version} = result . groups ;
121120
122121 return {
123122 type : 'packageVersions' ,
124123 value : {
125- condition,
126- version
124+ condition : condition . trim ( ) ,
125+ version : version . trim ( )
127126 }
128127 } ;
129128 }
0 commit comments