@@ -2,8 +2,8 @@ var path = require('path')
22var e2c = require ( 'electron-to-chromium/versions' )
33var fs = require ( 'fs' )
44
5- var agents = require ( 'caniuse-lite' ) . agents
6- var region = require ( 'caniuse-lite' ) . region
5+ var agents = require ( 'caniuse-lite/dist/unpacker/agents ' ) . agents
6+ var region = require ( 'caniuse-lite/dist/unpacker/region ' ) . default
77
88function normalize ( versions ) {
99 return versions . filter ( function ( version ) {
@@ -221,8 +221,8 @@ function browserslist (queries, opts) {
221221 selection = selection . slice ( 4 )
222222 }
223223
224- for ( var i in browserslist . queries ) {
225- var type = browserslist . queries [ i ]
224+ for ( var i = 0 ; i < QUERIES . length ; i ++ ) {
225+ var type = QUERIES [ i ]
226226 var match = selection . match ( type . regexp )
227227 if ( match ) {
228228 var args = [ context ] . concat ( match . slice ( 1 ) )
@@ -248,7 +248,7 @@ function browserslist (queries, opts) {
248248 var name = parts [ 0 ]
249249 var version = parts [ 1 ]
250250 if ( version === '0' ) {
251- return name + ' ' + browserslist . byName ( name ) . versions [ 0 ]
251+ return name + ' ' + byName ( name ) . versions [ 0 ]
252252 } else {
253253 return i
254254 }
@@ -329,16 +329,16 @@ browserslist.aliases = {
329329browserslist . versionAliases = { }
330330
331331// Get browser data by alias or case insensitive name
332- browserslist . byName = function ( name ) {
332+ function byName ( name ) {
333333 name = name . toLowerCase ( )
334334 name = browserslist . aliases [ name ] || name
335335 return browserslist . data [ name ]
336336}
337337
338338// Get browser data by alias or case insensitive name and throw error
339339// on unknown browser
340- browserslist . checkName = function ( name ) {
341- var data = browserslist . byName ( name )
340+ function checkName ( name ) {
341+ var data = byName ( name )
342342 if ( ! data ) throw new BrowserslistError ( 'Unknown browser ' + name )
343343 return data
344344}
@@ -462,14 +462,13 @@ browserslist.clearCaches = function () {
462462 configCache = { }
463463}
464464
465- browserslist . queries = {
466-
467- lastVersions : {
465+ var QUERIES = [
466+ {
468467 regexp : / ^ l a s t \s + ( \d + ) \s + v e r s i o n s ? $ / i,
469468 select : function ( context , versions ) {
470469 var selected = [ ]
471470 Object . keys ( agents ) . forEach ( function ( name ) {
472- var data = browserslist . byName ( name )
471+ var data = byName ( name )
473472 if ( ! data ) return
474473 var array = data . released . slice ( - versions )
475474
@@ -481,23 +480,21 @@ browserslist.queries = {
481480 return selected
482481 }
483482 } ,
484-
485- lastByBrowser : {
483+ {
486484 regexp : / ^ l a s t \s + ( \d + ) \s + ( \w + ) \s + v e r s i o n s ? $ / i,
487485 select : function ( context , versions , name ) {
488- var data = browserslist . checkName ( name )
486+ var data = checkName ( name )
489487 return data . released . slice ( - versions ) . map ( function ( v ) {
490488 return data . name + ' ' + v
491489 } )
492490 }
493491 } ,
494-
495- unreleased : {
492+ {
496493 regexp : / ^ u n r e l e a s e d \s + v e r s i o n s $ / i,
497494 select : function ( ) {
498495 var selected = [ ]
499496 Object . keys ( agents ) . forEach ( function ( name ) {
500- var data = browserslist . byName ( name )
497+ var data = byName ( name )
501498 if ( ! data ) return
502499 var array = data . versions . filter ( function ( v ) {
503500 return data . released . indexOf ( v ) === - 1
@@ -511,20 +508,18 @@ browserslist.queries = {
511508 return selected
512509 }
513510 } ,
514-
515- unreleasedByBrowser : {
511+ {
516512 regexp : / ^ u n r e l e a s e d \s + ( \w + ) \s + v e r s i o n s ? $ / i,
517513 select : function ( context , name ) {
518- var data = browserslist . checkName ( name )
514+ var data = checkName ( name )
519515 return data . versions . filter ( function ( v ) {
520516 return data . released . indexOf ( v ) === - 1
521517 } ) . map ( function ( v ) {
522518 return data . name + ' ' + v
523519 } )
524520 }
525521 } ,
526-
527- globalStatistics : {
522+ {
528523 regexp : / ^ ( > = ? ) \s * ( \d * \. ? \d + ) % $ / ,
529524 select : function ( context , sign , popularity ) {
530525 popularity = parseFloat ( popularity )
@@ -543,8 +538,7 @@ browserslist.queries = {
543538 return result
544539 }
545540 } ,
546-
547- customStatistics : {
541+ {
548542 regexp : / ^ ( > = ? ) \s * ( \d * \. ? \d + ) % \s + i n \s + m y \s + s t a t s $ / ,
549543 select : function ( context , sign , popularity ) {
550544 popularity = parseFloat ( popularity )
@@ -567,8 +561,7 @@ browserslist.queries = {
567561 return result
568562 }
569563 } ,
570-
571- countryStatistics : {
564+ {
572565 regexp : / ^ ( > = ? ) \s * ( \d * \. ? \d + ) % \s + i n \s + ( ( a l t - ) ? \w \w ) $ / ,
573566 select : function ( context , sign , popularity , place ) {
574567 popularity = parseFloat ( popularity )
@@ -596,8 +589,7 @@ browserslist.queries = {
596589 return result
597590 }
598591 } ,
599-
600- electronRange : {
592+ {
601593 regexp : / ^ e l e c t r o n \s + ( [ \d . ] + ) \s * - \s * ( [ \d . ] + ) $ / i,
602594 select : function ( context , from , to ) {
603595 if ( ! e2c [ from ] ) {
@@ -618,11 +610,10 @@ browserslist.queries = {
618610 } )
619611 }
620612 } ,
621-
622- range : {
613+ {
623614 regexp : / ^ ( \w + ) \s + ( [ \d . ] + ) \s * - \s * ( [ \d . ] + ) $ / i,
624615 select : function ( context , name , from , to ) {
625- var data = browserslist . checkName ( name )
616+ var data = checkName ( name )
626617 from = parseFloat ( normalizeVersion ( data , from ) || from )
627618 to = parseFloat ( normalizeVersion ( data , to ) || to )
628619
@@ -636,8 +627,7 @@ browserslist.queries = {
636627 } )
637628 }
638629 } ,
639-
640- electronVersions : {
630+ {
641631 regexp : / ^ e l e c t r o n \s * ( > = ? | < = ? ) \s * ( [ \d . ] + ) $ / i,
642632 select : function ( context , sign , version ) {
643633 return Object . keys ( e2c )
@@ -647,11 +637,10 @@ browserslist.queries = {
647637 } )
648638 }
649639 } ,
650-
651- versions : {
640+ {
652641 regexp : / ^ ( \w + ) \s * ( > = ? | < = ? ) \s * ( [ \d . ] + ) $ / ,
653642 select : function ( context , name , sign , version ) {
654- var data = browserslist . checkName ( name )
643+ var data = checkName ( name )
655644 var alias = normalizeVersion ( data , version )
656645 if ( alias ) {
657646 version = alias
@@ -663,22 +652,19 @@ browserslist.queries = {
663652 } )
664653 }
665654 } ,
666-
667- esr : {
655+ {
668656 regexp : / ^ ( f i r e f o x | f f | f x ) \s + e s r $ / i,
669657 select : function ( ) {
670658 return [ 'firefox 52' ]
671659 }
672660 } ,
673-
674- opMini : {
661+ {
675662 regexp : / ( o p e r a m i n i | o p _ m i n i ) \s + a l l / i,
676663 select : function ( ) {
677664 return [ 'op_mini all' ]
678665 }
679666 } ,
680-
681- electron : {
667+ {
682668 regexp : / ^ e l e c t r o n \s + ( [ \d . ] + ) $ / i,
683669 select : function ( context , version ) {
684670 var chrome = e2c [ version ]
@@ -689,12 +675,11 @@ browserslist.queries = {
689675 return [ 'chrome ' + chrome ]
690676 }
691677 } ,
692-
693- direct : {
678+ {
694679 regexp : / ^ ( \w + ) \s + ( t p | [ \d . ] + ) $ / i,
695680 select : function ( context , name , version ) {
696681 if ( / ^ t p $ / i. test ( version ) ) version = 'TP'
697- var data = browserslist . checkName ( name )
682+ var data = checkName ( name )
698683 var alias = normalizeVersion ( data , version )
699684 if ( alias ) {
700685 version = alias
@@ -715,15 +700,13 @@ browserslist.queries = {
715700 return [ data . name + ' ' + version ]
716701 }
717702 } ,
718-
719- defaults : {
703+ {
720704 regexp : / ^ d e f a u l t s $ / i,
721705 select : function ( ) {
722706 return browserslist ( browserslist . defaults )
723707 }
724708 }
725-
726- } ;
709+ ] ;
727710
728711// Get and convert Can I Use data
729712
0 commit comments